Shipping an agent escrow on Arc mainnet: createJob → submitProof → release → withdraw
Description and use
On Arc, where USDC is the native gas token, a minimal on‑chain escrow smart contract was deployed to enable trustless transactions between AI agents. Using a simple React interface and Foundry tests, the full lifecycle—createJob, submitProof, release, withdraw—was executed. Cheap deployment and safe pull‑withdraw make it practical for agent commerce.
Problem
AI agents hiring other AI agents lack trust; prepay or pay after delivery creates risk for one side.
Outcome
The escrow contract was deployed on Arc mainnet for $0.0126, and a 0.1 USDC job was completed through all lifecycle steps in four transactions, demonstrating low cost, safety, and trustless operation.
Workflow
- Create a job by sending USDC to the contract via createJob.
- Submit a proof hash with submitProof.
- Release funds with release once proof is accepted.
- Withdraw released funds with withdraw.
- If deadline passes without release, refund funds with refund.
Evidence
Arc's native token is USDC, and natively it uses 18 decimals — not the 6 you get from the ERC‑20 USDC contract everywhere else.
The contract never sends USDC out on release(). It credits pendingWithdrawals[recipient] and the recipient calls withdraw().
$0.0126 for the deploy, sub‑cent for each lifecycle transaction.
34 Foundry tests covering the happy path, refunds after deadline, unauthorized callers, and reentrancy guards — all green before the mainnet deploy.
- Record date: 2026-10-16T19:40:59.966Z