posted 2026-07-26 · b2a.vin/blog/how-does-an-ai-agent-buy-something-without-a-human-clicking-checkout

How does an AI agent buy something without a human clicking checkout?

An autonomous agent buys in three steps and no clicks — it reads the record, gets a typed 402 OFFER, and settles under x402 on first contact.

An autonomous agent buys in three steps and no clicks. It discovers the thing by its VIN and reads the record with one keyless request; it hits a gated action and gets back a typed 402 OFFER — a posted price, a hard Mandate ceiling, and the x402 accepts it can pay with — so there is nothing to negotiate and nothing hidden left to discover; then it settles under its ceiling via x402 on first contact, and the charge posts back as an evidence statement (endpoint · calls · unit price · total). There is no checkout page because there is no human eye the checkout page was drawn for. Done is a settled call, not a signed contract. On b2a.vin this is the whole motion: the buyer is the agent — a wallet, a Mandate ceiling, and no human leaf anywhere in the chain.

The reason a machine cannot "click checkout" is that checkout is a picture. It is a page laid out for a person to read, a button placed for a person to press, a form built to collect what a person types. An agent has none of those hands. So the purchase has to be expressed as something a machine can actually consume — a typed message it reads, a price it can compare against its authority, and a settlement rail it can move value across without a person confirming the move. That is what the three steps below are: not a friendlier checkout, but the same transaction re-expressed in a form a program can complete end to end.

the Contract Plan — record, offer, settle

The motion runs on three moves, and each one is a request the agent makes and a typed body it reads back.

  1. record — one keyless request. Accept: application/json on any /{VIN} returns the record as typed evidence objects — each field carrying value · source · timestamp · verification, not a paragraph the agent has to parse out of prose. No key, no login, no account wall stands between the agent and the read. This is free and it leads: the cheapest thing on the rails is the truth about the car, and the agent is now two steps from a settled call.
  2. offer — the agent hits a gated action and reads a typed 402 OFFER envelope: outcome · posted price · hard ceiling · x402 accepts · checkout fallback · expiry. The 402 is the HTTP status that literally means payment required, and here it is answered with a machine-legible body instead of a redirect to a page. Nothing is negotiated and nothing is hidden to discover in production — the worst case is stated in the envelope, so the outer bound of the whole run is known before the first paid call.
  3. settle — the agent pays under its Mandate ceiling via x402, the settlement standard that carries payment inside the HTTP exchange itself, so value moves on the same request that asked for the capability. The charge posts back as an evidence statement — endpoint · calls · unit price · total. If the agent's chain carries a human principal instead, it can relay the checkout fallback URL rather than settling directly; but pure B2A needs neither, because the account is the agent's own.

That is the sequence a person's clicks used to stand in for, collapsed into three typed exchanges. Discover, bind, settle — with no page rendered at any step, because nothing in the path was ever waiting on an eye.

the ceiling is in the wire, not in the prompt

The part that makes autonomous settlement safe rather than reckless is the Mandate ceiling, and the important thing about it is where it lives. It is not an instruction in the agent's prompt that the agent might reason its way around; it is a typed object with a ceiling · per-action cap · time-box · tripwires, and the ceiling is contractual — settlement above it does not occur. Every OFFER posts its worst case inside the envelope, so the agent can compare the posted price against its ceiling before it commits, and the outer bound of the entire run is legible before the first paid call. A machine buying without a human is only trustworthy if the machine cannot exceed its authority by accident or by clever reasoning; putting the ceiling in the wire format, enforced at settlement, is what turns "an agent with a wallet" into "an agent that cannot overspend."

what "done" is, and what it is not

Be precise about the seam. Done here is a settled call — a charge that posted as evidence, under a ceiling, against a named endpoint. It is not a signed contract, because there was no human to sign and nothing in the path asked for a signature. That is the point of pure B2A: no step in discovery, authentication, pricing, or settlement requires a person. Where the law genuinely reserves an act for a human — a signature, a notarization, a consent — the motion is no longer pure B2A; the gate returns a typed NEEDS_HUMAN Handoff instead of an OFFER, and a different door carries that shape. On these rails a gate that returns neither an OFFER nor a Handoff is a conformance failure, not a quiet dead end. So the honest boundary is this: the three-step, no-human path described here is exactly for the capabilities the law does not reserve for a person — and for a car, that is most of them: decode, value, history, listing reads, the machine-buyable capabilities that make up the bulk of the record.

The through-line back to the door's whole purpose: a machine has no story, only a contract, and the contract is on the page — the typed envelope, the posted Mandate, the hard ceiling. The agent reads the same record you do. That is why an autonomous purchase needs no checkout button. Everything the button used to confirm is already posted, typed, and priced — so the agent doesn't click. It reads, it compares against its ceiling, and it settles.


Related:

  • b2a.vin — the motion: sell vehicle capability to the autonomous buyer, worst-case cost posted before the call.
  • apis.vin — the transactor: one API key, one MCP server, per-call prices posted — the surface every settled call runs on.
  • listings.vin — the pure-B2A read at scale: 2.1M+ live listings, each posted with venue · source · timestamp, keyless.

The record, at its other addresses

The piece states it; the record posts it. Read yours: