{"uid":"cap_lM-2hZlzoZthLSgKzx3Gm","slug":"bountyverdict-github-bounty-preflight-check-41f82bff","name":"BountyVerdict – GitHub Bounty Preflight Check","description":"Seven bounded decision APIs for coding agents: evidence-linked GitHub due diligence and diagnostics plus deterministic MCP tool-catalog compatibility and security gates. Payment uses x402 v2 and Base USDC.","url":"https://bountyverdict-agent-production.mimirslab.workers.dev/api/bounty-preflight","method":"POST","headers":{},"bodySchema":{"type":"object","required":["issue_url"],"properties":{"issue_url":{"type":"string","description":"Exact canonical public GitHub issue URL without a query string, fragment, or trailing slash."}}},"responseSchema":{"type":"object","required":["product","version","verdict","score","summary","service_reuse","issue","signals","contribution_policy","task_requirements","reward","linked_source","coverage","checked_at","limitations"],"properties":{"issue":{"type":"object","required":["url","submitted_url","transferred","title","state","repository"],"properties":{"url":{"type":"string"},"state":{"type":"string"},"title":{"type":"string"},"repository":{"type":"string"},"transferred":{"type":"boolean"},"submitted_url":{"type":"string"}}},"score":{"type":"integer","maximum":100,"minimum":0},"reward":{"type":"object","required":["state","verification","platform","amount","currency","evidence_url"],"properties":{"state":{"enum":["LISTED","PROMISED","UNVERIFIED","NOT_FOUND","WITHDRAWN","PAID_OR_AWARDED"],"type":"string"},"amount":{"type":["number","null"],"minimum":0},"currency":{"type":["string","null"]},"platform":{"type":["string","null"]},"evidence_url":{"type":["string","null"]},"verification":{"enum":["TRUSTED_PLATFORM_APP","TRUSTED_PLATFORM_API","MAINTAINER_STATEMENT","UNVERIFIED","NONE"],"type":"string"}}},"product":{"type":"string","const":"BountyVerdict"},"signals":{"type":"array","items":{"type":"object","required":["label","impact","detail","evidence_url","hard_stop"],"properties":{"label":{"type":"string"},"detail":{"type":"string"},"impact":{"type":"integer"},"hard_stop":{"type":"boolean"},"evidence_url":{"type":["string","null"]}}}},"summary":{"type":"string"},"verdict":{"enum":["AVOID","CAUTION","VIABLE"],"type":"string"},"version":{"type":"string"},"coverage":{"type":"object","required":["comments_scanned","comments_total","comment_pages_scanned","comments_truncated","timeline_events_scanned","timeline_events_total","timeline_pages_scanned","timeline_truncated","linked_pull_requests_found","policy_documents_scanned","policy_issues_truncated","github_rate_limit_remaining"],"properties":{"comments_total":{"type":"integer","minimum":0},"comments_scanned":{"type":"integer","minimum":0},"comments_truncated":{"type":"boolean"},"timeline_truncated":{"type":"boolean"},"comment_pages_scanned":{"type":"integer","maximum":3,"minimum":1},"timeline_events_total":{"type":"integer","minimum":0},"timeline_pages_scanned":{"type":"integer","maximum":4,"minimum":1},"policy_issues_truncated":{"type":"boolean"},"timeline_events_scanned":{"type":"integer","minimum":0},"policy_documents_scanned":{"type":"integer","minimum":0},"linked_pull_requests_found":{"type":"integer","minimum":0},"github_rate_limit_remaining":{"type":["integer","null"]}}},"checked_at":{"type":"string"},"limitations":{"type":"array","items":{"type":"string"}},"linked_source":{"type":"object","required":["state","url","verdict","reward_state","reward_verification","error_code"],"properties":{"url":{"type":["string","null"]},"state":{"enum":["NOT_APPLICABLE","CHECKED","UNAVAILABLE","DEPTH_LIMITED"],"type":"string"},"verdict":{"enum":["AVOID","CAUTION","VIABLE",null],"type":["string","null"]},"error_code":{"type":["string","null"]},"reward_state":{"enum":["LISTED","PROMISED","UNVERIFIED","NOT_FOUND","WITHDRAWN","PAID_OR_AWARDED",null],"type":["string","null"]},"reward_verification":{"enum":["TRUSTED_PLATFORM_APP","TRUSTED_PLATFORM_API","MAINTAINER_STATEMENT","UNVERIFIED","NONE",null],"type":["string","null"]}}},"service_reuse":{"type":"object","required":["reusable","fresh_result_per_successful_call","reliability","guidance"],"properties":{"guidance":{"type":"string"},"reusable":{"type":"boolean","const":true},"reliability":{"type":"string","const":"bounded_live_check","description":"Describes live evidence collection and explicit coverage bounds; it is not an uptime guarantee."},"fresh_result_per_successful_call":{"type":"boolean","const":true,"description":"A successful response is generated from a new bounded check rather than a cached verdict."}},"additionalProperties":false},"task_requirements":{"type":"object","required":["agent_execution","blockers","capability_requirements"],"properties":{"blockers":{"type":"array","items":{"type":"object","required":["category","source","evidence_url"],"properties":{"source":{"enum":["issue_body","maintainer_comment"],"type":"string"},"category":{"enum":["HUMAN_ELIGIBILITY_OR_IDENTITY","SYNCHRONOUS_HUMAN_PARTICIPATION","AI_AGENT_EXCLUDED"],"type":"string"},"evidence_url":{"type":"string"}}}},"agent_execution":{"enum":["BLOCKED","CAPABILITY_REVIEW_REQUIRED","NO_EXPLICIT_BLOCKER_FOUND"],"type":"string"},"capability_requirements":{"type":"array","items":{"enum":["ACCOUNT_OR_REGISTRATION","API_KEY_OR_PROVIDER_DATA","DEMO_VIDEO","PUBLIC_SOCIAL_POSTING_OR_ENGAGEMENT","SPECIALIZED_HARDWARE","GATED_PLATFORM_VALIDATION"],"type":"string"}}}},"contribution_policy":{"type":"object","required":["ai_use","documents"],"properties":{"ai_use":{"enum":["BLOCKED","DISCLOSURE_REQUIRED","NO_EXPLICIT_RULE_FOUND"],"type":"string"},"documents":{"type":"array","items":{"type":"object","required":["path","url"],"properties":{"url":{"type":"string"},"path":{"type":"string"}}}}}}}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.05","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"registry","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.05/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.05","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.05","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_bGr43VEZdWVLt_pxlL2tL","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.05","costPer":"request","priority":0,"asset":null,"unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Runs a deterministic due-diligence scan on a GitHub issue to produce a VIABLE/AVOID verdict with scored, evidence-linked signals before a coding agent invests time in a bounty.","exampleAgentPrompt":"Before I start working on the TypeORM bounty at https://github.com/typeorm/typeorm/issues/3357, run a preflight check on it — I need to know if it's still viable or if there are any hard stops like a withdrawn reward or maintainer rejection.","exampleUseCases":[{"title":"Screening a bounty before coding","prompt":"I'm about to spend a few hours on this GitHub bounty — can you check https://github.com/expressjs/express/issues/5512 for any red flags like reward cancellations or locked discussions before I start?"},{"title":"Filtering out crowded or rejected issues","prompt":"My agent is considering this issue: https://github.com/vercel/next.js/issues/48748 — run a BountyVerdict preflight so I know if there's an attempt swarm or a maintainer rejection that would make it a waste of time."},{"title":"Automated bounty queue safety gate","prompt":"Before adding https://github.com/prisma/prisma/issues/20002 to my agent's work queue, check whether it has any hard-stop signals like a withdrawn bounty or locked thread that should disqualify it automatically."}],"resultDescription":"Returns a JSON object with a VIABLE or AVOID verdict, a numeric score, and an ordered list of signals each containing a label, human-readable detail, numeric impact, a boolean hard_stop flag, and a direct evidence URL into the GitHub thread. Also includes a summary sentence, coverage stats (comments scanned, timeline events, linked PRs found, GitHub rate-limit remaining), and a checked_at timestamp.","failureModes":["Invalid or inaccessible GitHub issue URL returns an error","GitHub API rate limit exhausted mid-scan, reducing coverage","Private or deleted repository returns an authorization error","Truncated signal details if comment volume exceeds scan limits","Payment failure via x402/Base USDC prevents the call from executing"],"whenToPreferThis":"Choose this endpoint when an AI coding agent needs a fast, structured go/no-go decision on a specific GitHub bounty issue before investing development time. It is especially valuable when operating autonomously at scale — surfacing hard stops like withdrawn rewards or maintainer rejections in a machine-readable format with evidence URLs. Prefer it over manual GitHub browsing or generic LLM summarisation when you need deterministic, scored signals rather than prose opinion.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-15T00:34:08.977Z","isFirstParty":false}