CarbonPass
connecting
Skip the intro
EU CBAM · definitive period

Since 1 January 2026, every tonne of steel entering the EU carries a carbon price.

The proof of how clean that steel is still travels by email. CarbonPass turns it into a verified carbon passport that can't be counted twice.

Same coil · two prices at the border
EU default value · Türkiye · CN 72082.43 tCO₂e/t

+10% mark-up on top in 2026

Verified actual · Anatolia Green Steel A.Ş.
2.430 tCO₂e/t

fictional demo entity · EAF mill, 2026-07

−86% embedded emissions on the declaration. About €46,720 less in CBAM certificates for one month's output this year.

ERC-1155 · conservation rule

Double counting: impossible.

Enforced by the contract, not by a promise. 10,000 verified tonnes are minted once. Ship them to two importers and the batch is empty.

6,000 t → Hamburg4,000 t → Rotterdam
Rejected by contract
ERC1155InsufficientBalance · 2,000 t requested, 0 t remaining
Verified · signed · conserved

Clean steel shouldn't pay for dirty defaults.

Drop in a mill's invoices, let AI extract the numbers, sign as an accredited verifier, mint, ship, and try to sell the same tonnes twice. Live on the Sepolia testnet.

Fictional demo entities · public testnet · IEEE ClimateChain Hackathon 2026

01Live from the chain

Every number here is read from the contract.

connecting
Verified batches
—
Verified tonnes
—t
Surrendered
—t
On-chain events
—

Batches are minted by the demo flow on a public testnet, across all products (hot-rolled steel and its pig-iron precursor). Run it yourself, or open a passport.

02The problem

A clean mill is priced like a dirty one, and its proof can be sold twice.

DEFAULT + MARK-UPVERIFIED ACTUAL
+10%

Unverified data costs more

Without verified actual emissions, importers must use EU default values plus a mark-up. A clean mill gets priced like a dirty one, so there's no reward for cutting emissions.

10,000 t10,000 t
2×

Double counting

Nothing stops the same verified low-carbon tonnes being promised to two buyers, a period certified twice, or one report reused across declarations.

?EMAIL
PDF

Evidence travels by email

Importers can't tell if a file is the version the verifier approved, or if the verifier is accredited at all. SMEs can't afford consultants.

03How it works

From an invoice to a burned certificate, in five signed steps.

  1. 01Producer

    Evidence in, numbers out

    Invoices and production logs are read by an AI model (Gemini). Every quantity is cited to its page and confirmed by a human.

    AI
  2. 02Producer

    CBAM intensity, checked

    A fixed calculator applies the CBAM method. Robust statistics flag values that don't match the plant's own history.

    Calculation + checks
  3. 03Verifier

    Accredited sign-off

    An on-chain-registered verifier signs with ECDSA and ML-DSA-65 (NIST FIPS 204). Only salted Merkle roots go on-chain.

    Post-quantum signature
  4. 04Producer → Importers

    Tonnes that can't be sold twice

    Verified tonnes are minted once (ERC-1155). Shipping more than exists reverts. Certified periods can't overlap.

    Smart contract
  5. 05Importer

    Surrendered, never reused

    When the CBAM declaration is filed, tonnes are burned. The public passport shows the trail and the € saved.

    Burn on declaration
04Why a blockchain?

Because the core risk is a double-spend.

The AI suggests and explains; it never writes to the chain. The chain guarantees what humans signed, when, and that verified tonnes are conserved. It doesn't make a meter reading true, which is why an accredited verifier and anomaly checks sit in front of it.

Producer, verifier and importer sit in TR / IN / EU

No neutral database operator exists across borders

The core risk is the same verified tonnes claimed twice

That is the double-spend problem ledgers solve

Verifier sign-offs must be undeniable for years

Public, timestamped, post-quantum attestations

Plant data is commercially sensitive

Only salted commitments on-chain; selective disclosure

Three minutes, five roles

Run the whole border, end to end.

  1. 01Producer
  2. 02Verifier
  3. 03Shipments
  4. 04Importer
  5. 05Passport

Prototype on a public testnet. Companies, installations and verifiers are fictional demo entities. Emission factors and default values are illustrative (see data/factors.json).