Protocol
Smart contracts governing the compute marketplace.
Contracts
Nexus
0x2b0cC6058313801D5feb184a539e3a0C5A87a6a1
Source/task registry, provider registration
Controller
0x8661F4B9c30e07A04d795A192478dfD905625a1D
Task publishing and confirmation
Terminal
0xaEBC7b712D38Fc4d841f0732c21B8774339869D3
Provider-master wallet pairing
Vault
0xa5c582254AA313528898311362bc698b041580cC
Staking, payments, escrow
How They Work Together
Client publishes Source → Nexus
Provider registers → Nexus + Terminal
Client publishes Task → Nexus (payment → Vault)
Provider responds → Nexus
Task finalized → Vault releases paymentContract Reference
ABIs: Nexus | Controller | Terminal | Vault
Data Structures
SourceParams
client
address
Owner address
imageMetadataUrl
string
Docker config URL
imageEnvironments
uint8
Supported hardware (bitmask)
minPayment
uint256
Min OGPU per task
minAvailableLockup
uint256
Required provider stake
maxExpiryDuration
uint256
Max task duration
privacyEnabled
bool
Encrypt task data
deliveryMethod
uint8
0=FirstResponse, 1=Manual
TaskParams
source
address
Source contract
config
string
Task config JSON
expiryTime
uint256
Deadline timestamp
payment
uint256
OGPU payment
ResponseParams
task
address
Task contract
provider
address
Provider address
data
string
Result data
payment
uint256
Claimed payment
Source Lifecycle
Nexus
publishSource(SourceParams)
Deploy source
Nexus
updateSource(source, SourceParams)
Update source config
Nexus
register(source, provider, env)
Provider registers for source
Nexus
unregister(source, provider)
Provider unregisters
Task Lifecycle
Controller
publishTask(TaskParams)
Submit task with payment
Nexus
attempt(task, provider, suggestedPayment)
Provider signals intent
Nexus
submitResponse(ResponseParams)
Provider submits result
Controller
confirmResponse(response)
Required if deliveryMethod=Manual
Controller
cancelTask(task)
Cancel pending task
Wallet Pairing
Terminal
announceProvider(provider, amount)
Master announces provider address
Terminal
announceMaster(master)
Provider announces master address
Both must announce each other. Once matched, master can manage vault on provider's behalf.
Vault Operations
Vault
deposit(account)
Deposit OGPU
Vault
lock(amount)
Lock stake
Vault
unbond(amount)
Start unbonding
Vault
withdraw(amount)
Withdraw balance
Vault
claim()
Claim rewards
Interacting with the Protocol
Client App
Source and task publishing over UI
Provider Suite
Task execution
Management dApp
Registration, monitoring, vault management
SDK
Programmatic source and task publishing
Direct RPC
Full control via contract calls
All contracts are deployed on the OpenGPU Blockchain and can be interacted with using standard EVM tooling.
See How It Works for the task lifecycle.
Last updated