On-chain payroll for GitHub issues.

Lock USDC against an open issue. When the pull request lands in main, the smart contract pays the contributor — no invoices, no Stripe, no accounting back-and-forth.

Escrow
On-chain
Network
Base · 8453
Asset
USDC
gitpay.app/bounty/0x7b3a…42c8
paid
01
Issue
Fix N+1 query when using nested include
bugperformancegood-first-issue
prisma/prisma-orm · #28941opened by @janpio
02
Bounty locked
1,200.00 USDC escrowed
Sponsor 0xa4F6…005c30-day SLA · expires May 20
03
PR merged
prisma/prisma-orm#29017 → main
Author @svemoltpmerged 2h ago
04
Payout
1,200.00 USDC released
0x9c4f…8b3a · block 21,548,302View on BaseScan ↗

How it works

From issue to payout in four steps.

One contract, one merge, one transaction. No back-channel invoicing, no off-chain promises.

  1. 01

    Open the issue

    Use GitHub the way you always have. File the bug or feature in your repo and describe the desired outcome.

  2. 02

    Lock the bounty

    Connect your wallet, attach a USDC amount to the (repo, issue) pair, and set an expiry. Funds sit in escrow.

  3. 03

    Merge the PR

    Review and merge the contributor's pull request on GitHub. No extra UI, no extra dashboard.

  4. 04

    Contract pays

    GitPay's oracle reads the merge event and releases USDC straight to the PR author's wallet on Base.

Live preview

Realistic bounty cards.

What a fully-stocked board will look like once the contract is live and projects start attaching budgets to their backlog.

vercel/next.jsOPEN

#67421 · Cache busting for partial prerender

bugapp-router
850USDC
by 0xa4F6…005c
Expires
12d
wevm/wagmiOPEN

#4218 · watchAccount fires twice on reconnect

bug
300USDC
by 0xeC1B…379c
Expires
5d
tailwindlabs/tailwindcssREVIEW

#14820 · @theme inline doesn't resolve runtime vars

docs
500USDC
by 0x6433…249a
Expires
21d
rainbow-me/rainbowkitOPEN

#2103 · Custom chain icon flickers in modal

ui
200USDC
by 0x153D…A136
Expires
8d
foundry-rs/foundryOPEN

#8847 · forge verify-contract fails @1M optimizer

bugcritical
1,000USDC
by 0x55C4…E444
Expires
3d
ethers-io/ethers.jsPAID

#4912 · BigNumberish overflow on 256-bit return

typescript
600USDC
by 0x36d0…F736
Settled

Examples shown for layout reference — pre-launch state. Live bounties appear once BountyVault is deployed and verified.

Why GitPay

Built for teams that want maintainers paid, not chased.

On-chain escrow

USDC sits inside BountyVault.sol on Base. No GitPay-owned wallet, no custodial surface, no rug vector.

GitHub-linked payout

An oracle observes the merge event from GitHub's API and triggers on-chain release. PR author's wallet receives USDC directly.

Built on Base

Settles in seconds, ~$0.0001 per payout. Native USDC liquidity through Circle's official Base deployment.

No invoices, no NET-30

Skip vendor onboarding, contractor forms, and accounting workflows. Every payout has an immutable BaseScan receipt.

Contract verifiable on BaseScan · open-source on GitHub at launch
chain 8453 · usdc 0x8335…2913