Your accounts already hold the proof.
Connect them once. Each fact lands on this car's record — value, source, timestamp, verified.
A VIN is 17 characters and never uses I, O, or Q.
Credentials are entered at auth.vin. No other address asks for them.
Four screens, about a minute.
- 01Review the askWho asks, which car, which facts, until when — before any sign-in. The request holds for four hours and works once.
- 02Pick your providerThe one screen on the platform where a provider's name appears — inside the ceremony, after you have chosen to link.
- 03Sign in, then approveCredentials cross once, at auth.vin. A sealed token is kept, never your password.
- 04The fact postsAn evidence statement lands on the record — value, source, timestamp, account-verified. No celebration posts; the row becomes true.
The facts exist. The logins hold them.
Your coverage is verified — at your carrier. Your balance is current — at your lender. Your odometer is exact — in your maker's app. Seven logins hold your car's facts today, and every counter asks you to retype them. The retyped copy is the copy nobody trusts.
A fact retyped is a fact downgraded. A fact posted keeps its source.
How a link happens.
- 01The askThe message, as it arrives
Vin. A buyer's agent for Riverside Mazda requests insurance verification for your Mazda CX-5 (····4821). Code KTMR-BZQF. auth.vin/link/KTMR-BZQF. Works once. Holds until 18:02 UTC. Not yours? Ignore it; it expires on its own.
The same eight characters print on the sender's screen, in the message, and in the address bar — KTMR-BZQF — compared without being taught. The ask always shows the car, the class, and the clock before any sign-in.
- 02Authorize at auth.vin
You sign in at your carrier — we keep a sealed token, never your password — then approve the card at the top of this page.
- 03Posted
An evidence statement lands on the record: value, source, timestamp, account-verified. The requirement that asked is the requirement that clears.
Seven classes of account. Classes, not names.
Names appear in one place: the picker, inside the ceremony, after you choose to link.
- 01Your car's makerOdometer read from the car, warranty status verified, the options as built.
- 02Your insurerCoverage verified, effective dates posted, the proof a deal waits on.
- 03Your lenderBalance account-verified, lienholder named. The payoff quote posts as its own fact, good-through dated.
- 04Your bankFunds verified against the figure a deal names. The answer posts; the balance never does.
- 05Your stateTitle and registration, document-first: each posts as Reported, not yet verified, and says so.
- 06Your charging networkCharge sessions posted with dates and energy — the electric car's service history.
- 07Your service accountsVisits, dates, odometer at each — the maintenance record that survives the sale.
reported → posted → account-verified — every fact prints its rung.
Custody.
- Held
- Your sign-in seals on entry. No screen ever shows it again. Revoking deletes it.
- Revoked
- Revoking stops all reads now and deletes the stored token. Facts already posted keep their timestamps.
- Free
- Connecting is free, and it stays free while it stands. Reading is free to you. Take-rate lives on the commerce a link unblocks — never on the state of being connected.
Posted facts do not unhappen.
After a revoke the statement keeps its value and its timestamp and gains the fact of the revoke. A continuous requirement re-opens; the door shows the reopened requirement, not an error.
Account-verified 2026-08-01 · connection revoked 2026-08-10 · not refreshed since.
Most links begin inside a deal.
A deal hits a requirement — proof of insurance, proof of funds — and hands you the link that clears it. The link arrives by SMS or on the desk in front of you; it holds for hours and works once. This page holds the coats. The deal is the door.
Questions with posted answers.
What do you store?
A sealed token, never your password. Your sign-in seals on entry; no screen ever shows it again; revoking deletes it.
Can a link act on my accounts?
It acts on nothing. Reading is free to you.
Who sees my carrier's name?
Classes render on every page — "your insurer," never a mark. Names render once, inside the walled picker, after you choose to link.
What if I decline?
Declined. Nothing was read. Nothing was stored. A document upload can clear the same requirement.
How does connects.vin make money?
Not on connections. Linking, granting, revoking, re-linking: free. Take-rate lives on the commerce a link unblocks.
The third reader.
A holder, a deal, and a software agent read this door. The door hosts no operations — it points.
The ledger's events — past tense, signed
- 01link.created
- 02link.opened
- 03connection.linked
- 04sync.completed
- 05verification.posted
- The URL carries a claim check, never the goods
- The human sees the ask first, masked, before any login
- One ceremony address, ever
{
"role": "face",
"capability": "connections",
"start": "https://apis.vin/connections/links",
"catalog": "https://apis.vin/catalog",
"ceremonies": "https://auth.vin",
"events": "https://apis.vin/webhooks"
}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
- B2A2C — an agent acting for a consumer — everything it does survives being shown to them afterward
curl https://connects.vin/ -H 'accept: text/markdown' → the markdown twin of this page
curl https://connects.vin/{VIN} -H 'accept: application/json' → the record as typed evidence objects
curl https://connects.vin/{VIN} -H 'accept: text/markdown' → the record's markdown twinMachine surfaces on this host: /llms.txt · /icp.json · /.well-known/agents.json · one MCP server for the whole platform — 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.