Live on Base Sepolia Testnet

Streamline On-Chain Grants
with Verifiable Milestones.

Lock funds securely and release them automatically as milestones are approved. Transparent, accountable, and trustless.

$0
Total Locked Value
$0
Total Distributed
0
Active Grants
0
Verified Milestones

Everything in one place

Track every grant, milestone, and disbursement from a clean dashboard. Verifiers review evidence and approve on-chain with a single click.

๐Ÿ”’ Escrow โœ“ IPFS Evidence โšก Auto-Release ๐Ÿ” Audit Trail
grantstream.xyz/app
โŠž Dashboard
โ—ˆ My Grants
โœ“ Verify
โ†‘ Leaderboard
Locked
$5,000
โ†‘ 12% week
Distributed
$1,000
โ†‘ 3.4% week
Active
1
grant
ETHGlobal Build Grant
0x71C7656E...ffb8979F
5000 USDC
Activity Feed
โœ“ Milestone 1 approved for 1000 USDC
โœ“ Milestone 2 approved for 1500 USDC
โ—ˆ Grant created: ETHGlobal Build G...

Built for accountability

๐Ÿ”’
Trustless Escrow
Funds are locked in a smart contract. No admin can sweep them. Only milestone approval unlocks each tranche.
๐Ÿ“‹
Milestone-Gated Release
Define N milestones upfront. Each milestone has an assigned USDC amount. Nothing moves until it's verified.
๐ŸŒ
IPFS Evidence
Grantees attach IPFS links as proof of work. Evidence is permanently stored and tied to each milestone on-chain.
โœ…
On-Chain Verification
Verifiers approve or reject with a signed transaction. Every decision is immutable and publicly auditable.
โšก
Automatic Disbursement
Approval triggers instant USDC release to the grantee wallet. No manual transfers. No delays. No trust needed.
๐Ÿ“Š
Full Audit Trail
Every create, submit, approve, and reject is logged on-chain. Complete history from any block explorer.

How it works

01
Funder creates a grant
Set the grantee wallet, total USDC amount, number of milestones, and per-milestone amounts. Funds are locked in the escrow contract at creation.
02
Grantee submits evidence
For each milestone, the grantee submits an IPFS link with proof of completion โ€” code, designs, reports, or any agreed deliverable.
03
Verifier reviews on-chain
The assigned verifier (or DAO multisig) reviews the submission and signs an approve or reject transaction. All outcomes are immutable.
04
Funds release automatically
Approval triggers instant USDC transfer to the grantee. The cycle repeats for every milestone until the grant is fully disbursed.

Ready to fund with accountability?

Launch your grant program in minutes. Milestone-based disbursement, built on-chain.

Total Locked Value
$8,500
โ†‘ +12% this week
Total Distributed
$3,250
โ†‘ +3.4% this week
Active Grants
3
โ†‘ 1 new this week
Milestones Verified
11
โ†‘ 4 pending review
Live Activity
Top Verifiers
#VerifierApprovedReputation
Top Grantees
#GranteeEarnedMilestones
GrantStream Documentation
On-chain grant milestone disbursement protocol
GrantStream is an on-chain protocol for milestone-based grant disbursement. Funders lock USDC in a smart contract; grantees unlock each tranche by completing verifiable milestones.
git clone https://github.com/teethaking/GrantStream
cd GrantStream
bun install
bun dev
Create Grant
โ†’
Lock Funds
โ†’
Submit Evidence
โ†’
Verify
โ†’
Release โœ“
// Create a new grant
createGrant(recipient, totalAmount, milestones[])

// Grantee submits evidence for milestone N
submitMilestone(grantId, milestoneIndex, ipfsHash)

// Verifier approves โ†’ funds release automatically
approveMilestone(grantId, milestoneIndex)

// Verifier rejects โ†’ grantee can resubmit
rejectMilestone(grantId, milestoneIndex, reason)
Frontend
React + TypeScript + Vite
Contracts
Solidity + Hardhat
Storage
IPFS (evidence)
Chain
Base / Base Sepolia