Track: Carbon Markets & Emissions Transparency. CanopyCheck addresses carbon-credit verification using satellite evidence, smart contracts, and enforceable credit-status rules to improve transparency and prevent duplicate credit registration.
Inspiration
Carbon credits are meant to support climate action, but how can buyers trust that a forest-backed project is actually preserving its forest? We were inspired to build CanopyCheck to make forest-based carbon claims easier to scrutinize using satellite evidence and transparent, enforceable rules.
Our core idea is simple: If the forest disappears, the credit freezes.
What it does
CanopyCheck combines satellite imagery, machine learning, and smart contracts to monitor forest-cover changes and flag carbon-credit claims that deserve further investigation.
- Satellite monitoring: Uses Sentinel-2 imagery from five observation years (2019, 2021, 2023, 2025, and 2026) to estimate forest cover over time.
- AI-based classification: A logistic-regression model classifies satellite pixels as forest or non-forest using spectral bands, vegetation indices, and canopy texture.
- Forest-loss tracking: Displays estimated forest-cover changes, hectares lost, historical comparisons, and map overlays.
- Claim scrutiny: Compares the developer's claimed annual deforestation threat with the estimated annual forest-loss rate in a reference area. The prototype flags a project when its claimed threat is more than twice the reference-area loss rate.
- Checker consensus: Three checker accounts submit measurements, and the contract accepts a result when at least two agree within one percentage point on both forest cover and reference-area loss.
- Credit enforcement: Projects are classified as Healthy (at least 95% of baseline forest remaining), At Risk (85% to below 95%), or Frozen (below 85%). Frozen credits cannot be transferred, retired, or newly issued through the contract's protected functions.
- Double-counting prevention: The contract rejects duplicate registration of an identical forest boundary. Retired credits are burned so they cannot be resold or claimed again.
A flagged claim is a signal for further investigation, not proof of fraud.
How we built it
We built CanopyCheck by combining satellite-data processing, a machine-learning pipeline, an interactive dashboard, and a Solidity smart contract.
For satellite data, we use Sentinel-2 imagery accessed through Microsoft Planetary Computer. We mask clouds and shadows, combine clear dry-season observations, and classify pixels using a logistic-regression model implemented in JavaScript. The model uses satellite bands, NDVI, NDMI, NBR, and a canopy-texture feature.
The dashboard visualizes forest-loss overlays, historical forest-cover estimates, before-and-after comparisons, project metrics, threat analysis, checker submissions, and transaction history.
For the blockchain component, we built a Solidity smart contract using OpenZeppelin's ERC-1155 standard. It applies project-status thresholds and restricts certain credit actions when a project becomes Frozen. Checker submissions demonstrate how multiple measurements can be combined through a consensus rule before a result is accepted.
The current prototype runs on a local Hardhat blockchain. The three checker accounts are simulated, with one deliberately submitting an outlying result. No real carbon credits are involved. This setup lets us demonstrate the workflow from satellite-derived estimates to smart-contract enforcement.
Challenges we ran into
One major challenge was working with satellite imagery while accounting for clouds, shadows, and missing observations. We needed to combine clear observations across multiple dates to produce more consistent yearly estimates.
Another challenge was connecting environmental measurements to blockchain rules. Satellite analysis produces estimates, while a smart contract needs explicit numerical conditions. We had to define thresholds, reference-area comparisons, checker agreement, and the actions permitted for each project status.
We also had to distinguish suspicious patterns from proven wrongdoing. A high claimed threat relative to a reference area's estimated loss rate can justify scrutiny, but it cannot independently establish fraud. Model validation, reference-area selection, and checker independence remain important limitations.
Accomplishments that we're proud of
- Built an end-to-end prototype connecting satellite imagery, machine-learning-based forest classification, an interactive dashboard, and smart-contract enforcement.
- Processed multi-year satellite observations to estimate changes in forest cover and visualize loss geographically.
- Demonstrated a project falling below the forest-cover threshold and triggering a Frozen status.
- Implemented checker consensus with an intentionally outlying submission to demonstrate how disagreement can be handled.
- Demonstrated blocked transfers and retirements for a frozen project, with blocked issuance also covered by automated contract tests.
- Created a dashboard that makes the evidence, project status, and transaction history inspectable in one place.
In our demonstration, Jaci Frontier in Brazil, a fictional demonstration project over real satellite imagery, shows an estimated forest-cover decrease of 160.5 hectares, from 861.8 hectares in 2019 to 701.3 hectares in 2026. This leaves 81.3% of its baseline forest remaining and triggers a Frozen status under our prototype's rules.
Kalimantan Highland in Indonesia, another fictional demonstration project over real satellite imagery, illustrates a different risk. Its claimed annual threat is 2.5%, compared with an estimated annual forest-loss rate of 0.19% in its reference area. This discrepancy triggers a flag for further investigation, despite relatively high remaining forest cover.
What we learned
We learned that environmental monitoring is not just about detecting change. It is also about communicating uncertainty, choosing meaningful reference areas, and ensuring that the evidence can be inspected by people who were not involved in producing it.
We also learned that blockchain enforcement is only as trustworthy as the measurements, governance, and verification process feeding it. Consensus rules can make decisions transparent and restrictions enforceable, but they do not automatically make the underlying data accurate or the checkers independent.
Our current model's reported 94.2% agreement is against held-out ESA WorldCover labels from the same demonstration areas, not independent field validation. Our results should therefore be treated as estimates rather than ground truth.
Who it's for and how it scales
- Users: Carbon-credit buyers who want to scrutinize the credits they hold, registries and marketplaces that need transparent project-status information, and auditors, NGOs, and researchers who want to inspect or reproduce the analysis.
- Scalability: Sentinel-2 provides globally available satellite imagery, with a nominal revisit frequency of about five days and spatial resolution of 10 metres for its relevant visible and near-infrared bands. CanopyCheck processes imagery for selected project areas rather than requiring analysis of entire countries at once. Actual coverage and usable observations depend on cloud conditions and image availability.
- Adoption: The ERC-1155-based approach could be integrated by compatible marketplaces and monitoring platforms as an additional verification layer. Existing registries could use CanopyCheck's evidence and status information alongside their current processes. Integration would require deployment, independent validation, and cooperation from the relevant platforms.
What's next for CanopyCheck
Our next steps are to validate the model against independent forest-loss datasets and spatially separate test areas, use real project boundaries, and strengthen the reference-area selection process.
We also want to introduce independent checker organizations, stronger governance and accountability mechanisms, durable evidence storage such as IPFS, and deployment to a public blockchain.
Ultimately, we want CanopyCheck to help carbon-credit buyers and auditors inspect environmental evidence and challenge questionable claims, connecting forest monitoring to meaningful, transparent consequences.
If the forest disappears, the credit freezes.
Built With
- carbon-markets
- chai
- cloud-optimized-geotiff
- erc-1155
- esa-worldcover
- esri-world-imagery
- ethers.js
- geotiff.js
- hardhat
- javascript
- leaflet.js
- logistic-regression
- machine-learning
- microsoft-planetary-computer
- mocha
- node.js
- openzeppelin
- proj4
- react
- remote-sensing
- satellite-imagery
- sentinel-2
- solidity
- stac
- vite
Log in or sign up for Devpost to join the conversation.