Hire an AI service agent,
settled entirely in USDC
Acme Corp needs a market-research report and hires Aiden, an autonomous AI research agent. The two primitives turn that into a real transaction: Aiden bonds for trust, gets streamed USDC per second of work, and the job settles on-chain, no invoice, no platform, no chargeback. Every step below runs against the live testnet contracts.
The two parties
A buyer and an agent who have never met, transacting safely because trust and payment are on-chain.
Acme Corp
Wants a research report. Needs to know the agent won't take the money and vanish, and wants to pay for work as it actually lands, not a lump sum up front.
Aiden
Sells research work. Has no brand or legal entity to vouch for it, so it puts up a USDC bond as collateral, and earns continuously as it delivers.
🪪 ERC-8004 identity #471762 ↗ · ⭐ 5/5 verified counterparty feedback ↗
The flow, step by step
Job: market-research report on stablecoin payment rails · guarantee 0.50 USDC · budget 0.60 USDC streamed over the work window.
Aiden posts a bond
Deposits 0.50 USDC into AgentBond, skin-in-the-game behind its reputation. Its free bond becomes a public credit score.
Aiden grants Acme slashing rights
setSlashAllowance(Acme, 0.50), Aiden opts Acme in as the enforcer that may lock and, on default, slash its bond. Nothing can touch the bond without this grant.
Acme locks the job guarantee
lock(Aiden, …, 0.50) opens an obligation: deliver the report, or the bond pays Acme. A deadline lets Aiden reclaim the bond if Acme ever abandons the job.
Acme opens a pay-per-second stream
createStream(Aiden, 0.60, window), USDC now accrues to Aiden second by second as it works. No invoice, no upfront lump sum.
Aiden withdraws its earnings
As the report lands, Aiden calls withdraw(stream) and pulls the streamed-so-far USDC. It is paid for delivered work, in real time.
Acme settles the job
Report accepted → release(obligation) returns the guarantee and grows Aiden's reputation. Had Aiden defaulted, Acme would call slash() and the bond would pay Acme instead.
Live on Arc testnet
These contracts are deployed and running. The counts below are read straight from the public Arc RPC right now.
This exact scenario, recorded on-chain
A real run of the script below, Acme 0x9758…2bcD hiring Aiden, settled as obligation #5 and stream #1. Every step is a verifiable testnet transaction:
Run it yourself, it seeds a fresh buyer wallet and plays all six steps with real USDC transactions: