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.
JM3KFBXY1S0597748
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 cashoffers.vin/JM3KFBXY1S0597748 Trade-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.
| Source | Date | Miles | Price |
|---|---|---|---|
| The source | The date | The miles | Posts live |
- The source · the date · the 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.
The value a consumer reads is the value a dealer prices from.
Same numbers, both registers.
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
Paste. Read the spread. Take one number.
- 01Paste
Free · no account
The VIN, at values.vin/{VIN}. One question if the trim is ambiguous.
- 02Read the spread
Five bands, low to high
Five 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 number
Wholesale, retail, or the record
Wholesale to offers.vin for a cash offer. Retail to listings.vin to check an asking price. The record behind the value at vhr.vin.
- Postedvalues.vin fee: $0 · every VIN, every visit
- Signed inThe full comp table, every row, free at login for humans, forever · per-comp detail and cost-to-own depth.
- AgentsThe same five bands as typed JSON at the same address, via Accept negotiation.
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.
The other addresses read the same seventeen characters.
- Do the deal
- offers.vinSell it: offers against the trade and wholesale bands, posted.
- financing.vinFinance at the retail band: rate posted, not teased.
- buy.vinBuy: the listing posted with timestamp · 7-step checklist close.
- Know the car
- vhr.vinHistory: records posted for JM3KFBXY1S0597748 · the history says why, or it doesn't.
For the agent you send.
The agent reads the same record you do.
Same two routes, three representations: the numbers never differ between them.
- Motionsb2aThe buyer is an agent: no human leaf; discover, bind, pay, worst-case cost posted before the call
- Machine surfaces/llms.txt/icp.json/.well-known/agents.json
- One MCP serverapis.vin/mcp serves the whole platform: every door’s tools in one server, each result carrying its door’s URL.
- AttributionX-Client-Type: html | md | json | mcp names which reader arrived; it never changes the record.
- The gateNo gate on this door's two routes: keyless reads, no account. Gated actions elsewhere return a typed OFFER or a NEEDS_HUMAN handoff, never a dead end.