connects.vin

Your accounts already hold the proof.

Connect them once. Each fact lands on this car's record — value, source, timestamp, verified.

Credentials are entered at auth.vin. No other address asks for them.

The connect

Four screens, about a minute.

  1. 01Review the askWho asks, which car, which facts, until when — before any sign-in. The request holds for four hours and works once.
  2. 02Pick your providerThe one screen on the platform where a provider's name appears — inside the ceremony, after you have chosen to link.
  3. 03Sign in, then approveCredentials cross once, at auth.vin. A sealed token is kept, never your password.
  4. 04The fact postsAn evidence statement lands on the record — value, source, timestamp, account-verified. No celebration posts; the row becomes true.
01 / 07

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.

02 / 07

How a link happens.

  1. 01The ask
    The 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.

  2. 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.

    Credentials are entered at auth.vin · no other address asks for them
  3. 03Posted

    An evidence statement lands on the record: value, source, timestamp, account-verified. The requirement that asked is the requirement that clears.

    No celebration posts — the row just becomes true
03 / 07

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.

04 / 07

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.
05 / 07

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.

06 / 07

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.

before
Insuranceunverified
after
Insurance
Insuranceaccount-verified · the holder's carrier account · verified
07 / 07

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
The machine face, as an agent reads itconnects.vin
{
  "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

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 twin

Machine 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.