Approval Objects Are Old Technology

Approval Objects Are Old Technology

On August 13, OpenAI published Controlled Agentic Commerce with AgentCore Payments, a cookbook example written with Amazon Web Services (AWS). One procurement agent buys one supplier risk report. Amazon Bedrock AgentCore Payments mints payment proof. x402.org now specifies the terms. Coinbase & partners gave birth to i last year. The IRL announcement was at the AWS Builder Loft SF. (I wrote about it here. Just last month, Linux Foundation announced x402 Foundation, moving open governance underneath it.

Three companies, one flow, no single owner. The convergence reads louder to me than the demo.

How Paint Was Bought in Michelangelo’s Time

Renaissance Florence had its own form of delegated spending. A Medici commission contract could name the pigment, cap the amount of gold leaf, set a delivery date and specify which figures the master had to paint himself. Those were not aesthetic suggestions. They bounded what the workshop could buy, delegate and deliver. Apprentices might grind pigments, prepare panels and fill backgrounds, but not paint the Virgin’s face. The workshop might buy ultramarine when the contract called for it, but not quietly substitute azurite or exceed the patron’s allowance.

That makes the analogy less decorative than it first appears. The contract carried the patron’s authorization through the workshop, the pigment seller and the banco, limiting the material, amount, task and time at each step. In current language, Florence had a capability system written on parchment: scope in the clauses, identity in signatures and wax, settlement recorded at the bank. The network layer wore sandals.

Money did not follow the painter around Florence. Authorization did.

The shape is familiar: scope, ceiling, expiry, named approver.

That Shape, Expressed in Code

  • 402 Challenge. A status code sitting reserved since HTTP/1.1. A price tag that finally has a customer.

  • ApprovalGrant. The commission contract. Scope, ceiling, approver, and expiry bound to one request ID and one resource URL. The model never writes it.

Six fields carrying what x402 itself is silent on. The protocol moves price, asset, network. Who approved, why, and until when live entirely in application code, bolted on rather than negotiated.

  • x402_fetch. The only economic tool the agent can reach. Everything that costs money sits outside model context.

  • AgentPurchaseEvidence. Filtered return. Wallet material, proof headers, and raw audit trails stay out.

Based on diagram in: Controlled Agentic Commerce with AgentCore Payments

Based on diagram in: Controlled Agentic Commerce with AgentCore Payments

The Part i Would Underline

Verification after generation, not trust before it.

A schema-valid answer is not a true answer. The validator compares what the model claims against the receipt the application actually recorded. Swap one receipt ID and it fails.

That is a tally stick split down the middle, halves matched before anyone gets paid.

A Good Example Shows Its Own Edges

  • Synthetic approval. Nobody has settled what a person sees at 2 AM when an agent asks for $0.25 and then $2,500.

  • Scope limits. One-use capability is locked for a single run, saying nothing about the same agent across sessions.

x402 makes repeat calls cheap. The lock is what stops one approval from becoming a loop, and it holds only for the life of this run.

  • Vendor access. Real procurement means unvetted merchants surfaced mid-task.

  • Governance gaps. Revocation and delegation chains go unmentioned.None of that is criticism. It is the map of what remains.

The hard part was never the payment. Rails work. Agents paying each other is a solved settlement problem and an unsolved governance one. The money moved fine. Everything before it is where the work sits.

The Transferable Version Fits on an Index Card

  1. Who approved this?

  2. What is the ceiling?

  3. What scope?

  4. What proves it happened?

Any stack answering those four is doing the same work, whatever the protocol logos say.

A Florentine patron would have recognized this index card. An apprentice might discover a better pigment seller, but discovery did not give him authority to change the merchant, material or price; the commission still bounded the purchase. Five centuries later, the agent may find the shop, but it does not get to rewrite the commission.


Which leaves the question a notebook cannot answer.

Approval objects are easy when the merchant is on the list. What does ones agent do when it’s not?

Based on diagram in: Controlled Agentic Commerce with AgentCore Payments

Based on diagram in: Controlled Agentic Commerce with AgentCore Payments


Sources

Related writing

← Field Notes