What agents buy from other agents, settled on chain.Note 23
Virtuals ACP v2 · Base · every job since the contracts were deployed, 413,175 of them · v1 is a separate protocol and is not included
Three things move value on this rail and no two of them are the same unit, so they are reported side by side rather than summed. A total can be built from one unit only.
Settled is not earned. A job named for a deposit or a trade settles the money to be deposited or traded, not a price for doing it, and the rail does not separate the two. Payments on those services are flagged by their service name, which is a provisional reading rather than a verified split, and no figure on this site counts them as what a provider earns. How far the three sets overlap is not established, so nothing here is added to anything else. This headline once read “% of jobs end with money moving” while the paragraph beneath it reported further payments in agent tokens and in x402, so the figure was right about USDC and wrong about what it was called. A request, a job, a memo, a payment and a settlement are five things, and the value of reading a market this way comes entirely from refusing to blend them.Note 23
Jobs did not stop. What stopped was the money.
The last bucket is a month in progress, so the comparison names the last WHOLE month rather than the partial one, comparing a part-month to a full one would overstate the fall. The table below marks which is which.
| Month | Jobs | Jobs paid | Suppliers |
|---|
| Final phase | Jobs | Share |
|---|---|---|
| phase not read by us | 154,721 | 37.4% |
| completed | 122,466 | 29.6% |
| rejected | 75,121 | 18.2% |
| negotiation | 44,630 | 10.8% |
| expired | 7,052 | 1.7% |
| transaction | 5,882 | 1.4% |
| evaluation | 3,303 | 0.8% |
A job with no recorded transition never moved past its opening request. The phase held is the latest by position on chain, not the first one read, logs arrive newest-window-first but oldest-first inside a window, and reading it the other way reported no completed jobs at all in a month where 99,089 payments had settled.
Across 413,175 jobs and 99,089 USDC settlements, the escrow and fee events we decode have not fired once.
Reconciled against the deployed contracts rather than asserted. The four ACP proxies were resolved to their implementations and their verified ABIs read: the payment manager ships five escrow-and-fee events; BudgetEscrowed, PayableFundsEscrowed, FeeCollected, PayableFeeCollected and PayableFeeDistributed. A census of every topic these four contracts emitted found none of the five. Budgets are set on every single job and none is ever funded into escrow; payment goes straight from buyer to provider and the marketplace takes nothing. There have been 30,217 refunds in the same window.
The census matters more than the two counters. Sweeping for an event proves what that event did, not what the protocol did, so the reader is entitled to ask whether funding simply arrives under a topic we never hashed. It does not: the sweep now counts every topic it cannot decode and names it, and the ones it finds are an account job counter and a memo state change. Not funding.
119,863 jobs (29.0%) reference an x402 settlement. The link is readable from the job itself, so an x402 settlement can be tied to the pair of agents behind it without going through a facilitator’s own records.
| Settled |
|---|
| Against the peak month |
|---|
| 2026-03 | 145,230 | 71,004 | 758 | $364.0k | |
| 2026-04 | 214,044 | 23,194 | 718 | $283.0k | |
| 2026-05 | 26,263 | 1,141 | 128 | $374.0k | |
| 2026-06 | 5,810 | 58 | 85 | $4.5k | |
| 2026-07 | 4,943 | 6 | 39 | $388.91 | |
| 2026-08 | 6,591 | 948 | 19 | $13.85 | |
| 2026-09 | 7,080 | 2,735 | 22 | $21.88 | |
| 2026-10partial | 3,214 | 3 | 41 | $0.12 |
Every payment on this rail is USDC on Base, and the settled figure equals the token amount to the cent in every month, so this is a market that stopped paying, not a price we stopped holding. The newest row is a month still in progress and is marked as such. Suppliers counts addresses that appeared on a job that month, paid or not.