b2a2c.vin

Your agent buys the car.
Your user reads the receipt.

Read. Act. Return.

Delegate any car moment by its VIN. The agent reads verified Listings and the record behind them, acts under a Mandate ceiling enforced in the wire format, and returns a receipt the principal reads line by line. Every line states who acted and under what authority.

For the builder who must delegate a car moment without dispossessing their user — assistant platforms, fintech and concierge apps, agent startups. The human stays the hero; the agent stays the instrument.

The receipt. This record, replayed.

An agent that can’t show its work is the desk reborn inside your user’s own tool. This one returns the whole act as evidence: one order, every line carrying who acted, under what authority, and the fact it rests on — value · source · timestamp · verification.

7MMVABDM3RN163785

2024 Mazda CX-50

read — the same record the principal can read

act — under the ceiling, in the wire format

  • OFFER returnedthe doortyped · price + ceiling in the shapethe wire shape, below
  • Settledthe agent, for the principalthe Mandate ceilingx402 · timestamp posts live
  • Handed offthe principaltheir own signatureNEEDS_HUMAN · url, signed, expiring

return — done is a receipt, not a log

  • Receipt returnedthe agentto the principalevery line above · dispute / refund URL
Settledposts live
The ceilingposts live

Under the ceiling by construction — a receipt that survives scrutiny.

Structure, not state: nothing here is a simulated deal. The receipt renders live for any VIN at its own address, and a fact that cannot be verified is shown as “Reported, not yet verified” — never blended with posted facts.

Verified Listings only: every Listing the agent reads is posted with venue, source, and timestamp — the corpus and its count post at listings.vin. Nothing off-record enters the deal.

The ceiling is enforced, not remembered.

Every gate on the estate answers an agent with a typed OFFER carrying the posted price and the hard Mandate ceiling — in the shape, not in a prompt. The agent settles by x402 beneath the ceiling, or hands the human a signed Handoff at the moments a decision is legally or financially load-bearing. Overspend is a settle failure, not an apology.

The gate answer — a typed OFFERapis.vin/mcp
// structure, never invented state
{
  "type": "OFFER",
  "vin": "7MMVABDM3RN163785",
  "price": <integer, USD cents — posted, never discovered later>,
  "mandate": {
    "principal": <the consumer — attested, never implied>,
    "ceiling":   <integer, USD cents — the hard limit, in the shape>,
    "scope":     <what this agent may settle, enumerated>
  },
  "settle": ["x402"],
  "above_ceiling": "settlement fails — a wire error, not an apology"
}
When a step needs the humanNEEDS_HUMAN
// never a dead end, a form, or "contact sales"
{
  "type": "NEEDS_HUMAN",
  "handoff": {
    "url":       <the human twin of this exact step>,
    "shortUrl":  <signed, expiring>,
    "pollUrl":   <the agent resumes here>,
    "expiresAt": <RFC 3339 timestamp>
  }
}

The human authorizes; the agent resumes; the handoff itself becomes a line on the receipt — who acted: the principal, under their own signature.

One page, both readers.

You’ve sat across the desk not knowing what the other side knows. Your user has sat there too. Here every fact is posted — value, source, timestamp — and the page their agent reads is the page they read: the agent reads the same record you do, byte-identical across representations. The check digit certifies; it never sells.

  • The order this motion walks is the same order a human would settle — the checklist at buy.vin is the instrument, behind its own posted gate
  • One estate MCP at apis.vin/mcp — tool results carry the door URL, so the human twin travels with the machine result
  • The receipt is the record: the report the agent fetched is, byte for byte, the page the principal reads

wire your agent — apis.vin/keys

The spectrum. Where this motion sits.

Three motions, one grammar: the agent is always in the loop; what varies is who the principal is and where the human appears.

The actor wears your product’s name in front of your user; on the estate, the actor class is held as assistant — your agent, your account, your receipts — a plain mark, not yet a door.

Posted.

This pageSells nothing and meters nothing — it is the wiring diagram. The receipt renders free for any VIN, keyless, no account.
The railsMetered at apis.vin, every unit price posted on the page. Deal flow lands at buy.vin and offers.vin, each behind its own posted gate.
This doorits own deal-record entry: one x402 payment, settled and posted — like every live door in the family

Questions with posted answers.

  • What stops the agent from overspending?

    The Mandate ceiling rides inside the typed OFFER and the x402 settle; above the ceiling the settlement fails. The limit is a wire format, not a prompt.

  • What does my user see afterward?

    The receipt: every fact the agent consulted (value · source · timestamp · verification), every action taken with who acted and under what authority, the price settled under their ceiling, and a dispute/refund URL. Byte-identical to what the agent fetched.

  • What happens when a step needs the human?

    A typed NEEDS_HUMAN Handoff: url, signed expiring shortUrl, pollUrl, expiresAt. The human authorizes, the agent resumes, and the handoff posts to the receipt as its own line. Never a dead end, a form, or “contact sales.”

For the agent you send

The agent reads the same record you do. Same two routes, three representations — the numbers never differ between them.

motions: B2A2C

curl https://b2a2c.vin/ -H 'accept: text/markdown'        → the markdown twin of this page
curl https://b2a2c.vin/{VIN} -H 'accept: application/json' → the record as typed evidence objects
curl https://b2a2c.vin/{VIN} -H 'accept: text/markdown'    → the record's markdown twin

Machine surfaces on this host: /llms.txt · /icp.json · /.well-known/agents.json · one estate MCP server — apis.vin/mcp (every door a lens; tool results carry the door URL).

Attribution: X-Client-Type: html | md | json | mcp — read for agent-led demand attribution; it never changes the record.

No gate on this door's two routes — keyless reads, no account. Gated actions elsewhere on the estate return a typed OFFER (posted price · hard ceiling) or a NEEDS_HUMAN handoff, never a dead end.