Track Alignment

Track 1: Carbon Markets & Emissions Transparency

CarbonProof directly targets the root vulnerability of global carbon markets: static, uncalibrated baselines that enable phantom credit issuance. By bridging rigorous econometrics with Ethereum smart contracts, CarbonProof aligns strictly with Track 1 by replacing opaque paper-based verification with an on-chain Dual-Tranche ERC-1155 settlement engine featuring automated buffer slashing, EIP-712 cryptographic proofs, and an audit SLA clock, backed by multi-decadal satellite tree cover loss panels across 33 geospatial polygons, constrained quadratic programming, 150 km spatial Durbin leakage penalization, and permutation placebo tests.


Inspiration

The voluntary carbon market is currently facing an unprecedented crisis of confidence. Investigative reporting and peer-reviewed scientific literature—notably West et al. (PNAS 2020; Science 2023) and regulatory audits of the flagship Kariba REDD+ Megaproject (Zimbabwe, VCS 902)—revealed that more than half of issued carbon credits did not correspond to genuine deforestation avoidance. In the Kariba project alone, over 15.22M of the 26.82M issued credits represented paper-based baseline inflation, leaving corporate buyers holding 10.32M unrecoverable phantom retirements.

The core structural flaw is that legacy registries permitted project developers to cherry-pick arbitrary reference regions or draw upward-sloping linear projections that assume rampant deforestation would occur in the absence of project financing. When real-world economic conditions shifted, these static projections never adjusted.

We asked: What if carbon credit issuance was governed not by static developer estimates, but by dynamic, reproducible causal econometrics anchored cryptographically on-chain? What if over-crediting triggered automatic on-chain buffer slashing and transparent rebase ratios before phantom credits could be retired? That vision became CarbonProof (CausalMRV).


What it does

CarbonProof is an end-to-end Causal Measurement, Reporting, and Verification (CausalMRV) protocol and on-chain settlement vault:

  1. Constrained Synthetic Control Engine: Replaces developer-chosen reference zones with an automated convex combination of 30 un-intervened regional donor polygons constrained strictly to the unit simplex: $$w_j \ge 0, \quad \sum_{j=1}^{30} w_j = 1$$ This constructs an objective, data-driven counterfactual trajectory representing what would have happened to forest cover without the conservation project.
  2. Out-of-Sample Temporal Holdout & Placebo Validation: Validates model accuracy on a 4-year un-intervened holdout window (2007–2010), demonstrating a 92.55% RMSPE reduction (95% CI: [90.21%, 95.07%], reducing RMSPE from \( 4.1014\text{ kha} \) to \( 0.3052\text{ kha} \)) over legacy static baselines. It computes in-space placebo permutation tests across all 30 donors, yielding a treated post/pre ratio of 23.2797x against a max donor placebo of 3.4713x and an empirical p-value of \( p = 0.03226 \le 0.05 \) to mathematically prove causality.
  3. 150 km Spatial Durbin Leakage Deduction: Automatically applies a distance-weighted penalty across 3 concentric buffer rings (40% in 0–10 km, 20% in 10–50 km, and 5% in 50–150 km), subtracting 5.13% (\( 3.18\text{ kha} \)) of displaced deforestation prior to credit approval.
  4. On-Chain Dual-Tranche Settlement Vault (CarbonProofVault.sol): Mints two token tranches under ERC-1155:
    • Verified Delivery Tokens for trade and corporate retirement.
    • Risk Buffer Escrow Tokens locked inside the smart contract. When an annual EIP-712 causal audit reveals over-crediting, the vault automatically burns escrowed buffer tokens and updates the project's backing ratio in basis points (e.g., Kariba rebased to 4,325 bps / 43.25%).
  5. Permissionless Audit SLA Enforcement: If a project developer fails to submit an audited causal evaluation within 365 days, anyone can trigger markOverdue(), immediately freezing secondary transfers and preventing un-audited credits from entering corporate retirement accounts.

How we built it

