# floorplan.vin > The floor-plan status of a unit, posted by VIN — floored date, days on line, curtailment, payoff — every dollar a posted slot, none invented. The flooring face of inventory: floored date, days on line, curtailment schedule, and payoff posted by VIN with value, source, and timestamp. Every dollar is a posted slot — a slot the record cannot fill reads a dash, never an estimate. No credit is extended at this address; the line is attested, not originated. Motions: B2A · B2A2B Routes: GET / (this document's page) · GET /{VIN} (the record for one vehicle) Representations: text/html · text/markdown · application/json (Accept header; same URL) Evidence: every field posts value · source · timestamp · verification state; empty states are typed EMPTY, invalid VINs are typed INVALID_VIN — never a faked 200. Agent surface: one estate MCP server — https://apis.vin/mcp (all .vin doors are lenses over one spine; tools: decode_vin, vehicle_history, market_value, window_sticker, out_the_door_price, open_recalls, search_listings, cash_offer, transport_quote, finance_prequal, insurance_quote, start_purchase) Gates: typed OFFER (posted price, hard ceiling, x402) or NEEDS_HUMAN handoff URL — no account walls. Auth: https://auth.vin (issuer) · keys/metering via id.org.ai Siblings: https://values.vin/ — Equity is value minus payoff: five numbers for any VIN, posted https://dealers.vin/ — The dealer door: appraise, record, wholesale, move — one address per unit https://offers.vin/ — Disposition against posted value: the line clears at offers.vin/ https://transport.vin/ — Dispatch from a VIN and two zips — the cleared unit moves, tracked to the door https://commerce.vin/ — The transaction layer: the whole deal settles as one order