Business-to-agent: the buyer is an autonomous agent — wallet, Mandate ceiling, no human leaf anywhere.
"Contact sales" where a machine needed a posted price. The account wall is the desk with a REST verb — and an agent cannot be charmed at the desk; it can only read what is posted. A capability an agent cannot buy is, to an agent, a capability that does not exist.
no human leaf
B2A means the buyer IS the agent: it discovers via one MCP server, authenticates via keys it can provision, and settles x402 under a Mandate ceiling — no login wall, no form, no phone number in the path.
worst-case cost before the call
Every gate is a typed OFFER: posted price · hard ceiling · x402 accepts · checkout fallback. A gate without an OFFER or Handoff body is a conformance failure on these rails.
agent demand is structured demand
An agent that pulls decode + value + recalls for one VIN is a purchase-intent event with structure, not a pageview — the highest-fidelity VIN-level demand signal in automotive, attributed per call via X-Client-Type.
the contract, shown
A machine has no story; it has a contract. The contract is on this page — typed record, posted meter, hard ceiling. The agent reads the same record you do. One estate MCP server (apis.vin/mcp), 12 verb-named tools, 14 endpoints, 2.1M+ live listings; every field value · source · timestamp · verification; this door itself settles x402 and is cataloged in the x402 Bazaar. The check digit certifies; it never sells.
describer → transactor
This page sells the motion; apis.vin transacts it. Keys: apis.vin/keys · MCP: apis.vin/mcp · per-call prices: apis.vin/pricing. No form between here and there — the CTA is an endpoint.
questions with posted answers
What does "no human leaf" mean? No step in discovery, authentication, pricing, or settlement requires a person. Where the law reserves an act for a human, the gate returns a typed NEEDS_HUMAN Handoff — a resumable URL, never a dead end. Pure B2A has none.
How does my agent know the worst case before calling? Every gated action returns a typed OFFER carrying posted price and a hard ceiling. The ceiling is contractual: settlement above it does not occur.
Where do I actually sign up? Nowhere on this page; there is no form on this domain. Issue keys at apis.vin/keys, point your agent at apis.vin/mcp. This door describes the motion; apis.vin is the transactor.
who this door serves
- who
- The partner — an agent operator or platform engineer whose autonomous agents need vehicle capability zero-shot: discover, bind, and pay on first contact, worst-case cost known before the call. A partner-facing sales page, not a product door; a machine gets no pitch.
- arriving
- The agent operator or platform engineer whose autonomous agents need vehicle capability zero-shot — discover, bind, and pay on first contact, worst-case cost known before the call, no human leaf anywhere in the chain.
- against
- The desk — here in its machine franchise: "contact sales" where a machine needed a posted price. The account wall is the desk with a REST verb; the demo-call calendar is the desk's waiting room, and an agent cannot sit in it.
- the guide
- Your agents have been answered with forms. Every gate on these rails is a typed outcome — OFFER (posted price, hard ceiling, x402 accepts) or NEEDS_HUMAN Handoff — and the worst-case cost is posted before the call. The agent reads the same record you do. One estate MCP server at apis.vin/mcp, 12 verb-named tools over a 14-endpoint spine and 2.1M+ live listings; every field an evidence object. The check digit certifies; it never sells.
- the stakes
- A fleet of agents parked at account walls: capability that exists but can't be bought, demand your platform emits as abandoned sessions instead of settled calls — the asymmetry tax, paid in dead ends.
- done
- Agents that buy: discover, bind, and settle zero-shot, every charge an evidence statement, every ceiling held — and the demand signal attributable to your platform. From operator of blocked agents to principal of a fleet that transacts.
the plan
- record — one keyless curl: Accept: application/json on any /{VIN} returns the record as evidence objects. Your agent is 2 steps from a settled call.
- offer — hit a gated action and read the typed 402 OFFER: posted price, hard ceiling, x402 accepts. Nothing to negotiate; nothing hidden to discover in production. 1 step.
- settle — pay under the Mandate ceiling via x402, or relay the checkout URL. The charge posts as an evidence statement: endpoint · calls · unit price · total. Done is a settled call, not a signed contract.
connect your agent — apis.vin/mcp · keys at apis.vin/keyscurl -H 'Accept: application/json' https://b2a.vin/{VIN} — the record as evidence objects, free, keyless
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: B2A
- B2A — the buyer is an agent — no human leaf; discover, bind, pay, worst-case cost posted before the call
curl https://b2a.vin/ -H 'accept: text/markdown' → the markdown twin of this page
curl https://b2a.vin/{VIN} -H 'accept: application/json' → the record as typed evidence objects
curl https://b2a.vin/{VIN} -H 'accept: text/markdown' → the record's markdown twinMachine 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.
every door opens on the same record
- apis.vinKeys at apis.vin/keys · the estate MCP at apis.vin/mcp · every unit price posted
- listings.vin2.1M+ live listings, keyless — the family's pure-B2A read at scale
- all.vinEvery door, one record: all.vin/any VIN