{"openapi":"3.1.0","info":{"title":"BountyCheck","version":"0.1.0","description":"Automated claimability checks for GitHub bounty issues, paid per call in USDC on Base via x402. Built and operated by an autonomous AI agent (Claude) for Sam Gelosh. Data is machine-generated from public GitHub data; verify before you rely on it.","license":{"name":"MIT"},"x-guidance":"Free: GET /v1/stats and GET /v1/sample. Paid, x402 v2 on Base USDC: GET /v1/x402/preflight?url=https://host/path ($0.01, checks whether any endpoint returns a well-formed x402 challenge), GET /v1/claimable ($0.05, full dataset of GitHub bounty claimability verdicts) and GET /v1/check?issue=owner/repo%23123 ($0.02, one verdict). Unpaid calls to paid routes return 402 with the payment requirements; error responses are never charged."},"servers":[{"url":"https://bountycheck.vercel.app"}],"paths":{"/health":{"get":{"summary":"Liveness","security":[],"responses":{"200":{"description":"{ok:true, generated_at}"}}}},"/v1/stats":{"get":{"summary":"Counts by verdict and USD totals","security":[],"responses":{"200":{"description":"Stats"}}}},"/v1/sample":{"get":{"summary":"Three real records","security":[],"responses":{"200":{"description":"Sample records"}}}},"/llms.txt":{"get":{"summary":"Plain-text description for agents","security":[],"responses":{"200":{"description":"text/plain"}}}},"/v1/claimable":{"get":{"summary":"Full dataset ($0.05 USDC)","x-payment-info":{"protocol":"x402","scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"50000","payTo":"0x3D612420D3F72e41A5900A2C9768C1f46f5c4B4A","price":{"mode":"fixed","currency":"USD","amount":"0.050000"},"protocols":[{"x402":{}}]},"responses":{"200":{"description":"{generated_at, count, records[]} sorted claimable first, then amount desc","content":{"application/json":{"schema":{"type":"object","properties":{"generated_at":{"type":"string"},"count":{"type":"integer"},"records":{"type":"array","items":{"type":"object","properties":{"issue":{"type":"string","example":"owner/repo#123"},"url":{"type":"string"},"title":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"amount_usd":{"type":["number","null"]},"verdict":{"type":"string","enum":["claimable","contested","restricted","not_real_money","dead","unclear"]},"reasons":{"type":"array","items":{"type":"string"}},"signals":{"type":"object","additionalProperties":true}}}}}}}}},"402":{"description":"Payment Required (x402 v2). PAYMENT-REQUIRED header and JSON body list: scheme exact, network eip155:8453, asset 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913, amount 50000 ($0.05 USDC, 6 decimals), payTo 0x3D612420D3F72e41A5900A2C9768C1f46f5c4B4A."}}}},"/v1/x402/preflight":{"get":{"summary":"Preflight an x402 endpoint ($0.01 USDC)","x-payment-info":{"protocol":"x402","scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"10000","payTo":"0x3D612420D3F72e41A5900A2C9768C1f46f5c4B4A","price":{"mode":"fixed","currency":"USD","amount":"0.010000"},"protocols":[{"x402":{}}]},"parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string"},"description":"Public https URL of the endpoint to check"}],"responses":{"200":{"description":"Preflight result: reachable, is_x402, x402_version, status, accepts[] with decoded price_usd, problems[], notes[]","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"Bad or private target (not charged)"},"402":{"description":"Payment Required (x402 v2). PAYMENT-REQUIRED header and JSON body list: scheme exact, network eip155:8453, asset 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913, amount 10000 ($0.01 USDC, 6 decimals), payTo 0x3D612420D3F72e41A5900A2C9768C1f46f5c4B4A."}}}},"/v1/check":{"get":{"summary":"One issue verdict ($0.02 USDC)","x-payment-info":{"protocol":"x402","scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"20000","payTo":"0x3D612420D3F72e41A5900A2C9768C1f46f5c4B4A","price":{"mode":"fixed","currency":"USD","amount":"0.020000"},"protocols":[{"x402":{}}]},"parameters":[{"name":"issue","in":"query","schema":{"type":"string"},"description":"owner/repo#123 (URL-encode # as %23)"},{"name":"url","in":"query","schema":{"type":"string"},"description":"https://github.com/owner/repo/issues/123 (alternative to issue)"}],"responses":{"200":{"description":"One record plus \"source\": \"dataset\" | \"live\"","content":{"application/json":{"schema":{"type":"object","properties":{"issue":{"type":"string","example":"owner/repo#123"},"url":{"type":"string"},"title":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"amount_usd":{"type":["number","null"]},"verdict":{"type":"string","enum":["claimable","contested","restricted","not_real_money","dead","unclear"]},"reasons":{"type":"array","items":{"type":"string"}},"signals":{"type":"object","additionalProperties":true}}}}}},"400":{"description":"Bad input (not charged)"},"402":{"description":"Payment Required (x402 v2). PAYMENT-REQUIRED header and JSON body list: scheme exact, network eip155:8453, asset 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913, amount 20000 ($0.02 USDC, 6 decimals), payTo 0x3D612420D3F72e41A5900A2C9768C1f46f5c4B4A."},"404":{"description":"Issue not found (not charged)"},"502":{"description":"GitHub unreachable or rate-limited (not charged)"}}}}}}