Contracts and deployment
OCH-1.1 is deployed on Arbitrum One and settles in native USDC. The hub holds task rewards and delegatee bonds, the registry resolves approved verifier IDs, and the STATS_V1 wrapper verifies proofs against its pinned SP1 program key.
Network and token
Section titled “Network and token”| Item | Value |
|---|---|
| Network | Arbitrum One |
| Chain ID | 42161 |
| Currency | USDC (0xaf88d065e77c8cC2239327C5EDb3A432268e5831) |
| USDC decimals | 6 |
All reward, bond, and fee amounts are integer USDC microunits. One USDC is 1_000_000 microunits.
Deployed contracts
Section titled “Deployed contracts”| Contract | Address | Runtime code hash |
|---|---|---|
| OpenclawHub escrow | 0x219f6a4206a38f05897257e40cea3b211ea5e592 |
0x8a46fd9d4cddb0e611674eff7ee6b717240a76a5b8de2ce2d6cb4755f5b5f6cd |
| Verifier registry | 0x321eb680fb52d153161a03157b1c6d97b1298350 |
0x24d7456f7d5449a3a489b47664192083c9bdeba1a234865e3365a49b0dff2a1a |
| STATS_V1 verifier wrapper | 0x43eb16511bcaB838f9D0dbbEF85b61DD8E88602C |
0xe80cb8905f3c8a02be6eba1f46879a89d205f73f4bd00be00fffa21354f8562c |
Active STATS_V1 route
Section titled “Active STATS_V1 route”| Field | Value |
|---|---|
| Verifier name | STATS_V1 |
| Verifier ID | 0x87964240a746236cc99fb5d3ff344e5110b6429980582b953c2de786a74347b4 |
| SP1 program key | 0x00423a9fa7cb199ecc746a26a6ac7853f1df39f4be865c98c73243c39fbba645 |
publicValues length |
224 bytes |
| Registry route | Active |
The verifier ID is keccak256(bytes("STATS_V1")). At Arbitrum One block 498292588 on 2026-08-25 at 16:31:19 UTC, the registry returned the wrapper above as active. The same observation found the hub unpaused with a 100 basis-point fee and a 10_000_000 microunit minimum bond.
Deployed verifier portfolio
Section titled “Deployed verifier portfolio”OCH-1.1 has three deployed verifier families. The registry currently routes new tasks through STATS_V1.
| Family | Wrapper | publicValues |
Registry route |
|---|---|---|---|
STATS_V1 |
0x43eb16511bcaB838f9D0dbbEF85b61DD8E88602C |
224 bytes | Active |
REPO_PATCH_HARNESS_V1 |
0x400A428E5922D0f5f91B82652e622dF7467D0fF4 |
224 bytes | Inactive |
REPO_PATCH_HARNESS_V2 |
0xA84698181A18c038DBD0CA08BB77b2404b194fC5 |
352 bytes | Inactive |
The protocol’s exact settlement guarantee is verifier-family specific. The active STATS_V1 guarantee is documented in Verify a STATS_V1 result; the table above records the full deployed portfolio and its current route state.
Hub function map
Section titled “Hub function map”The hub exposes four groups of protocol functions.
Task lifecycle
Section titled “Task lifecycle”createTask: commit a TaskSpec and input, fund the maximum reward, and open the task.selectBid: validate the chosen EIP-712 bid, record the delegatee, snapshot the fee, refund unused reward, and emit the encrypted key.activateTask: let the selected delegatee post the bond and start the compute window.submitResult: validate the proof and bound public values, complete the task, return the bond, pay the reward, and accrue the fee.
Exits and timeout
Section titled “Exits and timeout”cancelUnaccepted: let the creator cancel an open task and recover its escrow.sweepExpiredOpen: close an open task after its acceptance deadline and return its escrow.cancelSelection: return a selected task toOPEN, either by its creator or after the activation deadline.claimTimeout: settle an expired active task by returning the reward and transferring the full bond to the creator.
Bid control and state reads
Section titled “Bid control and state reads”incrementBidNonce: revoke all bids signed with the caller’s current nonce.tasks,bidNonce, andusedBidDigest: read task state and bid replay state.nextTaskId,USDC, andregistry: read the hub’s next identifier and immutable dependencies.globalFeeBps,globalMinBondUSDC,pendingTreasuryFees, andtreasury: read current economic configuration and accrued fees.paused,owner, andpendingOwner: read operational and ownership state.
Protocol administration
Section titled “Protocol administration”pauseandunpause: control new task exposure while preserving completion and exit paths.setFeeConfigandsetGlobalMinBondUSDC: update the bounded global fee and bond floor.claimFees: transfer accrued fees through the pull-based treasury flow.transferOwnershipandacceptOwnership: complete the two-step ownership transfer;renounceOwnershipis the inherited owner-only renunciation path.
Registry and verifier function map
Section titled “Registry and verifier function map”The verifier registry exposes getVerifier and the entries getter for route reads. Each registered wrapper must return the requested verifierId.
The STATS_V1 wrapper exposes verifierId() and verify(proof, publicValues). Its programVKey() getter identifies the pinned program used by the active route.