project screenshot 1
project screenshot 2
project screenshot 3
project screenshot 4
project screenshot 5
project screenshot 6

ImProof

Conditional donations with verifiable impact via Chainlink and public data.

ImProof

Created At

ETHGlobal Cannes

Project Description

ImProof – Impact, but with proof ImProof is a donation protocol (deployed on Base) that ensures funds are released only when verifiable impact is achieved.

Unlike traditional donation models that disburse funds upfront without guarantees, ImProof enables micro-donations that are securely held in on-chain vaults. These funds are released only when predefined, objective conditions are met, based on data from independent, publicly available sources - never controlled by the donation recipient.

Each vault can define its own impact conditions, which determine when the funds are released. These conditions are tied to the chosen data source and its measurable metrics.

ImProof is ideal for impact-driven giving, such as:

  • “Release $500 when 200 kg of plastic have been collected”
  • “Fund reforestation only if 1,000 trees are verified via satellite data”

By combining smart contracts, Chainlink Functions, and ENS, ImProof creates a transparent, trustless, and verifiable bridge between real-world results and on-chain donations.

How it's Made

ImProof is built using the following technologies and frameworks:

Scaffold-ETH (with Foundry + Next.js): We used Scaffold-ETH as the foundation of the project, combining:

  • Foundry for fast and robust smart contract development and testing
  • Next.js for building a modern and responsive frontend
  • Tailwind CSS for styling

Ethereum (Base)/Solidity: For smart contracts that lock funds in per-project donation vaults and control the payout logic.

Chainlink Functions: Used to fetch and verify off-chain data from public APIs/IPFS. For instance, we simulate data like “200kg plastic collected” via Chainlink to trigger on-chain conditions.

ENS (Ethereum Name Service): Every donation vault gets a human-readable ENS name (e.g., greenfund.eth). Donors are also recognized via their ENS names for better transparency and traceability.

IPFS: Used to store project-related raw progress data or files that the Chainlink Function can reference for validation.

1inch API (optional – nice-to-have - not done): Allows donors to contribute in any ERC-20 token, which is automatically swapped to a stablecoin (like USDC or ZCHF) via the 1inch API.

background image mobile

Join the mailing list

Get the latest news and updates