Creating Grants
Fund open source development with trustless grants
What is a zkGrant?
A zkGrant is a public offer: "complete this task and get paid." When you publish a grant, the award is locked onchain (Ethereum or Solana), making the payout credible from day one.
zkGrants connects where software happens (GitHub repos, PRs, CI checks) with where payouts settle (onchain escrow). Builders "apply by shipping" — open a PR, pass CI, get paid.
Grant Components
Target Repository
The GitHub repository where work lands. Can be an existing repo (bring-your-own) or a new repo created from a zkGrants template.
Award
Locked onchain at publish time. Supports ETH/ERC-20 on Ethereum and SOL/SPL tokens on Solana (including USDC and USDT).
Judging Mode
How completion is determined: Automatic (CI) — passes required workflow, or Merge-based — maintainer merges the PR.
Step-by-Step Guide
Connect Your Wallet
Connect an Ethereum or Solana wallet that holds the funds you want to lock as the grant award.
Tip: You can create grants without linking a GitHub account for pseudonymous funding.
Choose a Template
Select a payout structure template that matches your intent:
- Winner Takes All
First PR to pass CI or first merged PR wins.
- Best by Deadline
Submissions accepted until deadline; maintainer selects the winner.
- Top N Split
Award split across the best qualifying solutions.
Select Target Repository
Two paths available:
New Idea
Create from a zkGrants template repo with a minimal "definition of done" (required test that must pass).
Existing Repo
Point to an existing repository and reuse its CI as the quality bar.
Configure Grant Rules
Define the completion criteria:
- Select judging mode (CI-based or merge-based)
- Choose required workflow/checks (for CI mode)
- Set deadline (time-limited) or leave open-ended
- Configure refund policy
Fund the Grant
Set the award amount and confirm the onchain transaction. Funds are locked in escrow immediately.
Fee: A 4% platform fee is taken at funding time. The remaining 96% is escrowed for payout.
Best Practices
- Be specific: Clear acceptance criteria reduce disputes and attract serious builders.
- Use existing CI: Leverage your repo's test suite as the quality bar when possible.
- Set reasonable deadlines: Give builders enough time to understand the codebase and deliver quality work.
- Install the GitHub App: For automatic repo/branch fetching and real-time webhook updates.
Next Steps
Ready to create your first grant? Or learn more about the different grant types and judging modes.