One car, five prices.
Auction, wholesale, trade-in, private party, retail — the full spread for any VIN, posted with source, timestamp, and the comps behind it. Free. No account.
A VIN is 17 characters and never uses I, O, or Q.
7MMVABDM3RN163785
what the trade payswhat a store charges
Auction
posts live
The lane: what the car brings when the trade bids on it.
Wholesale
posts live
What the trade pays outright — the band a cash offer is written against.
turn this number into cash · offers.vin/7MMVABDM3RN163785Trade-in
posts live
What the desk offers against your next car.
Private party
posts live
What one person pays another, no store in between.
Retail
posts live
What a store charges for it, front line, ready to sell.
- sourcedatemilesprice
- the sourcethe datethe milesposts live
- the full comp table, every row — free at login for humans, foreversign in · $0 posted · auth.vin
Comp rows render live at the address. A band without a comp set behind it says so: “Reported, not yet verified.”
Figures render live at the address. This page states structure, not prices.
One spread, both sides of the desk.
Selling or trading it
you read from the wholesale end
Private party is what you can ask; wholesale is what the trade pays. The cash offer at offers.vin is written against the wholesale band on this page — the number and the offer sit on the same spread.
the ask-to-comp spread · the day supply
At the desk
you pencil from the auction end
Appraise at values.vin/{VIN} at desk speed. Opening ACV: the pencil is wholesale, less recon, less pack. The auction and wholesale bands that anchor it are posted here with their comps — the same page the customer is reading.
the acv · the recon · the pack
the lane range · the last run
The value a consumer reads is the value a dealer prices from. Same numbers, both registers.
Paste. Read the spread. Take one number.
- 01PasteThe VIN, at values.vin/{VIN}. One question if the trim is ambiguous.
- 02Read the spreadFive bands, low to high, each posted with source and timestamp, comps attached. Where you read from depends on the side: selling starts at wholesale, buying starts at retail.
- 03Take one numberWholesale to offers.vin for a cash offer. Retail to listings.vin to check an asking price. The record behind the value at vhr.vin.
Questions with posted answers.
Why five numbers instead of one?
The same car trades at different numbers at auction, wholesale, trade, private party, and retail. One number hides the spread; five state it. Which one applies depends on which side of the desk you sit on, so all five are posted.
Where do the numbers come from?
Live market data and current listings, posted with source and timestamp on each band. A band without a comp set behind it says so: “Reported, not yet verified.”
What does it cost?
$0, posted above like every other number. Signing in is free too; what it unlocks is posted on the comp table’s last row.
The spread is one face of the record.
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://values.vin/ -H 'accept: text/markdown' → the markdown twin of this page
curl https://values.vin/{VIN} -H 'accept: application/json' → the record as typed evidence objects
curl https://values.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.