Skip to content

Method

Methodology & limits

What this does not claim, the data sources, the assumptions and the cryptography.

In plain terms: The fine print: what this project does not claim, where the data comes from, and how the cryptography works.

What this does not claim

  • Issuers and registries in the demo replay Energinet's published data; they are not accredited bodies.
  • Production enters the chain through an oracle role. Energinet's declaration and settlement series come from the same settlement data, so they are not two independent sources.
  • The flexible-load share and the extra certificate budget are declared scenario parameters. Every MWh is real.
  • The ML-DSA verifier is unaudited research code. UltraHonk is not post-quantum.
  • Hourly matching is voluntary today; the GHG Protocol's Scope 2 revision is still in progress.
  • Emission factors are Energinet's average, location-based grid factors for a buyer's accounting. They are not marginal emissions, and nothing here claims physically avoided emissions.
  • Unmatched hours are valued at the hourly grid average, not a residual-mix factor. The carbon results cover Jul–Dec 2025 only. Nothing here is audited.

Data

Full year
Datasets
DeclarationProduction, ConsumptionDK3619IndustryHour, Forecasts_Hour
Period
2025-01-01 00:00:00 to 2025-12-31 22:00:00 UTC (8,759 hours)
Buyer
(Energinet branch JB_JC)
Annual load
1,693,535 MWh
Declaration version
Final
Synthetic data
No: every hour is published Energinet data
Note on sources
DeclarationProduction and ProductionConsumptionSettlement are derived from the same settlement data, so they are NOT independent sources.

Scenario parameters

Declared parameter

Scenario parameters, declared up front and frozen before the test period. Everything else is measured data.

share (agent)
10% of each hour's load
Hourly cap on moved load (agent)
+25%
Extra certificate budget (agent)
5% of load
Flexible share (carbon-aware)
10% of each hour's load
Hourly cap on moved load (carbon-aware)
+25%

Cryptography

This run
Certificate signatures
, one signature per daily batch, verified on-chain by a Solidity verifier (unaudited research code).
Zero-knowledge proofs
, circuits in Noir (nargo 1.0.0-beta.22), proved with bb 5.0.0-nightly.20260522. Not post-quantum.
Coverage verifier contract
18,145 bytes
Emissions verifier contract
18,145 bytes
Proof size
8,768 bytes
Public inputs of the emissions proof
339, rebuilt by the contract
What stays private
The buyer's hourly load. Only a to it is published.

Contracts of this run

This run

Glossary

The terms underlined on these pages, in plain words. Tap or hover an underlined word anywhere to see its definition.

Hourly matching
Checking clean-energy use hour by hour instead of over a whole year. A yearly total can hide the hours when the buyer actually ran on other power.
Certificate
A record that one MWh of clean electricity was produced in a specific hour. A buyer cancels certificates to claim that electricity; each one may be claimed only once.
Coverage
The share of the buyer's electricity use that is matched, hour by hour, by certificates from the same hour.
Zero-knowledge proof
A cryptographic proof that a statement is true, for example that coverage is at least the target, without revealing the data behind it, here the buyer's hourly use.
Commitment
A cryptographic fingerprint of data, published now, that binds its owner to that data without revealing it. Here it fixes the buyer's hourly load before anything is proven about it.
Metering data hub
The party that holds metered consumption data. In the demo, a role standing in for it publishes the commitment to the buyer's load.
ML-DSA-44
A post-quantum digital signature standard (NIST FIPS 204). Each daily batch of certificates is signed with it, and the signature is checked by a smart contract.
UltraHonk
The zero-knowledge proof system used here (Aztec's Barretenberg, with circuits written in Noir). A smart contract verifies the proofs. It is not post-quantum.
Base Sepolia
A public test network of Base, an Ethereum layer-2 blockchain. Its transactions are real and visible to anyone, but its coins have no monetary value.
Transaction
A signed instruction recorded on the blockchain. Each has a unique hash that anyone can look up on a block explorer such as BaseScan.
Gas
The unit of computation a transaction uses on Ethereum-style blockchains. Heavier steps, such as verifying a proof, use more gas.
Oracle
An account allowed to post outside data on-chain. Here it posts Energinet's published hourly production and grid intensity, and cannot change a value once posted.
Residual emissions
The emissions from the electricity that clean certificates do not cover, valued with the grid's average emission factor for each hour.
Location-based emission factor
The average CO₂ per kWh of the local grid in a given hour. It describes the grid mix, not the effect of using one more kWh.
KPI
Key performance indicator: the measurable target a sustainability-linked note is tied to. Here, the buyer's residual emissions for the week.
Coupon
The interest a note pays its investors, as a percentage of the amount invested.
Basis point (bps)
One hundredth of a percent: 100 basis points are 1 %.
tUSD
A test token that stands in for money in the demo. It has no value.
Attack test
A deliberate attempt to cheat, run as part of the demo. The run only passes if the contracts or the prover refuse every one.
Flexible load
The part of electricity use that can move to another hour without harm, such as batch computing jobs. Its size here is a declared scenario parameter.
Walk-forward test
Testing a strategy day by day on past data, using only what was known before each day, the way it would have run live.
Perfect foresight
A reference strategy that knows the future exactly. No real strategy can reach it; it shows the ceiling.