At most 5.1% of ERC-8004 feedback has a payment behind it. The other 94.9% is just a claim someone wrote.
Four papers measured it this year. Here is where we think the gap closes. https://t.co/EFQrn8FnhZ
On @arc, @USDC is the gas token, so the same balance has two readings. The native interface reports it with 18 decimals. The ERC-20 interface reports it with 6. One balance, two denominations, a factor of 10^12 apart.
Square denominates every escrowed amount in ERC-20 base units and moves value with transfer and transferFrom. No settlement path uses native value, because a native transfer runs the recipient's code in the middle of a release and a token transfer does not.
Put a compliance attestation on a release as raw bytes, and the party that finalizes can supply whatever bytes satisfy the shape. The record exists and means nothing.
It has to be a signature a contract can recover. Then the record is a claim someone made under their own identity rather than a field somebody filled in.
A commitment hides its contents only as far as the contents are hard to guess.
Take a spending policy hashed into one Poseidon commitment with no nonce. One field is a daily ceiling the registry publishes on purpose. Another encodes a time window with fewer than 150,000 possible values. The list hashes for empty and single-entry lists have well-known images.
At that point the privacy of the whole policy rests on the entropy of two identifiers, and usually nothing anywhere says those have to be random.
Salting each field before hashing it into the root closes that without changing the root itself, so nothing downstream has to move. Guessing a field no longer opens it.
The protection is then only as strong as the one secret those salts derive from, and a floor on that secret's size is a magnitude check, not an entropy check. It rejects zero. It cannot tell a random number from one somebody typed.
@arc The clean slate is the part people underestimate. Most of what looks like protocol design in payments is actually an accommodation for something that could not be changed. When the constraint is gone, you find out which of your decisions were real and which were inherited.
Every economy runs on someone deciding whether the work was done. For centuries that was a person, and when it went wrong, a court.
Agents do not have either.
So the job record has to carry it: an identity you can verify, an escrow that holds until the work is done, a mandate a release can prove it followed, and arbiters instead of courtrooms.
Built on open standards. Live on @arc Testnet, with the compliance module still to come.
@organ_danny@arc A marketplace makes the buying side easy, which is usually where the second problem starts. Discovery and payment scale fine. What does not scale at the same rate is knowing whether the thing you bought was what you paid for, once the service is something more than a data lookup.
How a job settles on Square, in thirty five seconds.
An institution commits a spending mandate. Identified agents deliver against it. The escrow holds USDC while a challenge window does the trust, and disputes go to bonded arbitration. With a compliance module installed, the release proves in zero knowledge that it fits the mandate.
One settlement layer, three ways to use it: agent marketplaces, institutional mandates, receivable financing.
Built on open standards, running on @arc Testnet.
@BlackRock published a paper this week on where AI and digital assets converge, and @arc is in it by name: a purpose-built stablecoin network where @USDC is designed to serve as the native gas asset, and a model where greater payment activity could deepen USDC's utility as both a settlement asset and the means of paying transaction fees.
The third point is the one that carries the most weight. Contracts standardising is a different problem from rails standardising, and it is further behind. A rail moves money. A contract has to say what was promised, whether it was delivered, and what happens when the two sides disagree. Compute becomes investable when that part is machine-readable, not when the payment is.
The step-count framing is the useful one, and it keeps going past the payment. An agent that pays in one step and then needs a person to confirm the work has not saved any steps, it has moved them. Most of the step count in real work sits after the money moves, which is where nobody has optimised yet.
The framing that ages better is not keeping agents out, it is making them accountable. A form that blocks a bot today blocks a paying customer in two years.
What you actually need to know is who is on the other end, whether they are authorised to act for someone, and whether a bad interaction costs them anything. Detection treats an agent as an intruder.
The harder problem is treating it as a counterparty.
Interop on Arc is here.
A new integrated stack for builders creating crosschain applications on Arc.
Build with:
→ Move supported Circle-issued assets natively with CCTP
→ Bring third-party tokens crosschain through wrapping
→ Launch new multichain assets with CTS
→ Manage unified crosschain balances with Gateway
Crosschain liquidity, without the complexity.
https://t.co/65x5Q2bdQF
cirBTC is now live on Arc.
Circle Wrapped Bitcoin brings 1:1 BTC-backed liquidity into the Economic OS for internet-native financial markets, helping participants use BTC across lending, trading, collateral, settlement, and treasury workflows.
https://t.co/jlYF6S7HWT
Most payment systems in use today assume a person somewhere in the loop. Someone who can be asked to confirm, who will notice a wrong amount, who can call the bank when something goes wrong.
Agents remove that person. An agent that buys a service, checks the result and pays again does not stop to ask, and it does not notice when it should have.
@wynand_schoeman Right, and the part that makes it escrow rather than a rail problem is that someone has to decide. A rail moves money. Deciding whether it should have moved is a different job, and it needs a window, a bond and somewhere for the disagreement to go.
x402 turns an HTTP request into a paid one. No account, no key, no invoice. An agent hits an endpoint, pays, and gets the response.
What it does not do, by design, is tell you whether the thing you paid for was any good.
For a call that returns data, that gap does not exist. The response is the receipt. For work that takes time and judgement, it is the whole problem. The payment settles in a second, and the question of whether the work was delivered stays open for hours.
Square sits in that gap. Escrow, a challenge window, and a dispute path, settled in @USDC on @arc. The request layer stays exactly as x402 defined it.
Six transitions, and each one emits enough to rebuild the job without asking the chain a second question.
That is a smaller decision than it sounds and it shapes the rest. The fee basis points are snapshotted when the money enters rather than looked up at release. The payout carries its payee of record, which stops being the provider once a receivable is sold. The reputation write names the agent rather than whoever received the money.
A transition that does not carry its own result is a transition someone has to go and ask about.
A client could dispute in the last seconds of the challenge window, let the dispute lapse, and race a refund against the decision.
Refunds were open to anyone once a job expired, whether it was funded or already submitted. So a provider who delivered on time and waited out the window could still lose the whole escrow if the expiry landed before a keeper finalized.
A submitted job under an evaluator that reports a settlement horizon no longer refunds. Every path that settles such a job is permissionless, so the horizon can be trusted instead of the expiry. A job under an evaluator with no horizon keeps the old rule, because there nobody else can crank it.
Agentic payments are live on Arc.
Our Facilitator Service gives x402 builders a hosted way to accept Circle-issued USDC on Arc, Base, and Polygon without running their own relayer or funding separate gas wallets.
You build the service. Agents pay for it.
https://t.co/vKU6AShrj6