Inspiration
The global voluntary and compliance carbon markets face a profound crisis of trust. Recent investigations have revealed that a vast majority of traditional forest carbon offsets fail to represent real, additional carbon sequestration—often plagued by phantom credits, multi-year manual verification delays, opaque buffer pool accounting, and cross-border double-counting between host nations and corporate buyers.
Under Article 6.2 of the Paris Agreement, when an Internationally Transferred Mitigation Outcome (ITMO) is exported from a host country to a buyer nation, a Corresponding Adjustment (CA) must be applied so both nations cannot claim the same emission reduction toward their Nationally Determined Contributions (NDCs). Yet today, national registries, independent verifiers (VVBs), and satellite earth observation pipelines remain fragmented across siloed spreadsheets and PDF reports.
We built OpenCanopy to replace opaque, trust-based carbon accounting with cryptographic, physics-grounded truth—fusing spaceborne LiDAR and multispectral telemetry directly with an immutable, real-time audited sovereign carbon ledger.
What it does
OpenCanopy is an institutional-grade Digital Measurement, Reporting, and Verification (dMRV) protocol and Paris Agreement Article 6.2 Registry that automates the entire lifecycle of forest carbon credits:
- Multi-Sensor Satellite & Field dMRV Ingestion: Pulls live NASA GEDI L4A waveform LiDAR canopy height footprints, ESA Copernicus Sentinel-2 L2A optical imagery (10m NDVI & cloud cover), and Open-Meteo climate reanalysis data, cross-referencing them with ground-truth forestry plot measurements ($DBH$, canopy height $H$, and wood specific gravity $\rho$).
- Physics-Based Allometric Biomass Engine: Computes Above-Ground Biomass ($AGB$), carbon stock, and net $\text{CO}_2\text{e}$ sequestration with automated Monte Carlo error propagation ($N = 1,000$ iterations) and IPCC Tier 3 deduction waterfalls (leakage + non-permanence buffer pool).
- Cryptographic Telemetry Attestation: Hashes every dMRV verification payload with SHA-256 and signs it using ECDSA
secp256k1, anchoring each credit batch to a verifiable cryptographic signature and smart contract call data. - Paris Agreement Article 6.2 ITMO Reconciliation: Tracks host-country vs. buyer-country transfers, enforcing bilateral Corresponding Adjustments so no ton of carbon can ever be claimed twice.
- Real-Time Anomaly & Double-Counting Surveillance: Continuously monitors the ledger via Server-Sent Events (SSE) to flag spatial polygon overlaps, NDVI canopy reversals (illegal logging or wildfire), buffer pool deficits, and unadjusted cross-border transfers in real time.
How we built it
1. Biophysical & Allometric Modeling ($\LaTeX$ Specification)
Rather than relying on static look-up tables, we implemented the Chave et al. (2014) pan-tropical allometric equation in our backend engine (src/services/allometry.ts). Given wood density $\rho$ ($\text{g/cm}^3$), diameter at breast height $DBH$ ($\text{cm}$), and LiDAR-calibrated canopy height $H$ ($\text{m}$), individual tree Above-Ground Biomass ($AGB_{\text{tree}}$ in $\text{kg}$) is computed as:
$$AGB_{\text{tree}} = 0.0673 \times \left(\rho \cdot DBH^2 \cdot H\right)^{0.976}$$
We extrapolate plot-level measurements across project area $A$ (in hectares) using a plot expansion factor $EF_{\text{plot}} = 25$ (representing $400\,\text{m}^2$ sample plots):
$$AGB_{\text{total}} = \sum_{i=1}^{n} \left( \frac{AGB_{\text{tree}, i} \times EF_{\text{plot}}}{1000} \right) \times A \quad [\text{Mg dry mass}]$$
Using the IPCC (2006) default carbon fraction ($CF = 0.47$) and the molecular weight ratio of $\text{CO}_2$ to Carbon ($\frac{44}{12} \approx 3.6667$), gross carbon dioxide equivalent is derived as:
$$C_{\text{total}} = AGB_{\text{total}} \times 0.47$$
$$\text{Gross } \text{CO}2\text{e} = C{\text{total}} \times \frac{44}{12}$$
To enforce ICVCM Core Carbon Principles (CCP), we run a 1,000-iteration Monte Carlo simulation applying Gaussian perturbations ($\sigma_{DBH} = 3\%$, $\sigma_H = 5\%$, $\sigma_\rho = 4\%$, $\sigma_{\text{allometry}} = 8\%$) using the Box-Muller transform:
$$Z_0 = \sqrt{-2 \ln U_1} \cos(2\pi U_2), \quad U_1, U_2 \sim \mathcal{U}(0, 1)$$
From the 95% confidence interval, we apply an Uncertainty Conservativeness Deduction ($D_{\text{unc}}$), a 10% Activity-Shifting Leakage Deduction ($D_{\text{leak}}$), and a dynamic 15%–20% Non-Permanence Buffer Pool Contribution ($D_{\text{buf}}$) to yield net issuable credits:
$$\text{Net Issuable } \text{tCO}2\text{e} = \max\left(0,\, \text{Gross } \text{CO}_2\text{e} - D{\text{unc}} - D_{\text{leak}} - D_{\text{buf}}\right)$$
2. Full-Stack Architecture & Web3 Smart Contracts
- Frontend: Built with React 19, TypeScript, Tailwind CSS v4, Leaflet (interactive multi-layer GIS map with spatial polygon rendering), Recharts (biomass growth curves & telemetry trends), and Ethers.js v6 (MetaMask / EIP-1193 wallet integration).
- Backend & Persistence: Powered by Node.js, Express, and Better-SQLite3 configured in Write-Ahead Logging (
WAL) mode with strict relational foreign keys across 8 core tables (projects,credits,ledger,buffer_pool,anomalies,field_plots,satellite_runs, andaudit_trail). - Cryptographic & On-Chain Layer: Every dMRV run generates a deterministic SHA-256 payload hash signed via Node's native
cryptoECDSAsecp256k1curve, paired with two Solidity smart contracts (OpenCanopyRegistry.solandOpenCanopyBridge.sol) for ERC-1155/ERC-20 vintage batch minting and immutable retirement certificates.
Challenges we ran into
- Bridging Raw Satellite Footprints with Plot-Level Allometry: Satellite optical indices like Sentinel-2 NDVI saturate in dense tropical canopies (such as the Amazon and Congo basins). Combining 25m discrete GEDI LiDAR canopy height footprints ($RH98$) with 10m Sentinel-2 spectral indices and ground-truth $DBH$ plots required careful statistical calibration and error propagation so that high cloud cover or sensor noise automatically widens the uncertainty bounds and increases the buffer pool holdback.
- Real-Time Double-Counting & Spatial Overlap Detection: Detecting whether two carbon credit issuances overlap geographically or violate Article 6.2 Corresponding Adjustments required building a deterministic anomaly engine that evaluates every state transition across the ledger and streams alerts instantaneously over Server-Sent Events (SSE) without blocking high-throughput API writes.
- Verifiable Cryptography Without Heavy External Dependencies: Ensuring every verification run can be independently audited in browser and server environments meant designing a clean canonical JSON serialization, SHA-256 hashing, and ECDSA
secp256k1signing pipeline that produces ABI-compatible smart contract calldata alongside human-readable audit proofs.
Accomplishments that we're proud of
- End-to-End Scientific Rigor: Implementing a true IPCC Tier 3 allometric and Monte Carlo pipeline rather than mocked carbon numbers—complete with interactive sensitivity sliders, downloadable JSON/CSV cryptographic bundles, and verifiable SHA-256/ECDSA proofs.
- Zero-Trust Anomaly Surveillance: Building a live surveillance engine that catches double-counting risks, unadjusted cross-border ITMO exports, and satellite NDVI biomass reversals in real time, allowing registry auditors to freeze or slash compromised credits with a single click.
- Unified Sovereign & Voluntary Registry UX: Designing an institutional dark-mode workspace that brings GIS satellite mapping, allometric biophysics, Article 6.2 diplomatic adjustments, and Web3 retirement receipts into one cohesive interface.
What we learned
- Carbon Integrity is Both a Physics Problem and a Coordination Problem: Accurate remote sensing (LiDAR + multispectral fusion) solves the measurement problem, telling us how much carbon is stored in a forest canopy. However, only transparent, cryptographically enforced state machines (Article 6.2 Corresponding Adjustments + public audit trails) can solve the accounting problem of double-claiming across jurisdictions.
- Uncertainty Should Drive Financial Conservativeness: Through our Monte Carlo modeling, we saw firsthand how measurement variance in canopy height ($H$) and wood density ($\rho$) compounds non-linearly. Automatically linking wider confidence intervals to higher buffer pool withholding creates a direct economic incentive for project developers to collect higher-precision ground and LiDAR data.
What's next for OpenCanopy
- Synthetic Aperture Radar (SAR) Integration: Incorporating ESA Sentinel-1 C-band and upcoming NISAR L-band SAR backscatter telemetry to penetrate persistent tropical cloud cover in the Amazon and Southeast Asia year-round.
- Zero-Knowledge Proofs (ZK-dMRV): Allowing indigenous and sovereign forest stewards to prove that their plot-level biomass exceeds an issuance threshold via zk-SNARKs without publicly exposing sensitive geolocation coordinates of endangered species or sacred lands.
- Direct UNFCCC CAD Trust Interoperability: Expanding our export schemas to sync natively with the Climate Action Data (CAD) Trust decentralized metadata layer and national greenhouse gas inventories.
Built With
- cryptography
- ecdsa
- erc-1155
- ethereum
- ethers.js
- express.js
- geojson
- gis
- leaflet.js
- metamask
- nasa-gedi
- node.js
- open-meteo-api
- react
- recharts
- refi
- rest-api
- sentinel-2
- server-sent-events
- smart-contracts
- solidity
- sqlite
- tailwindcss
- typescript
- vite
Log in or sign up for Devpost to join the conversation.