VORQ Docs

Overview

What the VORQ contracts on Base do, who uses them, and where to go next.

VORQ is a compute job marketplace settled on Base. A client posts a signed order, a registered provider claims it against USDC escrow, and settlement pays out against metered usage. Escrow is pulled with an EIP-3009 receiveWithAuthorization the client signed when posting.

Every client and provider action carries an EIP-712 signature from the acting party, never a msg.sender check, so any key can relay the transaction. reclaim is the one unsigned, permissionless action. Only curation functions and ProviderRegistry.applyReputationDelta (callable by an authorised JobRegistry) are gated on msg.sender.

Contracts

ContractPurpose
JobRegistryJob lifecycle and escrow: post, postMany, claim, submitAndSettle, fail, reclaim, cancel. Holds the protocol fee, gas fee, allowed SLAs and treasury.
ProviderRegistryProvider directory (ids, operator keys, listing, capacity, reputation, allowed models, boxKey), the model catalog, and the curation allowlist.
AskRegistryPrice book of signed provider quote snapshots. No contract reads it; prices reach a job only through the client-signed Order.

Shared structs and status codes are in src/Types.sol. Off-chain code signs Order and decodes JobView in field order, so both are wire format.

Roles

RoleDoesAuthorised by
Client (order owner)Signs Order, the USDC payment authorization, and Cancel.EIP-712 signature
Provider operatorSigns Claim, Settle, Fail, RequestCapacity, SetIdentity, AskSnapshot. Identified on chain by a uint32 provider id, not by address.EIP-712 signature, resolved through ProviderRegistry.idOf
RelayerSends transactions that carry other parties' signatures. Has no authority of its own.none
CurationRegisters providers and models; sets listing, capacity ceiling, reputation, fees, allowed SLAs, treasury, allowlist and authorised JobRegistry addresses.msg.sender == curation (immutable)
TreasuryReceives the protocol fee and the gas fee.none (payee only)
JobRegistryMoves provider reputation on terminal job paths.ProviderRegistry.isJobRegistry

Next

On this page