Find GitHub issues with real payout signals before you spend hours on the wrong bounty.
Bounty Radar is a zero-backend dashboard for developers and agent builders who hunt paid open-source work. It opens with a hosted daily shortlist, can run fresh GitHub issue searches in the browser, scores payout credibility signals, classifies each issue as quick-win, high-value, rail-watch, manual-review, or avoid, highlights Base/USDC/x402/MergeWork keywords, extracts payout addresses, and exports a shortlist you can review before opening a PR.
The browser checker now includes payout lint warnings for common irreversible-payment mistakes such as malformed EVM addresses, zero addresses, bad EIP-55 checksums, non-checksummed EVM addresses, and USDC text without explicit chain context. Use Payout Address Lint when you want the same idea as a reusable CLI or GitHub Action in a bounty repository.
Live demo: https://go165.github.io/bounty-radar/
Daily feed: https://go165.github.io/bounty-radar/feed/latest.json
RSS feed: https://go165.github.io/bounty-radar/feed/latest.xml
Agent handoff: docs/agent-handoff.md
Agent discovery: https://go165.github.io/bounty-radar/.well-known/agent.json
LLM context: https://go165.github.io/bounty-radar/llms.txt
Claim-before-coding workflow: docs/claim-before-coding.md
Paid alert API deployment guide: docs/paid-alert-api.md
GitHub has many issues labeled bounty, reward, or paid, but the quality varies. Developers need to answer a few questions quickly:
- Is there an actual payment path, or only vague marketing copy?
- Does the issue mention USDC, Base, x402, MRWK, MergeWork, Gitcoin, TipLink, or another payout rail?
- Is there a visible payout address or claim process?
- Can I export a small list and inspect it before investing time?
Bounty Radar makes that triage fast without asking for your GitHub token by default.
- Preset searches for high-signal bounty issues, Base/USDC work, x402 paid APIs, and MergeWork/MRWK opportunities.
- Live hosted shortlist loaded from the daily JSON feed so the demo has useful results immediately.
- Custom GitHub issue search with optional minimum payout keyword filtering.
- Payout signal score based on title/body labels, payment rail terms, reward amounts, address hints, and payout lint risk.
- Opportunity classes and effort scores so agents and developers can filter for quick wins, high-value work, rail-specific leads, and manual-review cases.
- Best-effort repository quality signals for stars, forks, recent push activity, and archived status.
- Saved watchlists in local storage for repeated bounty scans.
- Shareable search URLs for posting a preset, keyword set, and result limit to relevant communities.
- Daily JSON/CSV/RSS feed generated by GitHub Actions for agents, dashboards, subscribers, and alert pipelines.
- Machine-readable feed manifest and JSON Schema for automation that should validate the feed before consuming it.
- Agent discovery metadata and
llms.txtfor directories, coding agents, and LLM-powered workflows. - Zero-dependency shortlist CLI for coding agents and CI jobs that need Markdown, JSON, or CSV output from the hosted feed.
- Zero-dependency MCP stdio server with
search_bountiesandget_bountytools for MCP-capable coding agents. - Claim-before-coding audit that checks comments and related PRs before a developer or agent spends time on a bounty.
- Paid alert API prototype with a free preview route and a 402-style paid endpoint.
- x402 paid API deployment guide for turning the feed into an agent-readable paid alert API.
- Address extraction and linting for EVM
0x..., StellarG..., and MRWKmrwk1...-style addresses. - CSV export for shortlists.
- No backend: runs as static HTML/CSS/JS on GitHub Pages.
- Optional GitHub token stored only in browser session storage for higher API rate limits.
Open the hosted demo, or run locally:
git clone https://github.com/go165/bounty-radar.git
cd bounty-radar
python3 -m http.server 8080Then open http://localhost:8080.
Try the hosted feed in 30 seconds:
npm test
npm run shortlist -- --min-score 50 --require-amount --require-rail --limit 10
node scripts/shortlist.mjs --feed https://go165.github.io/bounty-radar/feed/latest.json --preset x402 --format markdownRun the agent-friendly shortlist CLI without installing runtime dependencies:
npm run shortlist -- --preset mergework --format json
npm run shortlist -- --min-score 30 --opportunity quick-win --max-effort-score 30 --format markdown
npm run shortlist -- --feed feed/latest.json --signal 'x402|USDC|MRWK' --format csvRun the MCP server for Claude Desktop, Codex, or another MCP client:
node scripts/mcp-server.mjsExample client configuration:
{
"mcpServers": {
"bounty-radar": {
"command": "node",
"args": ["/absolute/path/to/bounty-radar/scripts/mcp-server.mjs"]
}
}
}The server exposes:
| Tool | Purpose |
|---|---|
search_bounties |
Filter the hosted or local feed by score, preset, rail, amount, opportunity class, effort score, and output format. |
get_bounty |
Fetch one feed item by GitHub issue URL so an agent can inspect the exact payout signals and decision notes. |
The npm package metadata includes mcpName: io.github.go165/bounty-radar, executable bins for the MCP server and shortlist CLI, and a server.json manifest for MCP Registry publishing. Publishing still requires a public npm release followed by mcp-publisher publish.
Audit competition before opening a claim or PR:
npm run audit:shortlist -- --limit 8 --require-rail --min-amount-usd 50 --max-competition-score 40- Open the demo to see the latest hosted shortlist from
feed/latest.json. - Pick a preset such as
Base / USDCorx402 paid APIsfor a fresh browser-side scan. - Add optional keywords like
good first issue,bug,docs, or a specific ecosystem. - Click Copy Link to share the exact search, or Scan GitHub to run it.
- Export CSV before deciding what to work on.
Example share URL:
https://go165.github.io/bounty-radar/?preset=base-usdc&q=good%20first%20issue&limit=20
The score is intentionally simple and visible:
| Signal | Weight |
|---|---|
Payout keywords (bounty, reward, paid, prize) |
+12 |
Crypto rails (USDC, Base, x402, MRWK, MergeWork) |
+18 |
Amount-like text ($250, 100 USDC, 500 MRWK) |
+16 |
| Payout address present | +20 |
| Issue labels include bounty/reward/help wanted | +8 |
| Repository quality: stars, forks, recent push activity | +3 to +15 |
| Stale issue penalty | -8 |
This is triage, not financial advice. Always inspect the issue, sponsor, repository history, and payout terms yourself.
Repository quality metadata is fetched sequentially and capped to avoid burning unauthenticated GitHub API limits. Add a token for higher limits when scanning large result sets.
Every generated feed row includes a decision layer for agents and repeated manual triage:
| Field | Meaning |
|---|---|
opportunity_class |
quick-win, high-value, rail-watch, standard, manual-review, or avoid. |
effort_score |
0-100 heuristic where lower usually means easier to attempt. |
effort_signals |
Explainable hints such as good-first-issue, docs-or-tests, security-sensitive, or external-access. |
decision_notes |
Short reasons an agent should inspect before claiming work. |
Filter for lightweight candidates:
npm run shortlist -- --min-score 30 --opportunity quick-win --max-effort-score 30 --min-amount-usd 50- TAM / audience: independent developers, agent builders, open-source maintainers, and onchain bounty operators who need faster paid-work discovery.
- Differentiation: GitHub-native bounty triage focused on payout credibility, not another generic issue search or closed marketplace.
- Star-worthy hook: a static, inspectable tool that developers can bookmark, run locally, and extend with their own bounty rails.
- Agent distribution hook: MCP tools let coding agents search and inspect bounty opportunities without scraping the UI.
- Monetization path: hosted alerts, JSON feeds, webhooks, and x402-paid API access for teams and autonomous coding agents.
- 7-day demo feasibility: the browser demo is already live; the next compounding features are daily digests, validators, and shareable feeds.
- Day 1: Static dashboard, presets, scoring, CSV export. Shipped.
- Day 2: Add saved watchlists in local storage. Shipped.
- Day 3: Add GitHub repo reputation panel: stars, forks, and activity signals. Shipped.
- Day 4: Add shareable preset URLs for launch posts and community review. Shipped.
- Day 5: Add GitHub Actions daily digest mode. Shipped.
- Day 6: Add hosted JSON/CSV feed for agents and dashboards. Shipped.
- Day 6.5: Auto-load the hosted feed into the demo so visitors see real current opportunities immediately. Shipped.
- Day 7: Ship API/webhook plan for paid alerts. Shipped as
examples/paid-alert-api. - Day 7.5: Add claim-before-coding audit workflow for competition and duplicate PR checks. Shipped.
- Day 7.75: Add opportunity classes, effort scores, and CLI filters for better agent triage. Shipped.
- Free static dashboard for discovery.
- Paid hosted alerts for teams and agents.
- API endpoint for
new high-signal bountyfeeds. - RSS subscriptions for developers who want the same shortlist in their reader.
- Shortlist CLI and JSON feed that can be wrapped by coding agents, CI jobs, or paid x402 endpoints.
- Sponsored but clearly labeled bounty listings.
- Optional x402-paid export endpoints for machine agents.
The scheduled feed is generated from the same public GitHub issue signals as the UI:
- JSON: https://go165.github.io/bounty-radar/feed/latest.json
- CSV: https://go165.github.io/bounty-radar/feed/latest.csv
- RSS: https://go165.github.io/bounty-radar/feed/latest.xml
- Manifest: https://go165.github.io/bounty-radar/feed/manifest.json
- Schema: https://go165.github.io/bounty-radar/feed/schema.json
- Agent discovery: https://go165.github.io/bounty-radar/.well-known/agent.json
- LLM context: https://go165.github.io/bounty-radar/llms.txt
Agents and dashboards can start from the agent handoff guide for endpoint contracts, a minimal consumer, and review rules.
Use examples/github-action-digest.yml to post a filtered bounty shortlist to a GitHub Actions job summary on a schedule or manual dispatch.
Use examples/github-action-claim-before-coding.yml when you want the same digest plus comment and related-PR competition checks before choosing work.
Use the included CLI when an agent or CI job needs a filtered shortlist instead of the full feed:
npm run shortlist -- --min-score 50 --require-amount --require-rail --format markdown
npm run shortlist -- --opportunity high-value --max-risk-score 25 --format markdown
npm run shortlist -- --feed https://go165.github.io/bounty-radar/feed/latest.json --preset x402 --limit 5 --format jsonUse the included MCP server when an agent should call tools instead of shelling out to the CLI:
node scripts/mcp-server.mjsIts search_bounties tool accepts the same practical filters as the CLI,
including min_score, preset, require_amount, require_rail,
opportunity, max_effort_score, min_amount_usd, and format.
Its get_bounty tool returns the full JSON item for a specific issue URL.
Regenerate the feed locally with a GitHub token for higher API limits:
GITHUB_TOKEN=your_token node scripts/build-feed.mjsThe examples/paid-alert-api server shows how the hosted feed can become a paid alert surface for agents or dashboards. It exposes a free preview route and a 402-style paid route that can later be wired to a real x402 facilitator verifier.
node examples/paid-alert-api/server.mjs
curl 'http://localhost:8787/v1/alerts?min_score=40&limit=5'
curl -i 'http://localhost:8787/v1/paid/alerts?min_score=40'
curl -H 'X-Payment: demo-paid' 'http://localhost:8787/v1/paid/alerts?min_score=40'For the full deployment path using x402-paid-api-starter, Cloudflare Workers, or official @x402/express middleware, see docs/paid-alert-api.md.
- Do not buy stars, trade stars, use fake accounts, spam comments, or mass-DM developers.
- Publish only in relevant communities: Show HN, x402/Base developer channels, GitHub bounty communities, and project Discords where tool sharing is allowed.
- Be transparent that the scoring is heuristic and requires manual verification.
- Do not claim a bounty is guaranteed unless the linked issue states payout terms clearly.
Contributions are welcome when they improve real payout discovery or make the scoring model easier to inspect. Start with CONTRIBUTING.md and include public evidence for new payout rails, presets, or scoring signals.
Short version:
I built Bounty Radar, a static GitHub Pages tool that searches GitHub bounty issues and scores payout signals like USDC/Base/x402/MRWK keywords, amount text, and payout addresses. No backend, optional GitHub token only in session storage. Feedback welcome: https://go165.github.io/bounty-radar/
Long version:
Developers waste time on vague bounty issues. Bounty Radar helps shortlist GitHub issues with clearer payout signals, export CSV, and inspect address/payment hints before starting work. It is open source and runs entirely in the browser.
MIT
