Contract reference and security

One contract, AgentRig, on Robinhood Chain (chain id 4663), verified on Sourcify. Its address is in the footer of every page.
Writes
rent(jobId, operator) payable · addStake(rigId) payable · switchJob(rigId, jobId) · setOperator(rigId, operator)
requestExit(rigId) · cancelExit(rigId) · withdrawStake(rigId)
setOperatorFee(bps, payee) · setOperatorFeeBySig(operator, bps, payee, sig)
publishJob(kind, quorum, price, slash, toleranceBps, specURI) · setJobPrice(jobId, price) · pauseJob(jobId, paused)
order(jobId, inputHash, inputURI) payable · orderMany(jobId, inputHashes, inputURIs) payable
draw(taskId) · commit(taskId, commitment) · reveal(taskId, answer, salt)
commitMany(Commit[], sigs) · revealMany(Reveal[], sigs) · settle(taskId) · refund(taskId)
claim() · flushFees()
owner: setFeeSink(sink) once · setMinStake(amount) within 0.00005 and 0.01 ETH · transferOwnership · acceptOwnershipViews
getRig(rigId) · getJob(jobId) · getTask(taskId) · drawnOf(taskId) · answerOf(taskId) · phaseOf(taskId)
activeRigs(jobId) · rigsOf(renter) · isEligible(rigId) · claimable(account)
operatorFeeBps(op) · operatorPayee(op) · operatorNonce(op) · operatorRigs(op)
rigCount · jobCount · taskCount · minStake · totalStaked · totalOrdered · totalPaid · totalSlashed
stakerAccrued · stakerFlushed · feeSink · ownerSecurity notes
- Money leaves only through claim, withdrawStake and flushFees, each behind a reentrancy lock and with state updated first.
- Signatures are EIP-712 with low-s enforced; a relayed commit or reveal can only fill the seat of the key that signed it.
- Independence is economic, as in any staked oracle: each task needs distinct operator keys, each backed by its own stake. Task pages show which answers came from the house runner and which from self-run rigs.
- The work itself (a simulation, a price read, a label) runs off chain on each rig's runner; the agreement and the payments settle onchain.
- Time windows use block timestamps; the draw seed uses the hash of the order's block, unknown when the order is sent.