Events and limits
OCH-1.1 emits each state transition needed to reconstruct a task from Arbitrum One logs. The deployed hub also applies explicit calldata, timing, and economic bounds before it accepts state changes.
Task lifecycle events
Section titled “Task lifecycle events”| Event | Emitted by | Indexed fields | Data fields |
|---|---|---|---|
TaskCreated |
Hub | taskId, creator, specHash |
verifierId, verifier, inputHash, maxRewardUSDC, minBondUSDC, acceptDeadline, maxComputeWindowSec, createdAt, specURI |
TaskSelected |
Hub | taskId, creator, delegatee |
rewardUSDC, bondUSDC, feeBpsSnapshot, escrowedRewardUSDC, computeWindowSec, selectedAt, activateDeadline, encryptedKey |
TaskActivated |
Hub | taskId, delegatee |
activatedAt, submitDeadline |
TaskCompleted |
Hub | taskId, delegatee |
outputHash, complete publicValues, outputURI |
TaskSelectionCancelled |
Hub | taskId |
None |
TaskCancelled |
Hub | taskId, specHash |
None |
TaskTimedOut |
Hub | taskId |
slashedBondUSDC |
The lifecycle is:
OPEN -> SELECTED -> ACTIVE -> COMPLETEDOPEN -> CANCELLEDSELECTED -> OPENACTIVE -> TIMED_OUTSupporting events
Section titled “Supporting events”| Event | Emitted by | Indexed fields | Data fields |
|---|---|---|---|
BidNonceIncremented |
Hub | delegatee |
newNonce |
FeeConfigSet |
Hub | None | globalFeeBps, treasury |
GlobalMinBondSet |
Hub | None | globalMinBondUSDC |
FeesClaimed |
Hub | to |
amount |
Paused |
Hub | None | account |
Unpaused |
Hub | None | account |
OwnershipTransferStarted |
Hub or registry | previousOwner, newOwner |
None |
OwnershipTransferred |
Hub or registry | previousOwner, newOwner |
None |
VerifierSet |
Registry | verifierId |
verifier, active |
Filter VerifierSet by the verifier registry address. A hub-only log filter will not receive it.
Legacy hub constants
Section titled “Legacy hub constants”| Constant | Value | Unit and effect |
|---|---|---|
ARBITRUM_ONE_CHAIN_ID |
42161 |
The constructor requires the runtime chain ID to equal Arbitrum One. |
USDC_DECIMALS |
6 |
Rewards, bonds, and fees use USDC microunits. |
MAX_FEE_BPS |
2000 |
20%; bounds the configurable settlement fee. |
MAX_PROOF_LEN |
131072 |
Bytes; caps proof calldata at 128 KiB. |
MAX_PUBLIC_VALUES_LEN |
1024 |
Bytes; caps proof-bound public values. |
MAX_SPEC_URI_LEN |
200 |
Bytes; bounds the off-chain TaskSpec locator. |
MAX_OUTPUT_URI_LEN |
200 |
Bytes; bounds the off-chain result locator. |
MAX_ENCRYPTED_KEY_LEN |
1024 |
Bytes; bounds selection key-delivery data. |
MIN_COMPUTE_WINDOW_SEC |
300 |
Seconds; tasks and bids provide at least five minutes to compute. |
ACTIVATION_WINDOW_SEC |
900 |
Seconds; a selected delegatee has 15 minutes to activate. |
STATS_V1 adds an exact publicValues length of 224 bytes. The hub requires every publicValues payload to be at least 96 bytes and word-aligned, then binds its first three words to taskId, inputHash, and a non-zero outputHash before calling the verifier.
Historical legacy configuration
Section titled “Historical legacy configuration”At Arbitrum One block 498336646 on 2026-08-25 at 19:34:56 UTC:
| Setting | Observed value |
|---|---|
| Hub pause state | Unpaused |
| Global fee | 100 basis points (1%) |
| Global minimum bond | 10_000_000 microunits (10 USDC) |
| STATS_V1 registry route | Active |
| REPO_PATCH_HARNESS_V1 registry route | Inactive |
| REPO_PATCH_HARNESS_V2 registry route | Inactive |
STATS_V1 cannot settle while the SP1 v6.0.0 route is frozen, since 2026-10-09. At block 515499563 on 2026-10-16, both hubs still had a fee of 100 basis points and a minimum bond of 10_000_000 microunits. New software-work tasks settle through the separate hub and registry in the contract reference.
Settlement protections
Section titled “Settlement protections”- Task creation snapshots the verifier address and runtime code hash, so later registry changes do not alter that task’s proof route. Selection separately snapshots the chosen fee.
- EIP-712 bids bind the hub address, runtime chain ID, task commitments, validity deadline, nonce, and salt. Signature validation supports EOAs and ERC-1271 contract wallets.
- Selection refunds
escrowedRewardUSDC - rewardUSDCimmediately. A cancelled selection keeps the reduced current escrow, and OCH-1.1 provides no top-up call for a higher reselection. Activation is the point where the delegatee posts the bond and becomes timeout-slashable. - Completion requires the selected delegatee, an active task, an unexpired submit deadline, a valid proof, and public values bound to the task. State changes happen before payout.
- Pausing blocks
createTask,selectBid, andactivateTaskwhile leaving proof submission and refund, cancellation, and timeout paths available. - Treasury fees accrue on successful completion and move only through
claimFees.