How It Works

zkGrants combines GitHub verification with blockchain smart contracts to create trustless software bounties

The Big Picture

zkGrants enables anyone to fund specific code contributions with cryptocurrency. When a contributor successfully completes the work (verified by GitHub), they can generate a cryptographic proof and claim the reward automatically—no middleman required.

We use zkTLS (Zero-Knowledge TLS) proofs to verify GitHub API responses. This means the smart contract can trustlessly confirm that a PR was merged or a CI check passed, without relying on any centralized oracle.

Step by Step

1

Funder Creates a Grant

A project maintainer or sponsor creates a grant by specifying:

  • Repository & Branch: Which repo and target branch (e.g., main)
  • Judging Mode: Either "PR Merged" or "CI Check Passed"
  • Award Amount: ETH, SOL, or stablecoins
  • Deadline: When the grant expires
2

Funds Are Locked On-Chain

The funder deposits the award amount into the zkGrants smart contract. The funds are locked and can only be released when a valid proof is submitted—or refunded to the funder after the deadline if unclaimed.

3

Contributors Build & Submit PRs

Developers work on the code and submit pull requests to the target repository. The work proceeds like any normal open source contribution—through code review and iteration.

4

Generate zkTLS Proof

Once the PR is merged (or CI passes), the contributor uses our prover to generate a zkTLS proof. This proof cryptographically demonstrates:

  • The GitHub API response is authentic (signed by GitHub's TLS certificate)
  • The PR was merged to the correct branch / CI check passed
  • The contributor is the PR author
5

Submit Proof & Claim Reward

The contributor submits the proof to the smart contract. The contract verifies the proof on-chain and, if valid, instantly transfers the award to the contributor's wallet. No intermediaries, no delays.

Technical Details

🔐zkTLS Proofs

We use TLSNotary-based proofs that verify TLS session data without revealing the full response. The proof confirms authenticity while keeping unnecessary data private.

⛓️Multi-Chain Support

zkGrants works on both Ethereum (and L2s) and Solana. The same proof format works across chains—only the smart contract implementation differs.

🎯Judging Modes

Merge-based: PR must be merged by a maintainer.
CI-based: Specified workflow must pass (great for automated testing challenges).

💸Fee Structure

A small 4% platform fee is deducted upfront when creating a grant. This fee is non-refundable and helps maintain the platform.

Ready to Get Started?

Create your first grant or browse existing opportunities