ClaimCheck
Paste one carbon-offset sentence from an ESG report. With a serial, we check it against public Gold Standard retirement records. Without a serial, we look up the company as the records' beneficiary and compare the total. On a Sepolia testnet registry, a second registration of an overlapping serial range reverts.
Data note: lookups use a stored sample of 140 real registry records (fetched 2026-10-17). Tick "live lookup" to ask the registry's public read endpoint for your own serial. No wallet, no login. Chain part: the registry contract is deployed on the Sepolia testnet (below).
1. Check a claim
Wording check (helper, never changes the verdict) · changes caught 10/36 · false alarms 1/36
Compares the words around the serial (project type, country, year) with the registry record using a small AI model that runs in your browser. Result: Backed, May conflict or No receipt. It can miss changed facts; the numbers are under "Measured, not promised". First use downloads about 90 MB once from huggingface.co.
2. What the contract does with double use
Deployed on Sepolia testnet: 0xbBC97a57c7f81F77dbA1b1b2FbC29898b87F7bDF (2026-10-21). Real runs on it: one Commerzbank (Verra) retirement range with a second claimant refused, and the Google flow below, with the same Gold Standard credits as the sentence check above. Same batch, overlapping serial numbers are refused.
One flow, one set of credits (real Sepolia transactions)
Replay of the same contract on a local Hardhat chain (npm run chain-demo)
3. Measured, not promised
Show the numbers
Claims in this experiment are templated sentences built from real registry rows, so expected verdicts are known by construction. It tests the pipeline, not real reports. Read the limits in the README.
Source code · MIT license