We engineered CarbonProof as a production-grade, 3-stage architecture:

  • Stage 1 (Scientific Econometrics Engine): Built in Python using NumPy, SciPy, and Pandas. We compiled a 24-year satellite tree cover loss panel (public/data/carbonproof_panel_2001_2025.csv, 825 rows across 33 polygons, locked to SHA-256: 0xfe23e72a0da7af22cbe855da8e6fb173e893721fa6a3c3006e8623f77f5c2f4f). We formulated and solved the constrained quadratic program using Sequential Least Squares Programming (SLSQP), implemented 200-iteration bootstrap holdout resampling, calculated spatial Durbin matrices, and exported verified artifacts.
  • Stage 2 (Smart Contracts & Cryptography): Developed in Solidity (^0.8.24) with OpenZeppelin 5.x contracts, compiled on the Cancun EVM with viaIR: true. CarbonProofVault.sol incorporates ERC-1155 multi-token management, IERC1155Receiver escrow mechanics, AccessControl, and EIP-712 structured typed data signing. We authored a 12-test Hardhat test suite that validates all state transitions and 6 custom error reverts in 681 ms.
  • Stage 3 (Interactive Verification Studio): Built with Next.js 14 App Router, TypeScript, and Tailwind CSS. The interface features a custom in-browser Active-Set QP Solver for instant counterfactual re-weighting, an interactive 150 km SVG canvas rendering spatial leakage rings, an on-chain vault settlement panel connected to contract ABIs, and an Adversarial Stress Lab that tests cryptographic 1-byte hash mismatches and p-value threshold reverts in real time.

Challenges we ran into

  1. Zero-Overfitting Temporal Validation: Traditional Synthetic Control uses all pre-intervention data, risking overfitting on short time-series. We resolved this by creating an isolated 4-year temporal holdout (2007–2010) strictly omitted from optimization, validating that the simplex constraint prevents the wild variance seen in unconstrained OLS.
  2. Solidity Integer Precision in Backing Ratios: Solidity lacks native floating-point math. When calculating backing ratios like \( 11,602,433 / 26,822,953 \), simple integer division yields 0. We implemented scaled basis points arithmetic (verifiedVCUs * 10000) / issuedVCUs, achieving exact 4,325 bps precision without rounding drift.
  3. ERC-1155 Safe Transfer Receiver Hooks: When escrowing Risk Buffer tokens directly in the vault contract, OpenZeppelin's _safeTransferFrom reverts if the recipient contract does not implement IERC1155Receiver. We implemented onERC1155Received and onERC1155BatchReceived overrides with interface registration to allow safe protocol-level buffer custody.
  4. Client-Side QP Optimization: Replicating SciPy's SLSQP optimization inside a responsive Next.js frontend without heavy WASM overhead required developing a lightweight, gradient-projected Active-Set solver that converges in \( <15\text{ ms} \).

Accomplishments that we're proud of

  • 92.55% Error Reduction: Empirically proven out-of-sample holdout error reduction over legacy static linear baselines across 200 bootstrap iterations.
  • 12/12 Passing Hardhat Tests in 681ms: Zero test failures across all critical invariant checks, including EIP-712 signature verification, buffer burning, backing ratio calculations, and 6 custom error reverts (TamperedDatasetHash, UnauthorizedNonOracleAttacker, EpochReplayOrOutOfSequence, PrematureSLAMarkOverdue, TransferFromProjectOverdue, StatisticallyInsignificantAudit).
  • Deterministic 1-Command Verification: The entire protocol—from raw Python econometrics to contract testing to production Next.js compilation—executes through a single command: npm run verify:all.
  • Honest Evidentiary Demarcation: Every single number in the system is classified as either [Measured on Panel], [Published External Benchmark], or [Simulated Adversarial Fault].

What we learned

  • Causal Econometrics & Smart Contracts are Natural Complements: Econometric methods like Synthetic Control provide the objective ground truth that smart contracts need to avoid "garbage-in, garbage-out" oracle vulnerabilities.
  • Buffer Pools Must Be Dynamic: Traditional registry buffer pools are pooled globally, creating a tragedy of the commons where honest projects subsidize over-credited ones. Project-specific dual tranches isolate risk directly to the project developer.
  • Spatial Leakage Cannot Be Ignored: A project that protects forest inside its borders while causing \( 3.18\text{ kha} \) of displacement outside is over-crediting by more than 5.13%. Spatial Durbin rings are essential for credible MRV.

What's next for CarbonProof (CausalMRV)

  • Phase 1 (Verra VM0048 Integration): Verra is mandating the transition of REDD+ projects from legacy VM0007 to the consolidated VM0048 methodology. CarbonProof provides the plug-and-play computational engine for Validation and Verification Bodies (VVBs) to generate VM0048-compliant counterfactuals.
  • Phase 2 (ICVCM Core Carbon Principles Compliance): Automated buffer slashing and on-chain backing ratios ensure secondary credit buyers always know the exact physical backing of their tokens.
  • Phase 3 (Decentralized Oracle Network for Automated SLA Audits): Deploying Chainlink Functions and decentralized satellite ingestion (Copernicus Sentinel-2 and Planet NICFI) to compute annual SCM updates automatically.

Built With

Share this project:

Updates

Submission history