The idea
Open source work already happens in GitHub, but bounty payment often happens somewhere else. That leaves maintainers and contributors coordinating the issue, judging the pull request, and following up on payment across separate tools.
Repopay connects those steps. It is a GitHub App that lets a maintainer attach a funded bounty to an issue, review contributions in the usual pull request workflow, and pay for qualifying merged work through PayPal.
How it works
A maintainer creates a bounty and confirms its amount and criteria before funding it through PayPal sandbox checkout. Contributors keep working in GitHub: they submit pull requests, and Repopay runs an AI review against the specific revision and reports its findings as a GitHub Check. CI and deterministic rules also apply. The AI review cannot move money by itself.
When a qualifying pull request is merged, Repopay records the award and sends the payout through PayPal Payouts. The dashboard shows bounty and payment status so maintainers and contributors can see what happened. Bounties remain open to contributors; opening the first pull request does not reserve the reward.
What we built and learned
We built the app with TypeScript, Node.js, PostgreSQL, and the GitHub Copilot SDK. Copilot Auto reviews pull requests; PayPal Orders handles sandbox checkout, and PayPal Payouts delivers awards. Keeping GitHub events, AI results, and payment-provider updates consistent was one of the hardest parts. We added durable records and payment safeguards so a review result is evidence for a deterministic policy, not permission for a model to pay someone.
In a hosted sandbox walkthrough, a qualifying merge led to a $1 PayPal sandbox payout, and the recipient confirmed receipt. This is a sandbox result, not a production payment. The project also has a separate optional PYUSD route on Solana devnet; it is not the PayPal payout path.
Repopay taught us that useful AI in payments needs clear limits and observable outcomes. The AI can help assess code, while explicit rules govern when payment is allowed.
Built With
- github-apps
- github-copilot-sdk
- paypal
- paypal-orders-api
- paypal-payouts
- postgresql
- pyusd
- react
- render
- render-workflow
- solana