{"service":{"name":"aiworker-data","description":"Deterministic-first data for agents, paid per call in USDC over x402 v2: DeFi yields, Base token and wallet cards, Polymarket odds and backtests, news, fact checks, cited briefs. 20 routes, $0.005-$1","base_url":"https://aiworker.duckdns.org","contact":"https://aiworker.duckdns.org/health","version":"0.2.0","protocol":"x402 v2","openapi":"https://aiworker.duckdns.org/openapi.json"},"payment":{"networks":["eip155:8453","solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"],"payTo":{"eip155:8453":"0xb422C9eEB59Be8AE2B659e08dc3EEaF87492544F","solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp":"9cPzBLEmns9SssxTc7a7Y8PQPQM1NoVNDtbWxBuQCNrH"},"facilitators":["https://facilitator.payai.network","https://facilitator.ultravioletadao.xyz","https://x402.dexter.cash"]},"routes":[{"method":"GET","path":"/v1/defi/yields","url":"https://aiworker.duckdns.org/v1/defi/yields","price_usd":"$0.02","description":"DeFi yield pools from DefiLlama, normalized and filterable by chain, project, symbol, stablecoin and min TVL; refreshed every 5 minutes.","tags":["defi","yields","data","crypto"],"needs":["data"],"flow":"authorization","input":{"chain":"base","min_tvl_usd":1000000,"limit":20},"input_schema":{"type":"object","properties":{"chain":{"type":"string","description":"chain name, e.g. base, ethereum, solana"},"project":{"type":"string","description":"DefiLlama project slug, e.g. aave-v3"},"symbol":{"type":"string"},"stablecoin":{"type":"boolean"},"min_tvl_usd":{"type":"number"},"limit":{"type":"integer","minimum":1,"maximum":200,"default":50}}},"output_example":{"count":1,"stale":false,"source":"DefiLlama","pools":[{"pool_id":"…","project":"morpho-blue","chain":"base","symbol":"WETH","tvl_usd":45000000,"apy":2.3}]},"output_schema":{"type":"object","properties":{"pools":{"type":"array","items":{"type":"object","properties":{"pool_id":{"type":"string"},"project":{"type":"string"},"chain":{"type":"string"},"symbol":{"type":"string"},"tvl_usd":{"type":"number"},"apy":{"type":["number","null"]},"apy_base":{"type":["number","null"]},"apy_reward":{"type":["number","null"]},"stablecoin":{"type":"boolean"},"il_risk":{"type":["string","null"]},"exposure":{"type":["string","null"]},"underlying_tokens":{"type":"array","items":{"type":"string"}},"updated_at":{"type":"string"},"source_url":{"type":"string"}}}},"count":{"type":"integer"},"fetched_at":{"type":"string"},"stale":{"type":"boolean"},"source":{"type":"string"},"source_url":{"type":"string"},"attribution":{"type":"string"}}},"tool":"defi_yields"},{"method":"GET","path":"/v1/defi/protocol/:slug","url":"https://aiworker.duckdns.org/v1/defi/protocol/:slug","price_usd":"$0.01","description":"Snapshot of one DeFi protocol by DefiLlama slug: TVL by chain, category, 1d/7d change, audits, refreshed every 5 minutes from DefiLlama's protocol summary.","tags":["defi","tvl","data","crypto"],"needs":["data"],"flow":"authorization","path_params":{"slug":"aave-v3"},"path_params_schema":{"type":"object","properties":{"slug":{"type":"string","pattern":"^[a-z0-9-]{1,64}$"}},"required":["slug"]},"output_example":{"protocol":{"slug":"aave-v3","name":"AAVE V3","tvl_usd":20800000000},"cache_hit":false},"output_schema":{"type":"object","properties":{"protocol":{"type":"object","properties":{"slug":{"type":"string"},"name":{"type":"string"},"category":{"type":["string","null"]},"chains":{"type":"array","items":{"type":"string"}},"tvl_usd":{"type":"number"},"tvl_by_chain":{"type":"object","additionalProperties":{"type":"number"}},"change_1d":{"type":["number","null"]},"change_7d":{"type":["number","null"]},"audits":{"type":["string","null"]},"url":{"type":["string","null"]},"updated_at":{"type":"string"},"source_url":{"type":"string"}}},"fetched_at":{"type":"string"},"stale":{"type":"boolean"},"cache_hit":{"type":"boolean"},"source":{"type":"string"},"source_url":{"type":"string"},"attribution":{"type":"string"}}},"tool":"defi_protocol"},{"method":"POST","path":"/v1/scrape/markdown","url":"https://aiworker.duckdns.org/v1/scrape/markdown","price_usd":"$0.02","description":"Fetch one public web page (buyer-supplied URL, no login walls, robots.txt honoured) and return its main content as clean Markdown with title and word count.","tags":["scrape","markdown","web","content"],"needs":["scrape"],"flow":"authorization","input":{"url":"https://example.com/article","max_chars":20000},"input_schema":{"type":"object","properties":{"url":{"type":"string","description":"absolute https url of a public page"},"max_chars":{"type":"integer","minimum":500,"maximum":60000,"default":60000}},"required":["url"]},"output_example":{"title":"Example","word_count":812,"content_md":"# Example\n…","truncated":false,"source":"web","source_url":"https://example.com/article","attribution":"Fetched from https://example.com"},"output_schema":{"type":"object","properties":{"url":{"type":"string"},"final_url":{"type":"string"},"title":{"type":"string"},"byline":{"type":["string","null"]},"word_count":{"type":"integer"},"content_md":{"type":"string"},"truncated":{"type":"boolean"},"fetched_at":{"type":"string"},"cache_hit":{"type":"boolean"},"source":{"type":"string","const":"web"},"source_url":{"type":"string"},"attribution":{"type":"string"}}},"tool":"scrape_markdown"},{"method":"POST","path":"/v1/scrape/summary","url":"https://aiworker.duckdns.org/v1/scrape/summary","price_usd":"$0.04","description":"Same as /v1/scrape/markdown plus a structured summary (≤200 words), key points and entities produced by an LLM from the page text.","tags":["scrape","summary","web","llm"],"needs":["scrape","llm"],"flow":"authorization","input":{"url":"https://example.com/article"},"input_schema":{"type":"object","properties":{"url":{"type":"string","description":"absolute https url of a public page"},"max_chars":{"type":"integer","minimum":500,"maximum":60000}},"required":["url"]},"output_example":{"title":"Example","summary_md":"…","key_points":["…"],"entities":["…"],"source":"web","source_url":"https://example.com/article","attribution":"Fetched from https://example.com"},"output_schema":{"type":"object","properties":{"summary_md":{"type":"string"},"key_points":{"type":"array","items":{"type":"string"}},"entities":{"type":"array","items":{"type":"string"}},"content_md":{"type":"string"},"source":{"type":"string","const":"web"},"source_url":{"type":"string"},"attribution":{"type":"string"}}},"tool":"scrape_summary"},{"method":"POST","path":"/v1/defi/yield-report","url":"https://aiworker.duckdns.org/v1/defi/yield-report","price_usd":"$0.10","description":"An LLM-written read of DeFi yield pools from DefiLlama matching a filter: a headline verdict, key points, risks, a best-fit pool if any, and caveats, alongside the underlying pool rows.","tags":["defi","yields","llm","report"],"needs":["data","llm"],"flow":"authorization","input":{"chain":"base","min_tvl_usd":1000000,"limit":10},"input_schema":{"type":"object","properties":{"chain":{"type":"string","description":"chain name, e.g. base, ethereum, solana"},"project":{"type":"string","description":"DefiLlama project slug, e.g. aave-v3"},"symbol":{"type":"string","description":"token symbol, e.g. USDC"},"stablecoin":{"type":"boolean","description":"restrict to stablecoin pools only"},"min_tvl_usd":{"type":"number","description":"minimum pool TVL in USD; default 1000000"},"limit":{"type":"integer","minimum":1,"maximum":20,"description":"maximum pools to include; default 10"}}},"output_example":{"route":"POST /v1/defi/yield-report","version":1,"stale":false,"report":{"headline":"…","verdict":"mixed","key_points":["…"],"risks":["…"],"best_fit":null,"caveats":[]},"pools":[{"pool_id":"…","project":"morpho-blue","chain":"base","symbol":"WETH","tvl_usd":45000000,"apy":2.3}],"model":"muse-spark-1.3-contributor"},"output_schema":{"type":"object","properties":{"route":{"type":"string"},"version":{"type":"integer"},"generated_at":{"type":"string"},"stale":{"type":"boolean"},"filter":{"type":"object"},"pools":{"type":"array","items":{"type":"object","properties":{"pool_id":{"type":"string"},"project":{"type":"string"},"chain":{"type":"string"},"symbol":{"type":"string"},"tvl_usd":{"type":"number"},"apy":{"type":["number","null"]},"apy_base":{"type":["number","null"]},"apy_reward":{"type":["number","null"]},"stablecoin":{"type":"boolean"},"il_risk":{"type":["string","null"]},"exposure":{"type":["string","null"]},"underlying_tokens":{"type":"array","items":{"type":"string"}},"updated_at":{"type":"string"},"source_url":{"type":"string"}}}},"report":{"type":"object","properties":{"headline":{"type":"string"},"verdict":{"type":"string"},"key_points":{"type":"array","items":{"type":"string"}},"risks":{"type":"array","items":{"type":"string"}},"best_fit":{"type":["object","null"],"properties":{"pool_id":{"type":"string"},"why":{"type":"string"}}},"caveats":{"type":"array","items":{"type":"string"}}}},"model":{"type":"string"},"source":{"type":"string"},"source_url":{"type":"string"},"attribution":{"type":"string"},"disclaimer":{"type":"string"}}},"tool":"yield_report"},{"method":"POST","path":"/v1/check/claims","url":"https://aiworker.duckdns.org/v1/check/claims","price_usd":"$0.05","description":"Extract checkable factual claims from buyer-submitted text or a public URL, and verdict each one — supported, contradicted, unsupported or unverifiable — against Wikipedia and any buyer-supplied source URLs, with verbatim quoted evidence and links. Informational only.","tags":["claims","fact-check","llm","web"],"needs":["scrape","llm"],"flow":"authorization","input":{"text":"The Eiffel Tower is 330 meters tall and was completed in 1889.","max_claims":5},"input_schema":{"type":"object","properties":{"text":{"type":"string","maxLength":8000,"description":"buyer text to check, at most 8 000 characters; exactly one of text or url is required"},"url":{"type":"string","description":"a public https url whose page is fetched and checked instead of text"},"sources":{"type":"array","items":{"type":"string"},"maxItems":5,"description":"up to 5 https urls the model may cite as evidence, in addition to Wikipedia"},"max_claims":{"type":"integer","minimum":1,"maximum":8,"description":"maximum claims to extract and verdict; default 5"}}},"output_example":{"route":"POST /v1/check/claims","version":1,"input":{"kind":"text","chars":62},"claims":[{"id":"c1","statement":"The Eiffel Tower is 330 meters tall.","verdict":"supported","confidence":0.8,"rationale":"Wikipedia's summary states the same height.","evidence":[{"url":"https://en.wikipedia.org/wiki/Eiffel_Tower","quote":"…330 m (1,083 ft) tall…"}]}],"sources_consulted":[{"url":"https://en.wikipedia.org/wiki/Eiffel_Tower","title":"Eiffel Tower","kind":"wikipedia","fetched":true}],"model":"mimo-v2.5"},"output_schema":{"type":"object","properties":{"route":{"type":"string"},"version":{"type":"integer"},"generated_at":{"type":"string"},"input":{"type":"object","properties":{"kind":{"type":"string"},"url":{"type":"string"},"chars":{"type":"integer"}}},"claims":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"statement":{"type":"string"},"verdict":{"type":"string"},"confidence":{"type":"number"},"rationale":{"type":"string"},"evidence":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string"},"quote":{"type":"string"}}}}}}},"sources_consulted":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string"},"title":{"type":"string"},"kind":{"type":"string"},"fetched":{"type":"boolean"}}}},"model":{"type":"string"},"attribution":{"type":"string"},"disclaimer":{"type":"string"}}},"tool":"claim_check"},{"method":"POST","path":"/v1/check/token","url":"https://aiworker.duckdns.org/v1/check/token","price_usd":"$0.05","description":"A deterministic Base token safety card from Blockscout, DexScreener (derived) and Honeypot.is plus the Base RPC: what the contract is, who controls it, who holds it, where it trades, and whether a simulated buy/sell round-trips, with rule-based risk flags and a 0-100 score. No LLM. Informational only.","tags":["chain","token","safety","base","crypto"],"needs":["chain"],"flow":"authorization","input":{"address":"0x532f27101965dd16442E59d40670FaF5eBB142E4"},"input_schema":{"type":"object","properties":{"address":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"a Base (chain id 8453) token contract address"},"chain":{"type":"string","enum":["base"],"description":"chain to check; only \"base\" is supported in v1"}},"required":["address"]},"output_example":{"chain":"eip155:8453","address":"0x532f27101965dd16442E59d40670FaF5eBB142E4","token":{"name":"Brett","symbol":"BRETT","decimals":18,"total_supply":"9999997544340006294456944163","holders_count":948041},"contract":{"verified":true,"name":"BrettToken","compiler":"v0.8.17+commit.8df45f5f","is_proxy":false,"implementation":null,"owner":{"address":null,"renounced":true},"creator":"0x46f64BEc31Eaf281176F9Bb5899107a80E932B45","created_at":"2024-02-24T06:09:27.000Z"},"holders":{"top_holders":[{"address":"0x7061f0B28F5a95AaE717905Bb59AA4e08C165268","share_pct":11.38,"is_contract":false,"label":null}],"top10_share_pct":31.74,"largest_holder_share_pct":11.38},"market":{"pools":8,"liquidity_usd_total":2418020.38,"largest_pool":{"dex":"uniswap","pair_address":"0xBA3F945812a83471d709BCe9C3CA699A19FB46f7","liquidity_usd":1207067.33,"created_at":"2024-02-27T13:38:57.000Z","quote":"WETH"},"oldest_pair_created_at":"2024-02-24T06:59:43.000Z","price_usd":0.005394,"fdv_usd":53458106,"volume_24h_usd":8578.98,"website":"https://www.basedbrett.com/"},"honeypot":{"checked":true,"is_honeypot":false,"buy_tax_pct":0,"sell_tax_pct":0,"transfer_tax_pct":0,"risk":"low","flags":[],"holders_simulated":2068,"siphoned":0,"high_tax_wallets":0,"open_source":true},"risk_flags":[{"code":"top10_concentration","severity":"medium","detail":"Top 10 holders (excluding known pool/locker contracts) hold 31.73% of supply."}],"risk_score":10,"generated_at":"2026-09-07T00:00:00.000Z","sources":[{"name":"blockscout_token","url":"https://base.blockscout.com/api/v2/tokens/0x532f27101965dd16442E59d40670FaF5eBB142E4","ok":true}],"attribution":"Data: Blockscout (Base), DexScreener (derived), Honeypot.is, Base RPC","disclaimer":"Informational only; not investment advice. A clean card is not a guarantee."},"output_schema":{"type":"object","properties":{"chain":{"type":"string"},"address":{"type":"string"},"token":{"type":["object","null"],"properties":{"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"integer"},"total_supply":{"type":"string"},"holders_count":{"type":"integer"}}},"contract":{"type":"object","properties":{"verified":{"type":["boolean","null"]},"name":{"type":["string","null"]},"compiler":{"type":["string","null"]},"is_proxy":{"type":["boolean","null"]},"implementation":{"type":["string","null"]},"owner":{"type":"object","properties":{"address":{"type":["string","null"]},"renounced":{"type":["boolean","null"]}}},"creator":{"type":["string","null"]},"created_at":{"type":["string","null"]}}},"holders":{"type":["object","null"],"properties":{"top_holders":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"share_pct":{"type":"number"},"is_contract":{"type":"boolean"},"label":{"type":["string","null"]}}}},"top10_share_pct":{"type":"number"},"largest_holder_share_pct":{"type":"number"}}},"market":{"type":["object","null"],"properties":{"pools":{"type":"integer"},"liquidity_usd_total":{"type":"number"},"largest_pool":{"type":["object","null"],"properties":{"dex":{"type":"string"},"pair_address":{"type":"string"},"liquidity_usd":{"type":"number"},"created_at":{"type":["string","null"]},"quote":{"type":["string","null"]}}},"oldest_pair_created_at":{"type":["string","null"]},"price_usd":{"type":["number","null"]},"fdv_usd":{"type":["number","null"]},"volume_24h_usd":{"type":["number","null"]},"website":{"type":["string","null"]}}},"honeypot":{"type":"object","properties":{"checked":{"type":"boolean"},"is_honeypot":{"type":["boolean","null"]},"buy_tax_pct":{"type":["number","null"]},"sell_tax_pct":{"type":["number","null"]},"transfer_tax_pct":{"type":["number","null"]},"risk":{"type":["string","null"]},"flags":{"type":"array","items":{"type":"string"}},"holders_simulated":{"type":["integer","null"]},"siphoned":{"type":["integer","null"]},"high_tax_wallets":{"type":["integer","null"]},"open_source":{"type":["boolean","null"]}}},"risk_flags":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string"},"severity":{"type":"string"},"detail":{"type":"string"}}}},"risk_score":{"type":"integer"},"generated_at":{"type":"string"},"sources":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"url":{"type":"string"},"ok":{"type":"boolean"}}}},"attribution":{"type":"string"},"disclaimer":{"type":"string"}}},"tool":"token_check"},{"method":"GET","path":"/v1/token/info","url":"https://aiworker.duckdns.org/v1/token/info","price_usd":"$0.005","description":"The cheapest way to look up a Base token: name, symbol, decimals, total supply, holder count, price, liquidity, pool count, largest pool, FDV and 24h volume, from Blockscout and DexScreener. Deterministic, no LLM, seconds per call. It is the data half of token_check; for contract ownership, holder concentration and a honeypot simulation, buy that instead. Informational only.","tags":["chain","token","base","crypto"],"needs":["chain"],"flow":"authorization","input":{"address":"0x532f27101965dd16442E59d40670FaF5eBB142E4"},"input_schema":{"type":"object","properties":{"address":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"a Base (chain id 8453) token contract address"},"chain":{"type":"string","enum":["base"],"description":"chain to look up; only \"base\" is supported in v1"}},"required":["address"]},"output_example":{"chain":"eip155:8453","address":"0x532f27101965dd16442E59d40670FaF5eBB142E4","token":{"name":"Brett","symbol":"BRETT","decimals":18,"total_supply":"9999997544340006294456944163","holders_count":948041},"market":{"price_usd":0.005394,"liquidity_usd_total":2418020.38,"pools":8,"largest_pool":{"dex":"uniswap","pair_address":"0xBA3F945812a83471d709BCe9C3CA699A19FB46f7","liquidity_usd":1207067.33},"fdv_usd":53458106,"volume_24h_usd":8578.98},"generated_at":"2026-09-09T00:00:00.000Z","sources":[{"name":"blockscout_token","url":"https://base.blockscout.com/api/v2/tokens/0x532f27101965dd16442E59d40670FaF5eBB142E4","ok":true}],"attribution":"Data: Blockscout (Base), DexScreener (derived)","disclaimer":"Informational only; not investment advice. A data lookup, not a safety check: contract, holder and honeypot analysis is token_check."},"output_schema":{"type":"object","properties":{"chain":{"type":"string"},"address":{"type":"string"},"token":{"type":["object","null"],"properties":{"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"integer"},"total_supply":{"type":"string"},"holders_count":{"type":"integer"}}},"market":{"type":["object","null"],"properties":{"price_usd":{"type":["number","null"]},"liquidity_usd_total":{"type":"number"},"pools":{"type":"integer"},"largest_pool":{"type":["object","null"],"properties":{"dex":{"type":"string"},"pair_address":{"type":"string"},"liquidity_usd":{"type":"number"}}},"fdv_usd":{"type":["number","null"]},"volume_24h_usd":{"type":["number","null"]}}},"generated_at":{"type":"string"},"sources":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"url":{"type":"string"},"ok":{"type":"boolean"}}}},"attribution":{"type":"string"},"disclaimer":{"type":"string"}}},"tool":"token_info"},{"method":"POST","path":"/v1/check/wallet","url":"https://aiworker.duckdns.org/v1/check/wallet","price_usd":"$0.05","description":"A deterministic Base wallet card for any address: EOA or contract, ETH balance, first seen and last activity, transaction and token-transfer counts, up to 20 ERC-20 holdings by value, and rule-based flags (fresh wallet under 7 days, dormant over 180 days, no ETH, single token, contract address), from Blockscout and the Base RPC. No labels, no scoring, no LLM. Facts an agent can act on; informational only.","tags":["chain","wallet","address","base","crypto"],"needs":["chain"],"flow":"authorization","input":{"address":"0x46f64BEc31Eaf281176F9Bb5899107a80E932B45"},"input_schema":{"description":"Which Base address to check (an EOA or a contract — a contract answers as kind contract, never a 404).","type":"object","additionalProperties":false,"required":["address"],"properties":{"address":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"The 0x-prefixed 40-hex Base address to check"}}},"output_example":{"address":"0x46f64bec31eaf281176f9bb5899107a80e932b45","kind":"eoa","eth_balance":"0.184213","first_seen":"2024-02-24T06:09:27.000Z","last_activity":"2026-09-10T18:41:03.000Z","tx_count":412,"token_transfer_count":1287,"holdings":[{"address":"0x532f27101965dd16442E59d40670FaF5eBB142E4","symbol":"BRETT","decimals":18,"balance":"15200.5","balance_usd":null}],"flags":[],"summary":"EOA on Base, first seen 2024-02-24, last active 2026-09-10, 412 transactions, 0.184213 ETH, 1 token holding.","sources":[{"name":"blockscout_address","url":"https://base.blockscout.com/api/v2/addresses/0x46f64bec31eaf281176f9bb5899107a80e932b45","ok":true}],"generated_at":"2026-09-11T00:00:00.000Z","attribution":"Data: Blockscout (Base), Base RPC","disclaimer":"on-chain facts only; no identity, no labels, no advice"},"output_schema":{"type":"object","properties":{"address":{"type":"string"},"kind":{"type":"string","enum":["eoa","contract"]},"eth_balance":{"type":"string"},"first_seen":{"type":["string","null"]},"last_activity":{"type":["string","null"]},"tx_count":{"type":["integer","null"]},"token_transfer_count":{"type":["integer","null"]},"holdings":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"integer"},"balance":{"type":"string"},"balance_usd":{"type":["number","null"]}}}},"flags":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string"},"severity":{"type":"string"},"detail":{"type":"string"}}}},"summary":{"type":"string"},"sources":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"url":{"type":"string"},"ok":{"type":"boolean"}}}},"generated_at":{"type":"string"},"attribution":{"type":"string"},"disclaimer":{"type":"string"}}},"tool":"wallet_check"},{"method":"GET","path":"/v1/polymarket/resolution","url":"https://aiworker.duckdns.org/v1/polymarket/resolution","price_usd":"$0.05","description":"Has a Polymarket market resolved, and how? Give a market slug, a 0x condition id, or the question as free text: you get the status (open, resolved, voided, unknown, not_found), the winning outcome and payout vector, when it closed and by which mechanism (UMA status, resolver), how many days after its end date, the last traded price and best bid/ask, and the event's categories, from Polymarket's public Gamma API. Deterministic, no LLM, seconds per call; a free-text question that matches no market is answered as not_found with the nearest candidates. A record of what happened, not a prediction; informational only.","tags":["polymarket","prediction-market","resolution","fact-check","events"],"needs":["polymarket"],"flow":"authorization","input":{"market":"xi-jinping-out-before-2027"},"input_schema":{"type":"object","properties":{"market":{"type":"string","minLength":3,"maxLength":200,"description":"a Polymarket market slug (e.g. xi-jinping-out-before-2027), a 0x-prefixed 64-hex condition id, or the market question as free text"}},"required":["market"]},"output_example":{"query":{"market":"xi-jinping-out-before-2027","kind":"slug"},"status":"open","market":{"id":"559651","slug":"xi-jinping-out-before-2027","question":"Xi Jinping out before 2027?","condition_id":"0xa467b14d51f01b957109d9cbb1d6c124fab2a089d52ed8f471d23c2812e743b7","event":{"id":"30828","slug":"xi-jinping-out-before-2027","title":"Xi Jinping out before 2027?"},"outcomes":["Yes","No"],"created_at":"2025-07-03T20:25:56.889Z","start_at":"2025-07-03T20:37:00.228Z","end_at":"2027-01-01T04:59:00.000Z","volume_usd":13121236.140387984,"categories":["geopolitics","world","world-affairs","earn-4","macro-geopolitics","hfc"]},"resolution":{"outcome":null,"payout":null,"resolved_at":null,"closed_at":null,"resolved_by":"0x157Ce2d672854c848c9b79C49a8Cc6cc89176a49","uma_status":null,"days_after_end":null},"price":{"last_trade_yes":0.038,"best_bid_yes":0.038,"best_ask_yes":0.039,"outcome_prices":[0.0385,0.9615]},"match":{},"sources":[{"name":"gamma_slug","url":"https://gamma-api.polymarket.com/markets/slug/xi-jinping-out-before-2027","ok":true},{"name":"gamma_event_tags","url":"https://gamma-api.polymarket.com/events/30828/tags","ok":true}],"attribution":"Data: Polymarket public APIs (Gamma, CLOB), attributed; SII-WANGZJ/Polymarket_data (MIT) for on-chain fills before 2026-07-21; derived figures only, no feed.","disclaimer":"Historical record and public API data; informational only, not a prediction or advice.","generated_at":"2026-09-10T12:00:00.000Z"},"output_schema":{"type":"object","properties":{"query":{"type":"object","properties":{"market":{"type":"string"},"kind":{"type":"string","enum":["condition_id","slug","search"]}}},"status":{"type":"string","enum":["open","resolved","voided","unknown","not_found"]},"market":{"type":["object","null"],"properties":{"id":{"type":"string"},"slug":{"type":"string"},"question":{"type":"string"},"condition_id":{"type":"string"},"event":{"type":["object","null"],"properties":{"id":{"type":"string"},"slug":{"type":"string"},"title":{"type":"string"}}},"outcomes":{"type":"array","items":{"type":"string"}},"created_at":{"type":["string","null"]},"start_at":{"type":["string","null"]},"end_at":{"type":["string","null"]},"volume_usd":{"type":["number","null"]},"categories":{"type":"array","items":{"type":"string"}}}},"resolution":{"type":["object","null"],"properties":{"outcome":{"type":["string","null"]},"payout":{"type":["array","null"],"items":{"type":"number"}},"resolved_at":{"type":["string","null"]},"closed_at":{"type":["string","null"]},"resolved_by":{"type":["string","null"]},"uma_status":{"type":["string","null"]},"days_after_end":{"type":["number","null"]}}},"price":{"type":["object","null"],"properties":{"last_trade_yes":{"type":["number","null"]},"best_bid_yes":{"type":["number","null"]},"best_ask_yes":{"type":["number","null"]},"outcome_prices":{"type":["array","null"],"items":{"type":"number"}}}},"match":{"type":"object","properties":{"alternatives":{"type":"array","items":{"type":"object","properties":{"slug":{"type":"string"},"question":{"type":"string"}}}},"candidates":{"type":"array","items":{"type":"object","properties":{"slug":{"type":"string"},"question":{"type":"string"},"closed":{"type":"boolean"}}}}}},"sources":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"url":{"type":"string"},"ok":{"type":"boolean"}}}},"attribution":{"type":"string"},"disclaimer":{"type":"string"},"generated_at":{"type":"string"}}},"tool":"resolution_check"},{"method":"GET","path":"/v1/polymarket/odds","url":"https://aiworker.duckdns.org/v1/polymarket/odds","price_usd":"$0.01","description":"The current odds of one Polymarket market and how they moved: give a market slug, a 0x condition id or the question as free text and get the YES and NO prices, the last trade, the implied probability, liquidity and volume, and the 24-hour and 7-day change against the derived store's daily closes, from Polymarket's public Gamma API. Deterministic, no LLM, seconds per call; a keyed market that does not exist is refused before payment, a free-text question that matches nothing is answered as not_found with the nearest candidates. A market price is not a forecast; informational only.","tags":["polymarket","prediction-market","odds","probability","events"],"needs":["polymarket"],"flow":"authorization","input":{"market":"xi-jinping-out-before-2027"},"input_schema":{"description":"Which Polymarket market to quote: a slug, a 0x condition id, or free text (searched only after payment).","type":"object","additionalProperties":false,"required":["market"],"properties":{"market":{"type":"string","minLength":3,"maxLength":200,"description":"A market slug, a 0x condition id, or free text naming the market"}}},"output_example":{"status":"open","query":{"kind":"slug","value":"xi-jinping-out-before-2027"},"market":{"id":"559651","condition_id":"0xa467b14d51f01b957109d9cbb1d6c124fab2a089d52ed8f471d23c2812e743b7","slug":"xi-jinping-out-before-2027","question":"Xi Jinping out before 2027?","end_date":"2027-01-01T04:59:00.000Z","closed":false,"resolution":"open"},"odds":{"yes":0.0385,"no":0.9615,"last_trade":0.038,"implied_probability_pct":3.85,"liquidity_usd":412530.12,"volume_usd":13121236.14,"change_24h":-0.0005,"change_7d":-0.003,"as_of":"2026-09-11T00:00:00.000Z"},"data_cutoff":"2026-09-10","generation":1,"attribution":"…","disclaimer":"…","generated_at":"2026-09-11T00:00:00.000Z"},"output_schema":{"type":"object","properties":{"status":{"type":"string","enum":["open","closed","resolved","not_found"]},"query":{"type":"object","properties":{"kind":{"type":"string","enum":["condition_id","slug","search","text"]},"value":{"type":"string"}}},"market":{"type":["object","null"],"properties":{"id":{"type":"string"},"condition_id":{"type":"string"},"slug":{"type":"string"},"question":{"type":"string"},"end_date":{"type":["string","null"]},"closed":{"type":"boolean"},"resolution":{"type":"string"}}},"odds":{"type":["object","null"],"properties":{"yes":{"type":"number"},"no":{"type":"number"},"last_trade":{"type":["number","null"]},"implied_probability_pct":{"type":"number"},"liquidity_usd":{"type":["number","null"]},"volume_usd":{"type":["number","null"]},"change_24h":{"type":["number","null"]},"change_7d":{"type":["number","null"]},"as_of":{"type":"string"}}},"candidates":{"type":"array","items":{"type":"object","properties":{"slug":{"type":"string"},"question":{"type":"string"},"closed":{"type":"boolean"}}}},"data_cutoff":{"type":["string","null"]},"generation":{"type":["integer","null"]},"attribution":{"type":"string"},"disclaimer":{"type":"string"},"generated_at":{"type":"string"}}},"tool":"market_odds"},{"method":"POST","path":"/v1/polymarket/backtest","url":"https://aiworker.duckdns.org/v1/polymarket/backtest","price_usd":"$0.25","description":"Replay one fixed, published rule over resolved Polymarket markets from a derived store of on-chain daily closes: favorite_hold (buy the side at or above p on its first such day), longshot_hold (buy the side at or below p), late_entry (buy the favourite N days before the end date) or momentum_1w (buy in the direction of a one-week move). Pick a category (an event tag) and a date range; you get hit rate, mean and median return, drawdown, Brier score, a calibration table by entry price, results by year, a sample of matched markets and the exact method. Deterministic, no LLM, no buyer code. History, not a prediction; informational only.","tags":["polymarket","prediction-market","backtest","calibration","history"],"needs":["polymarket"],"flow":"authorization","input":{"rule":"favorite_hold","threshold":0.8,"category":"politics","from":"2024-01-01","to":"2025-12-31"},"input_schema":{"description":"Which rule to replay, with its one parameter, over which category and resolution-date window.","oneOf":[{"type":"object","additionalProperties":false,"required":["rule"],"description":"The favorite_hold rule and its parameter.","properties":{"rule":{"const":"favorite_hold","description":"Fixed to \"favorite_hold\" in this branch of the schema."},"threshold":{"type":"number","minimum":0.55,"maximum":0.99,"default":0.8,"description":"buy the side priced at or above this on its first such day"},"category":{"type":"string","pattern":"^[a-z0-9][a-z0-9-]{0,63}$","default":"all","description":"\"all\" or a Polymarket event tag with at least 200 resolved markets in the store (see the categories list)"},"from":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"first resolution day, inclusive UTC (default: three years before `to`)"},"to":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"last resolution day, inclusive UTC (default: the store's data cut-off)"},"min_volume_usd":{"type":"number","minimum":1000,"maximum":10000000,"default":1000,"description":"markets below this lifetime volume are excluded (a survivorship filter, stated in caveats)"}}},{"type":"object","additionalProperties":false,"required":["rule"],"description":"The longshot_hold rule and its parameter.","properties":{"rule":{"const":"longshot_hold","description":"Fixed to \"longshot_hold\" in this branch of the schema."},"threshold":{"type":"number","minimum":0.01,"maximum":0.45,"default":0.1,"description":"buy the side priced at or below this on its first such day"},"category":{"type":"string","pattern":"^[a-z0-9][a-z0-9-]{0,63}$","default":"all","description":"\"all\" or a Polymarket event tag with at least 200 resolved markets in the store (see the categories list)"},"from":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"first resolution day, inclusive UTC (default: three years before `to`)"},"to":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"last resolution day, inclusive UTC (default: the store's data cut-off)"},"min_volume_usd":{"type":"number","minimum":1000,"maximum":10000000,"default":1000,"description":"markets below this lifetime volume are excluded (a survivorship filter, stated in caveats)"}}},{"type":"object","additionalProperties":false,"required":["rule"],"description":"The late_entry rule and its parameter.","properties":{"rule":{"const":"late_entry","description":"Fixed to \"late_entry\" in this branch of the schema."},"days_before_end":{"type":"integer","minimum":1,"maximum":60,"default":7,"description":"enter this many days before the market's end date (the last close in the 7 days before that day)"},"category":{"type":"string","pattern":"^[a-z0-9][a-z0-9-]{0,63}$","default":"all","description":"\"all\" or a Polymarket event tag with at least 200 resolved markets in the store (see the categories list)"},"from":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"first resolution day, inclusive UTC (default: three years before `to`)"},"to":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"last resolution day, inclusive UTC (default: the store's data cut-off)"},"min_volume_usd":{"type":"number","minimum":1000,"maximum":10000000,"default":1000,"description":"markets below this lifetime volume are excluded (a survivorship filter, stated in caveats)"}}},{"type":"object","additionalProperties":false,"required":["rule"],"description":"The momentum_1w rule and its parameter.","properties":{"rule":{"const":"momentum_1w","description":"Fixed to \"momentum_1w\" in this branch of the schema."},"threshold":{"type":"number","minimum":0.02,"maximum":0.5,"default":0.1,"description":"buy in the direction of a 7-day move of at least this much"},"category":{"type":"string","pattern":"^[a-z0-9][a-z0-9-]{0,63}$","default":"all","description":"\"all\" or a Polymarket event tag with at least 200 resolved markets in the store (see the categories list)"},"from":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"first resolution day, inclusive UTC (default: three years before `to`)"},"to":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"last resolution day, inclusive UTC (default: the store's data cut-off)"},"min_volume_usd":{"type":"number","minimum":1000,"maximum":10000000,"default":1000,"description":"markets below this lifetime volume are excluded (a survivorship filter, stated in caveats)"}}}]},"output_example":{"rule":"favorite_hold","parameters":{"min_volume_usd":1000,"threshold":0.8},"category":"politics","window":{"from":"2024-01-01","to":"2025-12-31"},"data_cutoff":"2026-09-09","generation":1,"universe":{"candidates":1842,"matched":1310,"not_triggered":402,"excluded":{"volume":96,"short":11,"thin":20,"price_floor":3},"window_date_fallbacks":9,"capped":false},"results":{"hit_rate":0.9038,"mean_return":0.0217,"median_return":0.1111,"max_drawdown":0.0412,"brier_score":0.0791,"avg_entry_price":0.8731,"avg_days_held":23.4},"calibration":[{"bucket":"0.80-0.85","n":512,"implied":0.8231,"realized":0.8613,"mean_return":0.0465},{"bucket":"0.85-0.90","n":431,"implied":0.8702,"realized":0.9026,"mean_return":0.0373}],"by_year":[{"year":2024,"n":803,"hit_rate":0.9028,"mean_return":0.0201},{"year":2025,"n":507,"hit_rate":0.9053,"mean_return":0.0242}],"sample":[{"slug":"will-donald-trump-win-the-2024-us-presidential-election","question":"Will Donald Trump win the 2024 US Presidential Election?","entry_day":"2024-10-31","entry_price":0.8,"side":"yes","outcome":"yes","return":0.25,"window_date_field":"resolved_at"}],"method":"On the first entry-eligible day (before the market resolved, closed or ended) whose YES close is at or above the threshold, buy YES at that close; …","caveats":["Survivorship: markets are selected by their lifetime volume as of the store build, which is not knowable on the entry day.","…"],"attribution":"Data: Polymarket public APIs (Gamma, CLOB), attributed; SII-WANGZJ/Polymarket_data (MIT) for on-chain fills before 2026-07-21; derived figures only, no feed.","disclaimer":"A replay of a fixed, published rule over resolved markets; history, not a prediction, not advice.","generated_at":"2026-09-10T12:00:00.000Z"},"output_schema":{"type":"object","properties":{"rule":{"type":"string","enum":["favorite_hold","longshot_hold","late_entry","momentum_1w"]},"parameters":{"type":"object","additionalProperties":{"type":"number"}},"category":{"type":"string"},"window":{"type":"object","properties":{"from":{"type":"string"},"to":{"type":"string"},"clamped_from":{"type":"boolean"}}},"data_cutoff":{"type":"string"},"generation":{"type":"integer"},"universe":{"type":"object","properties":{"candidates":{"type":"integer"},"matched":{"type":"integer"},"not_triggered":{"type":"integer"},"excluded":{"type":"object","properties":{"volume":{"type":"integer"},"short":{"type":"integer"},"thin":{"type":"integer"},"price_floor":{"type":"integer"}}},"window_date_fallbacks":{"type":"integer"},"capped":{"type":"boolean"}}},"results":{"type":"object","properties":{"hit_rate":{"type":["number","null"]},"mean_return":{"type":["number","null"]},"median_return":{"type":["number","null"]},"max_drawdown":{"type":["number","null"]},"brier_score":{"type":["number","null"]},"avg_entry_price":{"type":["number","null"]},"avg_days_held":{"type":["number","null"]},"note":{"type":"string"}}},"calibration":{"type":"array","items":{"type":"object","properties":{"bucket":{"type":"string"},"n":{"type":"integer"},"implied":{"type":"number"},"realized":{"type":"number"},"mean_return":{"type":"number"}}}},"by_year":{"type":"array","items":{"type":"object","properties":{"year":{"type":"integer"},"n":{"type":"integer"},"hit_rate":{"type":"number"},"mean_return":{"type":"number"}}}},"sample":{"type":"array","items":{"type":"object","properties":{"slug":{"type":"string"},"question":{"type":"string"},"entry_day":{"type":"string"},"entry_price":{"type":"number"},"side":{"type":"string","enum":["yes","no"]},"outcome":{"type":"string","enum":["yes","no"]},"return":{"type":"number"},"window_date_field":{"type":"string","enum":["resolved_at","closed_at","end_at"]}}}},"method":{"type":"string"},"caveats":{"type":"array","items":{"type":"string"}},"attribution":{"type":"string"},"disclaimer":{"type":"string"},"generated_at":{"type":"string"}}},"tool":"rule_backtest"},{"method":"GET","path":"/v1/polymarket/history","url":"https://aiworker.duckdns.org/v1/polymarket/history","price_usd":"$0.02","description":"The daily YES-price history of one Polymarket market from a derived store of on-chain fills (the MIT-licensed dump before 2026-07-21, the public daily API after): give a market slug, a 0x condition id or a numeric id and a number of days (1-365, default 90) and get the series of daily closes with fill counts and volume, plus a summary: open, high, low, last, 1-day and 1-week change, days to the end date and the volume over the window. A market the store does not hold is refused before payment. Deterministic, no LLM. History, not a prediction.","tags":["polymarket","prediction-market","odds","history","time-series"],"needs":["polymarket"],"flow":"authorization","input":{"market":"xi-jinping-out-before-2027","days":30},"input_schema":{"description":"Which stored market to chart and how many UTC days of daily closes to include.","type":"object","additionalProperties":false,"required":["market"],"properties":{"market":{"type":"string","minLength":3,"maxLength":200,"description":"A market slug, a 0x condition id, or a numeric market id (same classifier as resolution_check)"},"days":{"type":"integer","minimum":1,"maximum":365,"default":90,"description":"How many UTC days ending at the store's data cut-off to include (only days with a stored close appear)"}}},"output_example":{"market":{"id":"559651","condition_id":"0xa467b14d51f01b957109d9cbb1d6c124fab2a089d52ed8f471d23c2812e743b7","slug":"xi-jinping-out-before-2027","question":"Xi Jinping out before 2027?","event_slug":"xi-jinping-out-before-2027","resolution":"open","end_date":"2027-01-01","resolved_at":null},"window":{"from":"2026-08-11","to":"2026-09-09","days":30},"series":[{"day":"2026-08-11","close":0.04,"vwap":0.0398,"volume_usd":1520.5,"trades":41,"source":"clob"}],"summary":{"n_days":30,"open":0.04,"high":0.045,"low":0.037,"last":0.0385,"change_1d":-0.001,"change_1w":-0.003,"days_to_end":479,"volume_usd_total":48210.2},"data_cutoff":"2026-09-09","generation":1,"attribution":"…","disclaimer":"…","generated_at":"2026-09-10T12:00:00.000Z"},"output_schema":{"type":"object","properties":{"market":{"type":"object","properties":{"id":{"type":"string"},"condition_id":{"type":"string"},"slug":{"type":"string"},"question":{"type":"string"},"event_slug":{"type":"string"},"resolution":{"type":"string"},"end_date":{"type":"string"},"resolved_at":{"type":["string","null"]}}},"window":{"type":"object","properties":{"from":{"type":"string"},"to":{"type":"string"},"days":{"type":"integer"}}},"series":{"type":"array","items":{"type":"object","properties":{"day":{"type":"string"},"close":{"type":"number"},"vwap":{"type":["number","null"]},"volume_usd":{"type":["number","null"]},"trades":{"type":["integer","null"]},"source":{"type":"string","enum":["dump","clob"]}}}},"summary":{"type":"object","properties":{"n_days":{"type":"integer"},"open":{"type":["number","null"]},"high":{"type":["number","null"]},"low":{"type":["number","null"]},"last":{"type":["number","null"]},"change_1d":{"type":["number","null"]},"change_1w":{"type":["number","null"]},"days_to_end":{"type":["number","null"]},"volume_usd_total":{"type":["number","null"]}}},"data_cutoff":{"type":"string"},"generation":{"type":"integer"},"attribution":{"type":"string"},"disclaimer":{"type":"string"},"generated_at":{"type":"string"}}},"tool":"odds_history"},{"method":"POST","path":"/v1/polymarket/screener","url":"https://aiworker.duckdns.org/v1/polymarket/screener","price_usd":"$0.05","description":"A ranked list of Polymarket markets from a derived store under deterministic filters: status (open, resolved or all), a category (an event tag with at least 200 resolved markets), a minimum lifetime volume, closing within N days, or the biggest 7-day movers up or down; sorted by volume, closing date or move; up to 50 rows with the question, tags, end date, resolution, volume, last close, 7-day change and days to the end. At most 500 candidates are ranked per request. No LLM, no free text. History and current prices, not advice.","tags":["polymarket","prediction-market","screener","markets","movers"],"needs":["polymarket"],"flow":"authorization","input":{"status":"open","category":"politics","min_volume_usd":10000,"closing_within_days":30,"sort":"closing","limit":20},"input_schema":{"description":"Ranked markets from the derived store under composable filters.","type":"object","additionalProperties":false,"properties":{"status":{"type":"string","enum":["open","resolved","all"],"default":"open","description":"which markets to list: still open, resolved yes/no, or all"},"category":{"type":"string","minLength":1,"maxLength":64,"default":"all","description":"\"all\" or a Polymarket event tag present in the store's categories table"},"min_volume_usd":{"type":"number","minimum":0,"maximum":10000000,"default":1000,"description":"markets below this lifetime volume are excluded"},"closing_within_days":{"type":"integer","minimum":1,"maximum":365,"description":"only markets ending between the data cut-off and that many days later (open markets only)"},"movers":{"type":"string","enum":["up","down"],"description":"keep only markets with a 7-day close pair and rank by that move, up or down (open markets only, implies sort \"move\")"},"sort":{"type":"string","enum":["volume","closing","move"],"default":"volume","description":"rank by lifetime volume, by end date, or by 7-day close move (closing and move are open markets only)"},"limit":{"type":"integer","minimum":1,"maximum":50,"default":20,"description":"at most this many markets in the answer"}}},"output_example":{"filters":{"status":"open","category":"politics","min_volume_usd":10000,"closing_within_days":30,"sort":"closing","limit":20},"universe":{"candidates":312,"capped":false},"markets":[{"id":"559651","slug":"xi-jinping-out-before-2027","question":"Xi Jinping out before 2027?","category_tags":["politics","world"],"end_date":"2027-01-01","resolution":"open","volume_usd":13121236.14,"last_close":0.0385,"last_close_day":"2026-09-09","change_7d":-0.003,"days_to_end":479}],"data_cutoff":"2026-09-09","generation":1,"attribution":"…","disclaimer":"…","generated_at":"2026-09-10T12:00:00.000Z"},"output_schema":{"type":"object","properties":{"filters":{"type":"object"},"universe":{"type":"object","properties":{"candidates":{"type":"integer"},"capped":{"type":"boolean"}}},"markets":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"slug":{"type":"string"},"question":{"type":"string"},"category_tags":{"type":"array","items":{"type":"string"}},"end_date":{"type":"string"},"resolution":{"type":"string"},"volume_usd":{"type":"number"},"last_close":{"type":["number","null"]},"last_close_day":{"type":["string","null"]},"change_7d":{"type":["number","null"]},"days_to_end":{"type":"integer"}}}},"data_cutoff":{"type":"string"},"generation":{"type":"integer"},"attribution":{"type":"string"},"disclaimer":{"type":"string"},"generated_at":{"type":"string"}}},"tool":"market_screener"},{"method":"POST","path":"/v1/brief/topic","url":"https://aiworker.duckdns.org/v1/brief/topic","price_usd":"$0.10","description":"A sourced brief on any topic: 150-500 words of Markdown in which every paragraph cites the pages it was written from, plus the key facts as verbatim quotes with the URL each came from. Sources are up to 5 public pages you name plus Wikipedia; a fact whose quote is not found word for word in a fetched page is dropped. Informational only.","tags":["brief","research","sources","llm","web"],"needs":["scrape","llm"],"flow":"authorization","input":{"topic":"Base layer 2 stablecoin liquidity","sources":["https://example.com/report"],"max_words":300},"input_schema":{"type":"object","properties":{"topic":{"type":"string","minLength":1,"maxLength":200,"description":"the topic to brief, as a phrase of at most 200 characters; not a url"},"sources":{"type":"array","items":{"type":"string"},"maxItems":5,"description":"up to 5 public https urls to brief from, in addition to Wikipedia"},"max_words":{"type":"integer","minimum":150,"maximum":500,"description":"maximum words in the brief; default 300"}},"required":["topic"]},"output_example":{"route":"POST /v1/brief/topic","version":1,"topic":"Base layer 2 stablecoin liquidity","max_words":300,"brief_md":"Base is an Ethereum layer two network incubated by Coinbase [2]. Stablecoin liquidity on it grew through 2026 [1].","word_count":18,"key_facts":[{"fact":"Base is an Ethereum layer two network.","source_url":"https://en.wikipedia.org/wiki/Base_(network)","quote":"Base is an Ethereum layer two network incubated by Coinbase"}],"sources":[{"id":"1","url":"https://example.com/report","title":"Report","kind":"buyer","chars":7400,"ok":true},{"id":"2","url":"https://en.wikipedia.org/wiki/Base_(network)","title":"Base (network)","kind":"wikipedia","chars":8000,"ok":true}],"model":"mimo-v2.5","tokens_in":5200,"tokens_out":640,"disclaimer":"Sourced from the pages listed; not advice."},"output_schema":{"type":"object","properties":{"route":{"type":"string"},"version":{"type":"integer"},"generated_at":{"type":"string"},"topic":{"type":"string"},"max_words":{"type":"integer"},"brief_md":{"type":"string"},"word_count":{"type":"integer"},"key_facts":{"type":"array","items":{"type":"object","properties":{"fact":{"type":"string"},"source_url":{"type":"string"},"quote":{"type":"string"}}}},"sources":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"title":{"type":"string"},"kind":{"type":"string"},"chars":{"type":"integer"},"ok":{"type":"boolean"}}}},"model":{"type":"string"},"tokens_in":{"type":"integer"},"tokens_out":{"type":"integer"},"cached":{"type":"boolean"},"disclaimer":{"type":"string"}}},"tool":"topic_brief"},{"method":"POST","path":"/v1/token/report","url":"https://aiworker.duckdns.org/v1/token/report","price_usd":"$1.00","description":"Everything an agent needs before touching a Base token, in one call: the deterministic safety card (contract, ownership, holder concentration, market, honeypot simulation, rule-based risk flags and a 0-100 score), the DefiLlama pools its symbol appears in with their TVL and APY, a sourced brief on the project written from its own site and Wikipedia with verbatim quotes (or none, when nothing verifiable is found), and a written verdict — avoid, caution or acceptable — whose reasons must each name a field of this report, checked in code, and whose verdict is overruled when it contradicts the risk score. Ask an optional question and it is answered from the same data. Informational only, not investment advice.","tags":["chain","token","safety","research","base"],"needs":["chain","llm","scrape"],"flow":"authorization","input":{"address":"0x532f27101965dd16442E59d40670FaF5eBB142E4","question":"is it safe to hold for a week"},"input_schema":{"type":"object","additionalProperties":false,"required":["address"],"description":"Which Base token to report on, and optionally the question the report should answer.","properties":{"address":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"The token contract's address on Base, as a 0x-prefixed 40-hex-character address (for example \"0x532f27101965dd16442E59d40670FaF5eBB142E4\")."},"question":{"type":"string","minLength":1,"maxLength":300,"description":"Optional question about this token, at most 300 characters (for example \"is it safe to hold for a week\"). Answered from the report's own data alone; omit it for the verdict without an answer section."}}},"output_example":{"route":"POST /v1/token/report","version":1,"generated_at":"2026-09-09T00:00:00.000Z","token_check":{"chain":"eip155:8453","address":"0x532f27101965dd16442E59d40670FaF5eBB142E4","risk_score":10,"risk_flags":[{"code":"top10_concentration","severity":"medium","detail":"Top 10 holders (excluding known pool/locker contracts) hold 31.73% of supply."}]},"yield_context":[{"pool_id":"…","project":"aerodrome-v1","symbol":"BRETT-WETH","tvl_usd":1240000,"apy":18.4}],"stale":false,"brief":{"version":1,"generated_at":"2026-09-09T00:00:00.000Z","topic":"Brett (BRETT) token on Base","brief_md":"Brett is a memecoin on the Base network [1].","word_count":9,"key_facts":[{"fact":"Brett is a memecoin on Base.","source_url":"https://en.wikipedia.org/wiki/Base_(network)","quote":"Brett is a memecoin on the Base network"}],"sources":[{"id":"1","url":"https://en.wikipedia.org/wiki/Base_(network)","title":"Base (network)","kind":"wikipedia","chars":8000,"ok":true}],"disclaimer":"Sourced from the pages listed; not advice."},"verdict":{"verdict":"caution","reasons":["risk_score is 10, driven by the top10_concentration flag.","liquidity_usd_total is $2.4 million across 8 pools."],"answer":"Holding for a week carries the top10_concentration risk this report flags.","model":"mimo-v2.5"},"disclaimer":"Informational only; not investment advice. The verdict is written from the data in this report and nothing else; a clean report is not a guarantee."},"output_schema":{"type":"object","properties":{"route":{"type":"string"},"version":{"type":"integer"},"generated_at":{"type":"string"},"token_check":{"type":"object","properties":{"chain":{"type":"string"},"address":{"type":"string"},"token":{"type":["object","null"],"properties":{"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"integer"},"total_supply":{"type":"string"},"holders_count":{"type":"integer"}}},"contract":{"type":"object","properties":{"verified":{"type":["boolean","null"]},"name":{"type":["string","null"]},"compiler":{"type":["string","null"]},"is_proxy":{"type":["boolean","null"]},"implementation":{"type":["string","null"]},"owner":{"type":"object","properties":{"address":{"type":["string","null"]},"renounced":{"type":["boolean","null"]}}},"creator":{"type":["string","null"]},"created_at":{"type":["string","null"]}}},"holders":{"type":["object","null"],"properties":{"top_holders":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"share_pct":{"type":"number"},"is_contract":{"type":"boolean"},"label":{"type":["string","null"]}}}},"top10_share_pct":{"type":"number"},"largest_holder_share_pct":{"type":"number"}}},"market":{"type":["object","null"],"properties":{"pools":{"type":"integer"},"liquidity_usd_total":{"type":"number"},"largest_pool":{"type":["object","null"],"properties":{"dex":{"type":"string"},"pair_address":{"type":"string"},"liquidity_usd":{"type":"number"},"created_at":{"type":["string","null"]},"quote":{"type":["string","null"]}}},"oldest_pair_created_at":{"type":["string","null"]},"price_usd":{"type":["number","null"]},"fdv_usd":{"type":["number","null"]},"volume_24h_usd":{"type":["number","null"]},"website":{"type":["string","null"]}}},"honeypot":{"type":"object","properties":{"checked":{"type":"boolean"},"is_honeypot":{"type":["boolean","null"]},"buy_tax_pct":{"type":["number","null"]},"sell_tax_pct":{"type":["number","null"]},"transfer_tax_pct":{"type":["number","null"]},"risk":{"type":["string","null"]},"flags":{"type":"array","items":{"type":"string"}},"holders_simulated":{"type":["integer","null"]},"siphoned":{"type":["integer","null"]},"high_tax_wallets":{"type":["integer","null"]},"open_source":{"type":["boolean","null"]}}},"risk_flags":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string"},"severity":{"type":"string"},"detail":{"type":"string"}}}},"risk_score":{"type":"integer"},"generated_at":{"type":"string"},"sources":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"url":{"type":"string"},"ok":{"type":"boolean"}}}},"attribution":{"type":"string"},"disclaimer":{"type":"string"}}},"yield_context":{"type":"array","items":{"type":"object","properties":{"pool_id":{"type":"string"},"project":{"type":"string"},"symbol":{"type":"string"},"tvl_usd":{"type":"number"},"apy":{"type":["number","null"]}}}},"stale":{"type":"boolean"},"brief":{"type":["object","null"],"properties":{"version":{"type":"integer"},"generated_at":{"type":"string"},"topic":{"type":"string"},"max_words":{"type":"integer"},"brief_md":{"type":"string"},"word_count":{"type":"integer"},"key_facts":{"type":"array","items":{"type":"object","properties":{"fact":{"type":"string"},"source_url":{"type":"string"},"quote":{"type":"string"}}}},"sources":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"title":{"type":"string"},"kind":{"type":"string"},"chars":{"type":"integer"},"ok":{"type":"boolean"}}}},"model":{"type":"string"},"tokens_in":{"type":"integer"},"tokens_out":{"type":"integer"},"disclaimer":{"type":"string"}}},"verdict":{"type":"object","properties":{"verdict":{"type":"string","enum":["avoid","caution","acceptable"]},"reasons":{"type":"array","items":{"type":"string"}},"answer":{"type":"string"},"adjusted":{"type":"string"},"model":{"type":"string"}}},"cached":{"type":"boolean"},"disclaimer":{"type":"string"}}},"tool":"token_report"},{"method":"POST","path":"/v1/news/search","url":"https://aiworker.duckdns.org/v1/news/search","price_usd":"$0.01","description":"Crypto and markets headlines matching your words, from twelve fixed public RSS/Atom feeds (CoinDesk, The Block, Decrypt, Cointelegraph, The Defiant, DL News, Blockworks, Bankless, Polymarket, CNBC, Bloomberg, Financial Times) refreshed every ten minutes: whole-word, case-insensitive search over titles and summaries within the last 1-168 hours (default 48), newest first, deduplicated, up to 50 items with title, link, publisher, published time and a short summary. Headlines as published, links to the source, no LLM. Informational only.","tags":["news","headlines","crypto","rss","search"],"needs":["news"],"flow":"authorization","input":{"query":"bitcoin etf","limit":10,"hours":48},"input_schema":{"description":"What to search the headlines for, how many to return and how far back to look.","type":"object","properties":{"query":{"type":"string","minLength":2,"maxLength":120,"description":"Search words, matched whole-word and case-insensitively against headline titles and summaries."},"limit":{"type":"integer","minimum":1,"maximum":50,"default":20,"description":"Maximum headlines to return (default 20)."},"hours":{"type":"integer","minimum":1,"maximum":168,"default":48,"description":"Only headlines published within the last N hours (default 48)."}},"required":["query"],"additionalProperties":false},"output_example":{"query":"bitcoin etf","window_hours":48,"items":[{"title":"Bitcoin ETF inflows hit a monthly high","link":"https://www.coindesk.com/markets/2026/09/10/bitcoin-etf-inflows","publisher":"CoinDesk","published":"2026-09-10T14:02:00.000Z","summary":"Spot bitcoin ETFs took in … on Wednesday, the largest daily figure since …"}],"feeds":{"total":12,"fresh":11,"stale":1},"generated_at":"2026-09-11T00:00:00.000Z","attribution":"…","disclaimer":"…"},"output_schema":{"type":"object","properties":{"query":{"type":"string"},"window_hours":{"type":"integer"},"items":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"link":{"type":"string"},"publisher":{"type":"string"},"published":{"type":["string","null"]},"summary":{"type":"string"}}}},"feeds":{"type":"object","properties":{"total":{"type":"integer"},"fresh":{"type":"integer"},"stale":{"type":"integer"}}},"generated_at":{"type":"string"},"attribution":{"type":"string"},"disclaimer":{"type":"string"}}},"tool":"news_search"},{"method":"POST","path":"/v1/social/mentions","url":"https://aiworker.duckdns.org/v1/social/mentions","price_usd":"$0.01","description":"What people are saying about your words on two public forums, deterministic and without an LLM: Hacker News stories and comments (via the Algolia HN Search API) and Polymarket event comments (via the Gamma API) within the last 1-168 hours (default 48), whole-word and case-insensitive, newest first, deduplicated, up to 50 items with the text (at most 300 characters), a link, the author's public handle and the time; counts per source and each source's ok flag. Public posts as written by their authors; not advice.","tags":["social","mentions","sentiment","hacker news","polymarket"],"needs":["social"],"flow":"authorization","input":{"query":"bitcoin","hours":48,"limit":10},"input_schema":{"description":"What people are saying about a topic: the query to match, how far back to look and how many mentions to return.","type":"object","properties":{"query":{"type":"string","minLength":2,"maxLength":120,"description":"Topic to look for, matched whole-word and case-insensitively against post text (and Polymarket event titles)."},"hours":{"type":"integer","minimum":1,"maximum":168,"default":48,"description":"Only mentions published within the last N hours (default 48)."},"limit":{"type":"integer","minimum":1,"maximum":50,"default":20,"description":"Maximum mentions to return, newest first (default 20)."}},"required":["query"],"additionalProperties":false},"output_example":{"query":"bitcoin","window_hours":48,"items":[{"source":"hackernews","kind":"story","text":"Keystone's independent analysis of the Coldcard exploit","url":"https://news.ycombinator.com/item?id=43211234","author":"anon84","published":"2026-09-11T14:02:00.000Z","points":87,"event":null},{"source":"polymarket","kind":"comment","text":"if the fed holds, bitcoin rips","url":"https://polymarket.com/event/fed-decision-in-september-762","author":"Sandy-Evaluator-Speedboat","published":"2026-09-11T12:10:17.000Z","points":null,"event":{"slug":"fed-decision-in-september-762","title":"Fed decision in September?"}}],"counts":{"hackernews":1,"polymarket":1},"sources":[{"name":"hackernews","url":"https://hn.algolia.com/api/v1/search_by_date","ok":true},{"name":"polymarket","url":"https://gamma-api.polymarket.com/comments","ok":true}],"generated_at":"2026-09-11T20:00:00.000Z","attribution":"…","disclaimer":"…"},"output_schema":{"type":"object","properties":{"query":{"type":"string"},"window_hours":{"type":"integer"},"items":{"type":"array","items":{"type":"object","properties":{"source":{"type":"string","enum":["hackernews","polymarket"]},"kind":{"type":"string","enum":["story","comment"]},"text":{"type":"string"},"url":{"type":"string"},"author":{"type":["string","null"]},"published":{"type":"string"},"points":{"type":["integer","null"]},"event":{"type":["object","null"],"properties":{"slug":{"type":"string"},"title":{"type":"string"}}}}}},"counts":{"type":"object","properties":{"hackernews":{"type":"integer"},"polymarket":{"type":"integer"}}},"sources":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"url":{"type":"string"},"ok":{"type":"boolean"}}}},"generated_at":{"type":"string"},"attribution":{"type":"string"},"disclaimer":{"type":"string"}}},"tool":"social_mentions"},{"method":"POST","path":"/v1/trade/gate","url":"https://aiworker.duckdns.org/v1/trade/gate","price_usd":"$0.05","description":"One rule-based verdict before a swap on one Base token: pass, caution or block, with the reasons and the numbers that tripped them — Honeypot.is buy/sell simulation and taxes, pool liquidity and age, holder concentration, contract verification and ownership, and a name-spoof check against the canonical tokens. Deterministic, no LLM; a pass is not a guarantee.","tags":["chain","token","trading","risk","base"],"needs":["chain"],"flow":"authorization","input":{"address":"0x532f27101965dd16442E59d40670FaF5eBB142E4"},"input_schema":{"type":"object","properties":{"address":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"a Base (chain id 8453) token contract address"},"chain":{"type":"string","enum":["base"],"default":"base"}},"required":["address"],"additionalProperties":false},"output_example":{"chain":"eip155:8453","address":"0x532f27101965dd16442e59d40670faf5ebb142e4","verdict":"pass","reasons":[],"honeypot":{"checked":true,"is_honeypot":false,"buy_tax_pct":0,"sell_tax_pct":0},"liquidity_usd":788332.15,"largest_pool_age_days":540,"holders_count":948010,"top10_share_pct":31.74,"contract":{"verified":true,"renounced":true,"age_days":560},"name_spoof":false,"token":{"name":"Brett","symbol":"BRETT"},"generated_at":"2026-09-13T00:00:00.000Z","sources":[{"name":"honeypot","url":"https://api.honeypot.is/v2/IsHoneypot","ok":true}],"attribution":"Data: Blockscout (Base), Honeypot.is simulation, DexScreener-derived pairs, Base RPC","disclaimer":"A rule-based gate over public data; informational only, not investment advice; pass is not a guarantee."},"output_schema":{"type":"object","properties":{"verdict":{"type":"string","enum":["pass","caution","block"]},"reasons":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string"},"severity":{"type":"string"},"detail":{"type":"string"}}}},"honeypot":{"type":"object"},"liquidity_usd":{"type":["number","null"]},"largest_pool_age_days":{"type":["number","null"]},"holders_count":{"type":["integer","null"]},"top10_share_pct":{"type":["number","null"]},"contract":{"type":"object"},"name_spoof":{"type":"boolean"},"token":{"type":["object","null"]},"generated_at":{"type":"string"},"sources":{"type":"array"},"attribution":{"type":"string"},"disclaimer":{"type":"string"}}},"tool":"trade_gate"},{"method":"POST","path":"/v1/wallet/airdrop-scan","url":"https://aiworker.duckdns.org/v1/wallet/airdrop-scan","price_usd":"$0.05","description":"Wallet hygiene for one Base address: every token it holds, each marked honeypot, dust, batch-airdropped, name-spoofed, ok or unknown, with the reasons (Honeypot.is simulation per token, capped at 25; pool liquidity; holder counts; the sender that batch-delivered them). Tells an agent which balances to ignore and never approve. Deterministic, no LLM.","tags":["chain","wallet","airdrop","risk","base"],"needs":["chain"],"flow":"authorization","input":{"address":"0xec4bc04310925326ff80daf419a3861173865689"},"input_schema":{"description":"Which Base address to check (an EOA or a contract — a contract answers as kind contract, never a 404).","type":"object","additionalProperties":false,"required":["address"],"properties":{"address":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"The 0x-prefixed 40-hex Base address to check"}}},"output_example":{"address":"0xec4bc04310925326ff80daf419a3861173865689","tokens":[{"address":"0xe49ca8b1d11152f5b401d53cb34d0fae13f7f7b8","symbol":"CATE","name":"Catecoiin","balance":"12","verdict":"honeypot","reasons":[{"code":"honeypot","severity":"high","detail":"Honeypot.is simulation: cannot be sold"},{"code":"batch_airdrop","severity":"medium","detail":"3 distinct tokens from the same sender within 24 h"}],"holders_count":181,"liquidity_usd":0.36,"sender":"0x0445d7a4b6aa7ad28f27c5f5b6aaad3b3861ae71","batch_size":3}],"counts":{"honeypot":1,"dust":0,"airdrop":0,"spoof":0,"ok":0,"unknown":0},"checked":["0xe49ca8b1d11152f5b401d53cb34d0fae13f7f7b8"],"skipped":[],"truncated":false,"holdings_index":"complete","generated_at":"2026-09-13T00:00:00.000Z","sources":[{"name":"blockscout_address_tokens","url":"https://base.blockscout.com/api/v2/addresses/0xec4bc04310925326ff80daf419a3861173865689/tokens?type=ERC-20","ok":true}],"attribution":"Data: Blockscout (Base), Honeypot.is simulation, DexScreener-derived pairs","disclaimer":"Rule-based over public data; informational only, not investment advice."},"output_schema":{"type":"object","properties":{"address":{"type":"string"},"tokens":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"symbol":{"type":["string","null"]},"name":{"type":["string","null"]},"balance":{"type":["string","null"]},"verdict":{"type":"string","enum":["honeypot","dust","airdrop","spoof","ok","unknown"]},"reasons":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string"},"severity":{"type":"string","enum":["low","medium","high"]},"detail":{"type":"string"}}}},"holders_count":{"type":["integer","null"]},"liquidity_usd":{"type":["number","null"]},"sender":{"type":["string","null"]},"batch_size":{"type":["integer","null"]}}}},"counts":{"type":"object"},"checked":{"type":"array","items":{"type":"string"}},"truncated":{"type":"boolean"},"holdings_index":{"type":"string","enum":["empty","partial","complete"]},"skipped":{"type":"array","items":{"type":"string"}},"generated_at":{"type":"string"},"sources":{"type":"array"},"attribution":{"type":"string"},"disclaimer":{"type":"string"}}},"tool":"airdrop_scan"},{"method":"GET","path":"/v1/market/trending","url":"https://aiworker.duckdns.org/v1/market/trending","price_usd":"$0.02","description":"Trending tokens on Base right now: the pools GeckoTerminal ranks as trending, with price, 24 h volume, liquidity, 1 h/6 h/24 h price change, buys and sells, and pool age — stablecoin and WETH bases excluded, pools under a liquidity floor excluded (default $10,000). Deterministic, no LLM, no ranking of ours; cached five minutes.","tags":["market","trending","tokens","base","dex"],"needs":["market"],"flow":"authorization","input":{"limit":10,"min_liquidity_usd":10000},"input_schema":{"type":"object","properties":{"limit":{"type":"integer","minimum":1,"maximum":20,"default":10},"min_liquidity_usd":{"type":"number","minimum":0,"default":10000}},"additionalProperties":false},"output_example":{"chain":"eip155:8453","pools":[{"token":{"address":"0x99cf3e8bfb02c300312c53aac5d0b082e3d5975c","symbol":"LAPTOP","name":"LAPTOP"},"pool":"0x99cf3e8bfb02c300312c53aac5d0b082e3d5975c","dex":"aerodrome-base","price_usd":0.3648,"volume_24h_usd":1510950.65,"liquidity_usd":1645781.79,"price_change_pct":{"h1":2.1,"h6":8.4,"h24":41.2},"txns_24h":{"buys":1210,"sells":980},"pool_created_at":"2026-09-09T02:27:33Z"}],"as_of":"2026-09-13T00:00:00.000Z","generated_at":"2026-09-13T00:00:00.000Z","sources":[{"name":"geckoterminal_trending","url":"https://api.geckoterminal.com/api/v2/networks/base/trending_pools","ok":true}],"attribution":"Data: GeckoTerminal (trending pools, Base)","disclaimer":"Informational only; not investment advice. Trending is GeckoTerminal's order, not a recommendation."},"output_schema":{"type":"object","properties":{"chain":{"type":"string"},"pools":{"type":"array","items":{"type":"object"}},"as_of":{"type":"string"},"generated_at":{"type":"string"},"sources":{"type":"array"},"attribution":{"type":"string"},"disclaimer":{"type":"string"}}},"tool":"trending_tokens"},{"method":"POST","path":"/v1/market/ta","url":"https://aiworker.duckdns.org/v1/market/ta","price_usd":"$0.05","description":"Technical indicators for one Base token from its largest pool's candles (GeckoTerminal OHLCV, hourly or daily, 50–200 periods): RSI 14, EMA 20/50, SMA 20, Bollinger bands 20/2σ, ATR 14, last close, high/low and percentage changes — the textbook arithmetic on past prices, nothing more. Deterministic, no LLM, no signal, no forecast; cached five minutes.","tags":["market","technical-analysis","indicators","token","base"],"needs":["market"],"flow":"authorization","input":{"address":"0x532f27101965dd16442E59d40670FaF5eBB142E4","timeframe":"hour","periods":100},"input_schema":{"type":"object","properties":{"address":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"},"timeframe":{"type":"string","enum":["hour","day"],"default":"hour"},"periods":{"type":"integer","minimum":50,"maximum":200,"default":100}},"required":["address"],"additionalProperties":false},"output_example":{"token":{"address":"0x532f27101965dd16442e59d40670faf5ebb142e4","symbol":"BRETT","name":"Brett"},"pool":"0x4e829f8a5213c42535ab84aa40bd4adcce9cba02","timeframe":"hour","candles":100,"last_close":0.004946,"rsi_14":38.2,"ema_20":0.00501,"ema_50":0.00519,"sma_20":0.00503,"bollinger_20":{"upper":0.00522,"middle":0.00503,"lower":0.00484,"width_pct":7.6},"atr_14":0.00006,"change_pct":{"pct_1":-0.4,"pct_24":-2.1},"high_low_n":{"high":0.00551,"low":0.00488,"n":100},"reasons":[],"as_of":"2026-09-12T20:00:00.000Z","generated_at":"2026-09-13T00:00:00.000Z","sources":[{"name":"geckoterminal_ohlcv","url":"https://api.geckoterminal.com/api/v2/networks/base/pools/0x4e829f8a5213c42535ab84aa40bd4adcce9cba02/ohlcv/hour","ok":true}],"attribution":"Data: GeckoTerminal (OHLCV, Base)","disclaimer":"Indicators are arithmetic on past prices, not a forecast or a signal. Informational only; not investment advice."},"output_schema":{"type":"object","properties":{"token":{"type":"object"},"pool":{"type":"string"},"timeframe":{"type":"string"},"candles":{"type":"integer"},"last_close":{"type":["number","null"]},"rsi_14":{"type":["number","null"]},"ema_20":{"type":["number","null"]},"ema_50":{"type":["number","null"]},"sma_20":{"type":["number","null"]},"bollinger_20":{"type":["object","null"]},"atr_14":{"type":["number","null"]},"change_pct":{"type":"object","properties":{"pct_1":{"type":["number","null"]},"pct_24":{"type":["number","null"]}}},"high_low_n":{"type":["object","null"]},"reasons":{"type":"array","items":{"type":"string"}},"as_of":{"type":["string","null"]},"generated_at":{"type":"string"},"sources":{"type":"array"},"attribution":{"type":"string"},"disclaimer":{"type":"string"}}},"tool":"token_ta"}],"mcp":{"url":"https://aiworker.duckdns.org/mcp","tools":["defi_yields","defi_protocol","scrape_markdown","scrape_summary","yield_report","claim_check","token_check","token_info","wallet_check","resolution_check","market_odds","rule_backtest","odds_history","market_screener","topic_brief","token_report","news_search","social_mentions","trade_gate","airdrop_scan","trending_tokens","token_ta"]}}