Fund an issue
Anyone can put USDC on any public GitHub issue. The money sits in the contract, and if nothing merges by the deadline, funders take their share back.
MergePay puts USDC on GitHub issues and pays whoever merges the fix. It takes seconds and runs on Arc. GitHub signs the proof of the merge, and the contract checks that signature itself. There's no bot, no backend and no key to trust.
● live on arc mainnet
Funding, awards and payouts are all contract events on Arc. This feed is read straight from the chain, not from a database we could edit.
Anyone can put USDC on any public GitHub issue. The money sits in the contract, and if nothing merges by the deadline, funders take their share back.
A contributor comments /claim, so nobody else can take their payout, then opens a PR that says “Fixes #42”. When a maintainer merges it, a pinned GitHub workflow asks GitHub to sign a proof.
Arc checks GitHub's signature on-chain and sends the USDC to the author. The PR gets a comment with the receipt. No invoice, no waiting.
Every GitHub Actions job can ask GitHub for a signed identity token. MergePay's contract checks the RSA signature on that token directly on Arc, reads who merged what, and pays. The relayer that submits the proof only covers gas. It can't change who gets paid.
This is what a paid merge looks like. Every line is enforced by the contract, or by the pinned workflow whose GitHub-signed proof the contract checks.
Comment /claim on the funded issue. You're assigned, and only your PR can be paid. One claim at a time per repo, and 7 days with no activity releases it.
Write “Fixes #N” in the PR body. Only merged PRs count: a maintainer's merge is the bar, and closed-without-merge pays nothing.
The recipient's GitHub ID is inside the signed token. If a coding agent opened the PR from a bot account, the human it's assigned to gets paid, not the bot.
Each bounty stores the exact workflow version allowed to award it. Forks and edited copies are rejected.
Before or after the merge. Awards wait in the contract under your GitHub ID. If nobody claims one for 180 days, it goes back to the funders.
Unclaimed bounties become refundable after their expiry, and each funder takes back exactly what they put in.
Each of these has USDC waiting in the contract. Ship the fix and it's yours.
USDC
Bounty, relayer fee and payout are one asset. A first-time contributor with a zero balance gets paid and never needs another token.
<1s
The payout is final the moment its block lands, so the “paid” comment on the PR is a receipt, not a promise.
$0.016
Checking GitHub's 2048-bit signature costs about 770k gas, priced in dollars. Sponsors set a flat relayer fee and never think about gas.
for maintainers & sponsors
for contributors
/claim on a funded issue and ship the fix.The MergePay contract on Arc. We never custody funds. It pays out only on a valid GitHub-signed merge proof, or refunds funders after the deadline.
They'd need GitHub's private signing key. The contract checks the RS256 signature, the repo ID, the event, the pinned workflow and the recipient before paying a cent.
Only a wallet address. Gas is paid by the relayer and reimbursed from the bounty, so a contributor never needs a balance.
After the expiry you chose, every funder can reclaim exactly what they put in, straight from the contract.
No. The first person to comment /claim gets the issue, and only their merged PR is paid. Other PRs get an automatic heads-up that they won't be paid. If the claimant goes quiet for 7 days (no PR, commits or comments), the claim is released for someone else.
You do. If the agent opens the PR under your account, you're the author. If it opens the PR from its own bot account (Copilot, Claude and others can), the payout goes to the human the PR is assigned to, as long as that's the person who claimed the issue. MergePay never takes a wallet address from PR text an agent wrote, so a prompt injection can't redirect the money.
The award waits 180 days for them to link a wallet. After that, anyone can send it back to the funders, split by what each put in. Winners who link in time are never affected.
No platform fee. Each award costs about $0.016 in gas on Arc, covered by a small relayer fee the funder sets. The default is $0.03.
GitHub's signing keys (registered on-chain and checkable against GitHub's public JWKS), and the maintainers' merge decisions. Everything else is code you can read.