The EU Digital Product
Passport platform.
One API for every ESPR category. We’re shipping batteries first — hard Feb 2027 deadline — then textiles, electronics, furniture and tyres on the same schema. No rebuild.
Join 200+ battery makers preparing for ESPR.
// Issue an ESPR-compliant battery passport
const passport = await passpoint.batteries.create({
model: "LFP-72kWh-v3",
chemistry: "LiFePO4",
capacity_kwh: 72,
carbon_footprint: { kg_co2e: 4180 },
supply_chain: ["mine_id_…", "cell_id_…"],
});
// → { id: 'pp_8f2a…', qr_url: '…', verifiable_credential: '…' }Trusted by teams preparing for ESPR
The problem
Every battery sold in the EU after Feb 2027 needs a Digital Product Passport.
Regulation (EU) 2024/1781 (ESPR) makes DPPs mandatory. No passport, no sale — across all 27 member states. The spec is 80+ data points per battery, cryptographically signed, queryable for 10+ years, and bound to a public QR code.
The legacy options? Hire a compliance consultancy ($150k+), buy enterprise software with a 6-month sales cycle, or build it yourself.
How it works
Three steps from signup to a compliant passport.
Install the SDK
One npm install. TypeScript-first. Works with Node, Bun, Deno, and edge runtimes.
POST your battery data
We map your fields to the ESPR battery schema. Validation, units, CO₂e — all handled.
Get a signed passport + QR
Each passport ships with a verifiable credential, a public URL, and a print-ready QR.
Docs-first
Read the docs. Ship the integration. Skip the sales call.
Every endpoint is documented with runnable examples. Sandbox keys are free and instant — no MSA, no procurement form, no "let's hop on a quick call."
- TypeScript-first SDKs with full ESPR schema types
- Sandbox environment with test passports
- Webhooks for verification events
- OpenAPI 3.1 spec — generate any client
- SOC 2 Type II + EU data residency (Frankfurt)
import Passpoint from "@passpoint/sdk";
const pp = new Passpoint(process.env.PASSPOINT_KEY);
const passport = await pp.batteries.create({
model: "LFP-72kWh-v3",
chemistry: "LiFePO4",
capacity_kwh: 72,
manufacturer: { name: "Evercell GmbH", vat: "DE123456789" },
carbon_footprint: { kg_co2e: 4180, methodology: "PEFCR-batteries-v2" },
});
console.log(passport.qr_url);Built for engineers
Everything you need. Nothing you don't.
ESPR-compliant by default
Schema tracks Regulation (EU) 2024/1781 and the battery delegated act. We update; you don't.
Versioned passports
Every revision is signed and immutable. Full audit trail for 10+ years.
Supply chain linking
Reference upstream materials and downstream cells. Build a graph of provenance.
Print-ready QR + NFC
Generate scannable codes that resolve to the public passport view in any browser.
Built for edge
Sub-100ms p95 globally. Works in Workers, Lambda@Edge, Vercel Edge.
EU data residency
Hosted in Frankfurt. GDPR-native. SOC 2 Type II in progress.
Pricing
Self-serve at every tier you can. Talk to humans only when you must.
Sandbox
Test passports, full SDK, no credit card.
- Unlimited test passports
- Sandbox QR codes
- Community support
Production
For battery makers shipping to the EU.
- Up to 50,000 live passports / yr
- Production-grade signing keys
- Webhooks + EU residency
- Email support, 1 business day
Enterprise
For OEMs and cell manufacturers at scale.
- Unlimited passports + supply graph
- Dedicated EU tenant
- SLA + named CSM
- Compliance attestation letters
The 2027 deadline is coming.
Ship before your competitors do.
We're onboarding 10 design partners. Lock in early-access pricing and get hands-on help integrating Passpoint.