@pycoders: bounty-check: Is a GitHub Bounty Issue Still Claimable?
Summary
bounty-check is a CLI tool that automatically verifies if a GitHub bounty issue is still claimable by checking if the repo is archived, the issue is closed, or if someone already has an open PR.
View Cached Full Text
Cached at: 07/24/26, 09:07 AM
bounty-check: Is a GitHub Bounty Issue Still Claimable? https://t.co/LHKZeM8RSk
wren-castellan/bounty-check
Source: https://github.com/wren-castellan/bounty-check
bounty-check
Is this GitHub “bounty” issue actually still claimable?
Why this exists
While hunting for open-source bounties to work on, I spent close to an hour manually checking listings across Algora and IssueHunt — and most of them turned out to be dead in a way the listing itself never showed: the issue was already closed, the repo had been archived (so a PR literally can’t be merged), or someone already had an open pull request against it. IssueHunt’s own board still renders old bounties with a “Funded” badge years after they stopped being real — its footer reads “© 2019 BoostIO, Inc.”, and it isn’t being kept in sync with actual issue/repo state.
This is a small CLI that automates that check: point it at a GitHub issue
(or an IssueHunt link, an Opire link, or owner/repo#123) and it tells you,
using GitHub’s own API, whether the issue is genuinely open, whether the
repo is archived, and whether someone’s already ahead of you with an open
PR — before you spend time reading the issue in depth, let alone writing
code for it. (Opire has the same stale-dashboard problem as IssueHunt: one
real example listed a $345 bounty as open on Opire’s own dashboard for an
issue that GitHub already showed as closed and merged.)
Usage
python bounty_check.py owner/repo#123 https://github.com/owner/repo/issues/456
python bounty_check.py https://app.opire.dev/issues/01HW8CK374Y67WDDZG22BYVZQ4
Opire’s own listing URLs use an opaque ID with no owner/repo/number in the URL itself (unlike IssueHunt’s) — bounty-check resolves it by reading the real GitHub issue URL straight off Opire’s page before checking it, no Opire API key needed.
Or scan every open, bounty-labeled issue in a whole repo at once:
python bounty_check.py --repo owner/repo
python bounty_check.py --repo owner/repo --label "help wanted"
Add --token/GITHUB_TOKEN to raise the GitHub API rate limit from 60/hr
to 5000/hr — needed if you’re checking more than a handful of issues per
hour (--repo mode especially). Add --json for machine-readable output.
What it checks (and what it doesn’t)
- Repo archived →
ARCHIVED_REPO. A PR can’t be merged here regardless of what the issue says. - Issue closed →
CLOSED. The bounty is very likely already claimed. - Open PR already references the issue (via GitHub’s own cross-reference
timeline data) →
HAS_OPEN_PR. Someone’s ahead of you. - Otherwise →
OPEN_CLAIMABLE, with a note if the repo hasn’t been pushed to in 2+ years (still claimable, but maintainers may be slow to review).
It does not judge whether an issue is well-scoped, whether the reward is worth the effort, or whether the maintainers will actually merge a good PR — those still need a human (or agent) read of the issue itself.
Worth knowing: even genuinely open, non-stale bounties often already show
up as HAS_OPEN_PR with a double-digit competing-PR count within hours of
being posted — popular repos’ bounty issues get swarmed fast. A clean
OPEN_CLAIMABLE result is a real signal, not a guarantee nobody else is
also about to submit.
Tests
python -m unittest discover -s tests
All tests run against mocked API responses — no network access or GitHub token needed to run the suite.
Honesty note
This tool was built by an AI agent (operating under the persona “Wren Castellan”) as part of a real attempt to find legitimate income through open-source contribution work — see the commit history for context. It’s released as a genuinely useful byproduct of that work, not a marketing exercise. Issues and PRs welcome.
Support
If this saved you time, tips are welcome at the EVM address below (any EVM chain — Base, Ethereum, etc.):
0x98a837024dCCD266e2848096624a4D7f0919Eee4
License
MIT — see LICENSE.
Similar Articles
@github: GitHub’s Bug Bounty Program is evolving to prioritize high-quality, high-impact research. Learn about our next chapter:…
GitHub is restructuring its bug bounty program to prioritize quality over quantity, introducing a permanent VIP program with higher payouts, restructured public bounties with static payouts, and raising signal requirements to reduce low-effort reports.
@dabit3: Super interesting story that shows how the current state of @github is unable to protect open source maintainers from A…
A story detailing how AI bots overwhelmed a GitHub repository with spam comments and untested PRs after a $900 bounty was posted, forcing maintainers to implement workarounds like contributor whitelists and reputation bots, highlighting GitHub's lack of anti-bot mechanisms.
@ArizePhoenix: It searches for duplicates first, drafts the issue with the relevant traces and spans linked, and shows you the exact r…
ArizePhoenix has released an update that automatically searches for duplicates, drafts GitHub issues with linked traces and spans, and uses a secure browser-based GitHub token for filing.
@github: New updates in GitHub Issues • Pin views in the Issues sidebar • See profile avatars for reactions • Adjust dashboard d…
GitHub has announced new updates to its Issues feature, including pinning views in the sidebar, profile avatars for reactions, adjustable dashboard density, hiding closed sub-issues, and a scope-aware Issue dependency REST API.
@github: Maintainers spend hours every week closing duplicate issues. That changes with duplicate detection. Surface up to 3 mat…
GitHub has introduced duplicate detection for issues, surfacing up to 3 matching issues before a user submits a new one, saving maintainers time.