{"name":"Hunch","tagline":"Parimutuel crypto prediction markets on Base, built for autonomous agents — keyless x402 betting with automatic USDC payouts.","baseUrl":"https://www.playhunch.xyz","version":"hunch-agent-api-v1","headline":"Winners are paid automatically on resolution — no claim step. Simulate any bet for $0 before funding.","stability":{"level":"beta","sunsetPolicyMonths":6,"versionedPath":"/api/agent/v1","note":"Beta: responses may gain fields (they are non-strict). Any breaking change or sunset of /api/agent/v1 comes with at least 6 months' notice published in these manifests."},"auth":{"type":"x402","network":"base","asset":"USDC","note":"Keyless — no API key or signup; the paying Base wallet is the account. Reads are unauthenticated; only POST /api/agent/v1/trade settles via x402."},"contact":{"url":"https://www.playhunch.xyz","email":"rajkaria98@gmail.com"},"capabilities":[{"id":"discover_markets","name":"Discover markets","description":"Find open prediction markets by free text, token symbol, or a raw social post."},{"id":"research_markets","name":"Research markets","description":"Pull decision-grade research per market: resolution rules, live odds, odds history, observations, price impact, related markets."},{"id":"quote_bets","name":"Quote bets","description":"Price a bet before placing it — tier, price, estimated shares, fee breakdown, and a 60-second quoteId for slippage-bound execution."},{"id":"place_bets","name":"Place bets (x402, no cap, simulate mode)","description":"Settle real USDC bets on Base via x402 — $1 floor, NO maximum; bets above $10 carry a quoteId plus a slippage bound; simulate mode runs the full pipeline for $0."},{"id":"track_positions","name":"Track positions","description":"List a wallet's open and resolved positions with live PnL."},{"id":"verify_results_and_proofs","name":"Verify results and proofs","description":"Read market resolutions and fetch the durable on-chain settlement proof for any trade."},{"id":"receive_resolution_events","name":"Receive resolution events (webhooks/SSE/polling)","description":"Subscribe to resolution and payout events via HMAC-signed webhooks, SSE, or polling."}],"endpoints":{"list_markets":{"method":"GET","path":"/api/agent/v1/markets","url":"https://www.playhunch.xyz/api/agent/v1/markets","status":"live","summary":"List tradeable markets with live odds.","params":"?status=&type=&token=&ids=&limit="},"get_market":{"method":"GET","path":"/api/agent/v1/markets/{id}","url":"https://www.playhunch.xyz/api/agent/v1/markets/{id}","status":"live","summary":"One market's full reference: question, odds, outcomes, deadline, fee, links."},"research_market":{"method":"GET","path":"/api/agent/v1/markets/{id}/research","url":"https://www.playhunch.xyz/api/agent/v1/markets/{id}/research","status":"live","summary":"Decision-grade research: resolution rules, odds history, observations, price impact, related markets."},"discover_markets":{"method":"GET","path":"/api/agent/v1/discover","url":"https://www.playhunch.xyz/api/agent/v1/discover","status":"live","summary":"Search markets by free text, or rank matches for a raw social post.","params":"?q= or ?post="},"sentiment":{"method":"GET","path":"/api/agent/v1/sentiment","url":"https://www.playhunch.xyz/api/agent/v1/sentiment","status":"live","summary":"Crowd-conviction signal for a token: pool-weighted sentiment + the bet it points to.","params":"?token="},"quote_bet":{"method":"GET","path":"/api/agent/v1/quote","url":"https://www.playhunch.xyz/api/agent/v1/quote","status":"live","summary":"Price a bet: tier, priceCents, estimatedShares, fee breakdown, 60s quoteId.","params":"?marketId=&side=&sizeUsd="},"place_bet":{"method":"POST","path":"/api/agent/v1/trade","url":"https://www.playhunch.xyz/api/agent/v1/trade","status":"live","summary":"Place a bet via x402 (USDC on Base). simulate:true = $0 dry-run of the full pipeline. $1 floor, NO maximum."},"list_positions":{"method":"GET","path":"/api/agent/v1/positions","url":"https://www.playhunch.xyz/api/agent/v1/positions","status":"live","summary":"A wallet's open + resolved positions with live PnL (merges the Bankr partner rail).","params":"?wallet="},"get_result":{"method":"GET","path":"/api/agent/v1/result","url":"https://www.playhunch.xyz/api/agent/v1/result","status":"live","summary":"A market's resolution status, winning outcome, and payout-per-share.","params":"?marketId="},"get_proof":{"method":"GET","path":"/api/agent/v1/proof/{tradeId}","url":"https://www.playhunch.xyz/api/agent/v1/proof/{tradeId}","status":"live","summary":"Durable on-chain settlement proof for a trade (Base tx hash + explorer link)."},"check_wallet":{"method":"GET","path":"/api/agent/v1/wallet/{address}/readiness","url":"https://www.playhunch.xyz/api/agent/v1/wallet/{address}/readiness","status":"live","summary":"Wallet readiness: Base USDC balance, min-bet coverage, funding guidance (gas never needed)."},"get_stats":{"method":"GET","path":"/api/agent/v1/stats","url":"https://www.playhunch.xyz/api/agent/v1/stats","status":"live","summary":"Platform trust stats: markets, volume, payouts, auto-payout rate, proof samples."},"get_health":{"method":"GET","path":"/api/agent/v1/health","url":"https://www.playhunch.xyz/api/agent/v1/health","status":"live","summary":"Liveness + trading status. 200 even when degraded; ok:false means paused."},"getting_started":{"method":"GET","path":"/api/agent/v1/getting-started","url":"https://www.playhunch.xyz/api/agent/v1/getting-started","status":"live","summary":"The 6-step machine-readable onboarding script with copy-paste examples."},"register_webhook":{"method":"POST","path":"/api/agent/v1/webhooks","url":"https://www.playhunch.xyz/api/agent/v1/webhooks","status":"live","summary":"Register a wallet-signed webhook URL for resolution + payout events."},"delete_webhook":{"method":"DELETE","path":"/api/agent/v1/webhooks/{id}","url":"https://www.playhunch.xyz/api/agent/v1/webhooks/{id}","status":"live","summary":"Remove a webhook registration."},"test_webhook":{"method":"POST","path":"/api/agent/v1/webhooks/{id}/test","url":"https://www.playhunch.xyz/api/agent/v1/webhooks/{id}/test","status":"live","summary":"Send a signed test event to a registered webhook."},"watch_events":{"method":"GET","path":"/api/agent/v1/events","url":"https://www.playhunch.xyz/api/agent/v1/events","status":"live","summary":"SSE stream of a wallet's events (bounded windows; reconnect with Last-Event-ID).","params":"?wallet="},"poll_resolved":{"method":"GET","path":"/api/agent/v1/resolved","url":"https://www.playhunch.xyz/api/agent/v1/resolved","status":"live","summary":"Poll resolved outcomes for a wallet since a timestamp.","params":"?wallet=&since="},"replay_events":{"method":"GET","path":"/api/agent/v1/events/replay","url":"https://www.playhunch.xyz/api/agent/v1/events/replay","status":"live","summary":"Ordered event replay for a wallet from a sequence number.","params":"?wallet=&fromSeq="}},"mcp":{"endpoint":"https://www.playhunch.xyz/api/mcp","transport":"streamable-http","tools":["list_markets","discover_markets","get_market","research_market","token_sentiment","quote_bet","place_bet","list_positions","get_result","get_proof","check_wallet","register_webhook","watch_wallet_events","poll_events"],"scheduledTools":[],"status":"live"},"openapi":"https://www.playhunch.xyz/openapi.json","llms":{"txt":"https://www.playhunch.xyz/llms.txt","full":"https://www.playhunch.xyz/llms-full.txt"},"gettingStarted":"https://www.playhunch.xyz/api/agent/v1/getting-started","sdks":[{"name":"@hunchxyz/agent-sdk","ecosystem":"npm","kind":"library","install":"npm i @hunchxyz/agent-sdk","summary":"Typed client with a built-in x402 USDC loop, one-call webhook verification (verifyWebhook), and auto-reconnecting SSE (onEvents). Reads need no wallet; pass a viem signer to settle real bets."},{"name":"hunch-agent","ecosystem":"pypi","kind":"library","install":"pip install hunch-agent","summary":"Python client (httpx + eth-account) that runs the whole x402 handshake for you — POST, 402, sign EIP-3009, retry with X-PAYMENT. The wallet only needs USDC on Base; gas is sponsored."},{"name":"hunch-agent","ecosystem":"npm","kind":"cli","install":"npx hunch-agent markets","summary":"One-line CLI for terminals and shell scripts: discover, research, quote, simulate for $0, settle real x402 USDC bets, watch resolutions live, or run the tested continuous loop — every command takes --json for jq pipelines."},{"name":"create-hunch-agent","ecosystem":"npm","kind":"scaffolder","install":"npx create-hunch-agent my-bot --loop","summary":"Scaffolds a runnable agent in one command; add --loop for the continuous, intel-driven betting loop. Ships a Dockerfile + a scheduled GitHub Actions workflow, so it deploys anywhere. Simulates by default — set HUNCH_REAL=true with a funded PRIVATE_KEY to go live."}],"registries":{"x402":"https://www.playhunch.xyz/.well-known/x402","note":"MCP registry listings happen at GA; the x402 well-known listing ships with this manifest."},"fees":{"model":"per-market-bps","typicalFeeBps":200,"description":"Each market sets its own fee in basis points — the feeBps field on every market ref, typically 200 (2%). Every quote returns the exact breakdown (feeBps, feeUsd, netStakeUsd). On resolution, winners are paid from the net pool (total stakes minus fees)."},"custody":"Stakes settle to Hunch's Base settlement EOA — the same wallet the automated payout relayer pays winners from. Parimutuel payouts are pool-funded by construction: winners are paid from the pool the losers funded. Winners are pushed USDC automatically on resolution; there is no claim step and no withdrawal queue.","rateLimits":{"quotePerMinutePerIp":30,"tradePerMinutePerWallet":10}}