Prove what a vehicle is. Reveal only what the asker is entitled to see.
From 29 November 2026, Euro 7 obliges manufacturers to issue a tamper resistant digital passport with every new M1 and N1 type, readable by QR code. VINPassport is that record, built on Midnight's zero-knowledge blockchain: anchored once, then shown to each party, whether buyer, recycler or border authority, exactly as far as they are entitled and provably no further.
No wallet. No account. No login. A buyer scans a QR code and sees a verdict; VINPassport pays every transaction fee.
Each is answered yes, or the transaction fails. The value that satisfied the bound is never published, and “not proven” is rendered as exactly that: no claim, never a quiet no.
Pre-alpha, under active development. The contract is written, compiles and is covered by tests; the application layer around it is being built.
A commitment per field
The ledger stores persistentCommit(value, salt), never the value and never the salt. Each field also carries an integrity rule, written once at creation, so a caller cannot pick the flattering rule at the moment they need it.
Rules that only point one way
Mileage, accidents, keepers, services and write-off category may never fall. To write a new value the caller must prove, inside the circuit, that they know the current one and that the change respects the rule. A rollback by one kilometre is refused.
Claims that expire honestly
A recorded claim names the commitment its proof opened. Record a new reading and the old claim no longer matches the field, so a verifier can see it is superseded without being told.
Intake
For a registrarFill in the fields, submit, and watch the compiled circuits accept and refuse. A rollback update aborts in-circuit, is shown as refused, and writes nothing.
Open the console →Proof explorer
For an auditorEvery claim on the ledger, grouped by vehicle and marked current or superseded. Nothing here requires trusting VINPassport. Every row is a claim anyone can check.
Open the explorer →Verification
For a buyerScan the QR code on a vehicle or its listing and this page opens on its passport. The page never sees a VIN, only its hash.
See a verdict →New to this? The guide walks both journeys step by step: creating a record, and checking one, with the real screens and the reason behind each step.
A mandate with a conflict inside it
A vehicle passport has to be verifiable by strangers and confidential at the same time. A full history is commercially sensitive to a dealer and personally identifying to an owner. Publishing the record solves the first and destroys the second. Keeping it private leaves the first where it is today: trust the seller.
A producer who commits a false value produces a cryptographically valid proof of a false fact.
It is the first question a serious buyer asks, so the answer belongs beside the admission. VINPassport proves a reading is the one that was committed and that it satisfies a bound. It does not prove the reading matched the world. Three things in the deployed contract narrow that to the first write, and none of them are roadmap.
What stays open is the first write for a vehicle that joins mid-life, and that is why the first customer is the manufacturer: Euro 7 obliges them from 29 November 2026, and a passport opened on the production line has no earlier history to misstate. A reading signed at the sensor is Phase 2, scoped in docs/ARCHITECTURE.md rather than pretended away.
The zero-knowledge chain the passport lives on, at ledger 8. The contract, its seventeen circuits and three integrity rules are ours, written in Compact and covered by our own tests.
Nothing about the passport logic is delegated. Every transaction is assembled, proven and signed locally before it leaves the machine, so the submission service pays a fee it cannot read and never sees a witness.
Run the whole thing locally in one command
Node 22+. No Docker, no wallet, no network access, no API keys. Three surfaces and the real compiled circuits, in-process.
Issuing passports from 29 November 2026?
Euro 7 requires an Environmental Vehicle Passport for every new M1 and N1 type from that date, with its data accessible for twenty years. If you are a manufacturer, or the technical service approving one, tell us what is coming and we will reply by email.
Anything worth buying second-hand is worth proving
For a new car the passport is a legal duty. For a boat, a motorcycle or a quad it is a choice, and that is the stronger reason to have one: a seller who can prove the history gives buyers a reason to bid, and a buyer who can check it does not have to take anyone's word. The ledger keys a record by the hash of an identifier, so a hull number works exactly as a VIN does.
When buyers cannot tell a clean machine from a clocked one, they discount every one of them, which economists call the market for lemons (Akerlof, 1970). In a randomised trial at a US car auction, cars carrying a condition report that bidders could see sold more often and earned more per car (Tadelis and Zettelmeyer, 2015).
Prove the boat was never written off and has fewer than 500 engine hours, without showing the exact reading, the price you paid or whose name was on it before yours. For a collector, discretion is part of the value.
The buyer scans a code and reads the verdicts. No account, no app, and no phone call to a workshop that may since have closed.
Boats and jet skis
Engine hours that never went backwards, the hull number on the record matching the hull, the yard that did the servicing, and no theft report.
VoluntaryEvery recreational craft and personal watercraft already carries a hull identification number (Directive 2013/53/EU, Annex I, Part A, point 2.1). No EU law we have read requires a passport.
Motorcycles
Mileage that only rises, a service history a buyer can check without phoning anyone, and accident and write-off status proven without the details.
VoluntaryThe EU's new vehicle passport stops short of them: Reg. (EU) 2026/1738 reaches L-category vehicles from September 2031 but excludes its passport article for them (Art. 2(1)(e) and 2(4)(f)).
Quads and side-by-sides
Hours and use, because a farm machine and a weekend toy look alike on a forecourt; who serviced it, and whether it was ever reported stolen.
VoluntaryAll-terrain quads and side-by-side buggies are L-category, L7e-B1 and L7e-B2 (Reg. (EU) No 168/2013, Art. 4(2)(g)(ii)), so the same exclusion applies.
E-bikes and electric motorbikes
The battery's history tied to the bike it powers, with ownership and theft status, so a buyer is not guessing at the part that matters most.
Battery passport from 18 Feb 2027Their batteries need a battery passport from 18 February 2027 (Reg. (EU) 2023/1542, Art. 77(1)), with access split into public, authority and legitimate-interest tiers (Art. 77(2)), the same split our tiers make. Since 18 August 2024 the battery must already hold state-of-health data that its buyer may read for "evaluating the residual value or remaining lifetime of the battery" (Art. 14). A bike passport would point to it, not replace it.
Classic and collector cars
Provenance that survives a lost folder: matching numbers, restoration work and the number of keepers, all provable without naming one of them.
VoluntaryHere the value is almost all provenance, and provenance is what gets lost when receipts go missing and specialists close.
Built for cars today
We do not offer these yet. The contract keys a vehicle by the hash of its identifier and a field by the hash of its name, with the field's rule fixed when it is created, so engine hours or a hull number need entries in the field registry, not a new contract. If you build boats, motorcycles, e-bikes or quads, tell us what you would want proven.