-
-
Netra checks 876 Mt of carbon credits retired since 2020 against research, company reports and independent data. (112)
-
Search a company. Shell retired 42.3 Mt since 2020; of the part research covers, ~23% likely cut real emissions. Grade C. (121)
-
Paste a marketing claim. Netra quotes each part and checks it against the record: tonnes, year, likely-real share, EU rule. (123)
-
Reported vs independent emissions for the same company, side by side. For large emitters they often differ 2-3x. (112)
-
89.4 Mt were retired since 2022 with no named claimant. Netra labels these hidden buyers and sizes them. Grade D. (113)
-
Of 876.1 Mt retired since 2020, research covers 331.5 Mt and about 64.3 Mt (19%) is likely a real reduction. (108)
-
Each published check is hashed on Ethereum Sepolia (ClaimRegistry). A serial range claimed twice is flagged on-chain. (117)
-
All reviewed companies side by side: sortable, comparable, and downloadable as open data. (89)
Inspiration
Companies tell us they are "carbon neutral" because they retired carbon credits. The proof is usually a registry line, a PDF, or a press release. We wanted to know what sits behind these claims, so we analyzed every Verra and Gold Standard retirement since 2020 (342,012 records, 876 Mt). What we found was uncomfortable: peer-reviewed research suggests only ~1 in 5 retired tonnes is likely a real reduction, 57% cannot be tied to a named claimant, and nothing stops the same credit from backing two claims. We built Netra so anyone–journalists, auditors, or the public–can audit a green claim in under a minute.
What it does
Netra turns raw registry records into a transparent verdict: what did this company retire, and how much of it is likely real?
- Claim Check & Grading: Search a company or paste a green claim text. Netra aggregates retirements by beneficiary and scores tonnes using peer-reviewed outcome ratios (Probst et al. 2024, Nature Communications), assigning a grade from A to E.
- Reported vs. Independent Emissions: Pairs primary corporate sustainability disclosures (79 company groups) directly against Climate TRACE's ownership-weighted satellite emissions. For 4 of 14 key groups (Shell, Chevron, E.ON, Eni), independent estimates are 3-6x higher than reported Scope 1.
- Hidden Buyers: Quantifies and tags untraceable, blank, "Not Disclosed", wallet, and reseller accounts (accounting for 57% of all retired tonnes).
- AI Claim Parser: LLM extracts claimant, scope, year, and tonnes from unstructured text with strict word-for-word quote verification against primary data.
- Unusual Pattern Detection: An Isolation Forest flags buyers exhibiting anomaly signals (old vintages, rejected methodologies, single-year retirement bursts).
- On-Chain Tamper Proof & Challenge: Anchors checks on Ethereum Sepolia via ClaimRegistry.sol. Anyone can submit Merkle proofs to challenge and permanently flag reused serial ranges.
How we built it
- Smart Contract (Solidity 0.8.24, OpenZeppelin, Hardhat): ClaimRegistry.sol stores check hashes and Merkle roots of serial ranges at constant gas (~589k gas whether 10 or 684 ranges). Double claims are verified and penalized on-chain without minting or wrapping credits.
- Data Engine (Python, pandas, scikit-learn): Integrated Berkeley VROD, CarbonPlan OffsetsDB, and Climate TRACE v5.7.
- Frontend: Pure zero-dependency static web app (HTML5, Vanilla CSS, JS) with sub-second lookups, live Web3 polling every 15s across fallback RPC nodes, and EN/ID localization.
- Live Watcher: Background Node.js agent monitoring the newest 200 Verra retirements every 10 minutes and automatically issuing on-chain Merkle challenges upon duplicate serial reuse.
Challenges we ran into
- Resisting Flawed Simplification: Avoided arbitrary greenwash scores. We strictly respect published scientific ranges and explicitly leave the 62% of unresearched methodology tonnes unrated.
- Entity Resolution: Company names appear under dozens of erratic spellings. We avoided high-error automated linking by strictly requiring human-verified ground truth in data/.
- Gas Efficiency for Massive Serial Batches: Storing raw serial strings on Ethereum was cost-prohibitive. We engineered a Merkle tree nullifier scheme with constant-gas verification.
Accomplishments that we're proud of
- Live Tested Double-Claim Detection: Proved live on Sepolia: a duplicate claim reusing Shell's serial ranges was successfully challenged and flagged on-chain within 10 seconds.
- Single-sentence clarity grounded in empirical data: about 1 in 5 tonnes likely real, and 0 of 52 evaluated large buyers earn an A or B.
- 100% open, zero-dependency, reproducible methodology.
What we learned
- Blockchain cannot magically turn a bad carbon credit into a good one. Its real strength is creating immutable, tamper-evident fingerprints that prevent double counting and serial reuse across voluntary registries.
What's next for Netra
- Daily Merkle root commits for live registry watcher streams.
- Full Gold Standard live ingestion pipeline.
- Expansion to national and compliance carbon registries (EU ETS, ACR, CAR).
Built With
- carbon-offsets
- climate-trace
- css3
- ethereum
- ethers.js
- hardhat
- html5
- javascript
- merkle-tree
- node.js
- openzeppelin
- pandas
- python
- scikit-learn
- smart-contracts
- solidity
Log in or sign up for Devpost to join the conversation.