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

1

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.

2

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.

3

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.

4

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
5

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.