{"openapi":"3.1.0","info":{"title":"Axiom Agentic Tools","version":"0.1.16","summary":"x402-paid, MCP-spoken, agentic-market-indexable tool surface on Base.","description":"Discovery: GET /manifest, /openapi.json, /.well-known/agentic/*. MCP: POST /mcp (2025-11-25). Pay: USDC on Base via CDP facilitator.","contact":{"name":"Axiom","url":"https://www.clawbots.org"},"license":{"name":"MIT"}},"servers":[{"url":"https://agentic.clawbots.org/api/agentic"}],"x-fallback":false,"paths":{"/tools/agent-revenue-optimizer":{"post":{"operationId":"agent-revenue-optimizer","summary":"Agent Revenue Optimizer","description":"Audit an x402-gated endpoint by probing its 402 envelope, agent-card.json, well-known surfaces, and response headers. Returns a closed-vocabulary verdict plus 3-7 scored recommendations across pricing, bundling, discoverability, envelope correctness, rate limiting, tier expansion, facilitator choice, and schema clarity. Each recommendation cites the observed current-state value as evidence.","tags":["x402","audit","revenue","discoverability","agentic","pricing","envelope","facilitator"],"x-x402-price-usd":0.1,"x-x402-amount-atomic":"100000","x-x402-network":"base","x-x402-asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","x-x402-pay-to":"0x523Eff3dB03938eaa31a5a6FBd41E3B9d23edde5","x-mcp-name":"agent-revenue-optimizer","x-bazaar-discoverable":true,"x-agentic-version":"0.1.0","x-agentic-category":"agent-business-intelligence","x-codeSamples":[{"lang":"shell","client":"curl","title":"Probe the 402 envelope (no payment)","code":"# 1. See the x402 envelope this endpoint emits.\ncurl -i -X POST 'https://agentic.clawbots.org/api/agentic/tools/agent-revenue-optimizer' \\\n  -H 'content-type: application/json' \\\n  -d '{\"endpoint_url\":\"https://agentic.clawbots.org/api/agentic/tools/agent-revenue-optimizer\",\"assumed_monthly_paid_calls\":1200}'\n\n# Returns HTTP 402 with the v2 envelope (x402Version=2, network=eip155:8453).\n# Read the PAYMENT-REQUIRED response header or the JSON body — same payload.\n# Pay with @x402/fetch (below)."},{"lang":"typescript","client":"@x402/fetch","title":"Pay and call from TypeScript (Node 20+, modern x402 v2 SDK)","code":"// npm i @x402/fetch @x402/evm viem\nimport { wrapFetchWithPayment, x402Client } from \"@x402/fetch\";\nimport { ExactEvmScheme } from \"@x402/evm/exact/client\";\nimport { privateKeyToAccount } from \"viem/accounts\";\n\nconst account = privateKeyToAccount(process.env.X402_PRIVATE_KEY);\nconst client = new x402Client().register(\"eip155:8453\", new ExactEvmScheme(account));\nconst fetchPay = wrapFetchWithPayment(fetch, client);\n\nconst r = await fetchPay(\"https://agentic.clawbots.org/api/agentic/tools/agent-revenue-optimizer\", {\n  method: \"POST\",\n  headers: { \"content-type\": \"application/json\" },\n  body: JSON.stringify({\n  \"endpoint_url\": \"https://agentic.clawbots.org/api/agentic/tools/agent-revenue-optimizer\",\n  \"assumed_monthly_paid_calls\": 1200\n}),\n});\nconsole.log(r.headers.get(\"payment-response\"));  // base64 settle receipt (v2)\nconsole.log(await r.json());                     // tool output"},{"lang":"python","client":"x402","title":"Pay and call from Python (modern x402 v2 SDK)","code":"# uv add 'x402[httpx,evm]'   # or: pip install 'x402[httpx,evm]'\nimport os, asyncio\nfrom eth_account import Account\nfrom x402 import x402Client\nfrom x402.http.clients import x402HttpxClient\nfrom x402.mechanisms.evm import EthAccountSigner\nfrom x402.mechanisms.evm.exact.register import register_exact_evm_client\n\nasync def main():\n    client = x402Client()\n    register_exact_evm_client(client, EthAccountSigner(Account.from_key(os.environ[\"EVM_PRIVATE_KEY\"])))\n    async with x402HttpxClient(client) as http:\n        resp = await http.post(\"https://agentic.clawbots.org/api/agentic/tools/agent-revenue-optimizer\", json={\n  \"endpoint_url\": \"https://agentic.clawbots.org/api/agentic/tools/agent-revenue-optimizer\",\n  \"assumed_monthly_paid_calls\": 1200\n})\n        await resp.aread()\n        print(resp.headers.get(\"payment-response\"))  # settle receipt (v2)\n        print(resp.json())                            # tool output\n\nasyncio.run(main())"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["endpoint_url"],"properties":{"endpoint_url":{"type":"string","format":"uri","minLength":8,"maxLength":2048,"description":"Public HTTP(S) URL of the x402-gated endpoint to audit. Must respond with an HTTP 402 envelope on an unauthenticated GET (or POST). Example: https://x402.org or any /api/tools/<slug> on a deployed x402 service."},"assumed_monthly_paid_calls":{"type":"integer","minimum":0,"maximum":1000000,"description":"Optional estimate of how many paid calls per month the endpoint currently receives. Used to scale recommendation impact_usd_per_month from a per-call delta to a monthly figure. Defaults to 1000 if omitted."}}},"example":{"endpoint_url":"https://agentic.clawbots.org/api/agentic/tools/agent-revenue-optimizer","assumed_monthly_paid_calls":1200}}}},"responses":{"200":{"description":"Tool call succeeded.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["endpoint_url","probed_at","verdict","current_state","recommendations","expected_lift_usd_per_month","evidence"],"properties":{"endpoint_url":{"type":"string","format":"uri"},"probed_at":{"type":"string","format":"date-time"},"verdict":{"type":"string","enum":["healthy","leaking-revenue","discoverability-blocked","mispriced","broken-envelope"]},"current_state":{"type":"object","additionalProperties":false,"required":["http_status_unauth","x402_version","accepts_count","price_usd","network","asset","pay_to","facilitator_url","max_timeout_seconds","bazaar_discoverable","agent_card_present","rate_limit_headers_present"],"properties":{"http_status_unauth":{"type":"integer"},"x402_version":{"type":"integer"},"accepts_count":{"type":"integer"},"price_usd":{"type":["string","null"]},"network":{"type":["string","null"]},"asset":{"type":["string","null"]},"pay_to":{"type":["string","null"]},"facilitator_url":{"type":["string","null"]},"max_timeout_seconds":{"type":["integer","null"]},"bazaar_discoverable":{"type":["boolean","null"]},"agent_card_present":{"type":"boolean"},"rate_limit_headers_present":{"type":"boolean"}}},"recommendations":{"type":"array","minItems":1,"maxItems":7,"items":{"type":"object","additionalProperties":false,"required":["lever","confidence","impact_usd_per_month","evidence","action"],"properties":{"lever":{"type":"string","enum":["pricing","bundling","discoverability","envelope-fix","rate-limit","tier-add","facilitator-switch","schema-clarity"]},"confidence":{"type":"string","enum":["low","medium","high"]},"impact_usd_per_month":{"type":"number","minimum":0},"evidence":{"type":"string","minLength":1,"maxLength":512},"action":{"type":"string","minLength":1,"maxLength":240}}}},"expected_lift_usd_per_month":{"type":"number","minimum":0},"evidence":{"type":"object","additionalProperties":false,"required":["endpoint_probed","agent_card_probed","envelope_sha256"],"properties":{"endpoint_probed":{"type":"string","format":"uri"},"agent_card_probed":{"type":"string","format":"uri"},"envelope_sha256":{"type":"string","minLength":64,"maxLength":64}}},"next_check_at":{"type":"string","format":"date-time","description":"ISO 8601 timestamp suggesting when the caller should re-invoke this tool. Derived from the tool's recurringHint.intervalSeconds."}}},"example":{"endpoint_url":"https://agentic.clawbots.org/api/agentic/tools/agent-revenue-optimizer","probed_at":"2026-05-29T17:42:00Z","verdict":"leaking-revenue","current_state":{"http_status_unauth":402,"x402_version":1,"accepts_count":1,"price_usd":"0.10","network":"base","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x523Eff3dB03938eaa31a5a6FBd41E3B9d23edde5","facilitator_url":"https://x402.example/facilitator","max_timeout_seconds":60,"bazaar_discoverable":null,"agent_card_present":false,"rate_limit_headers_present":false},"recommendations":[{"lever":"facilitator-switch","confidence":"high","impact_usd_per_month":36,"evidence":"current_state.facilitator_url=https://x402.example/facilitator (not api.cdp.coinbase.com)","action":"Route settlement through api.cdp.coinbase.com facilitator to reduce settlement failure rate."},{"lever":"discoverability","confidence":"high","impact_usd_per_month":48,"evidence":"current_state.agent_card_present=false at /.well-known/agent-card.json","action":"Publish /.well-known/agent-card.json so agent discovery crawlers can index the endpoint."},{"lever":"rate-limit","confidence":"medium","impact_usd_per_month":12,"evidence":"current_state.rate_limit_headers_present=false","action":"Emit RateLimit-Limit and RateLimit-Remaining headers so agent clients can pace calls."}],"expected_lift_usd_per_month":96,"evidence":{"endpoint_probed":"https://agentic.clawbots.org/api/agentic/tools/agent-revenue-optimizer","agent_card_probed":"https://agentic.clawbots.org/.well-known/agent-card.json","envelope_sha256":"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"}}}}},"400":{"description":"Input validation failed. No payment was charged.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Payment required. Sign EIP-3009 USDC transferWithAuthorization and retry with X-PAYMENT header.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/X402PaymentRequired"}}}},"500":{"description":"Tool execution error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"x402":[]}]}},"/tools/agent-token-strategy":{"post":{"operationId":"agent-token-strategy","summary":"Agent Token Strategy","description":"Design a non-security token strategy for an autonomous agent. Returns a deployable spec: symbol, supply, distribution allocations summing to 100, OpenZeppelin contract templates (ERC20, ERC4626, ERC721), fair-launch defaults, a six-criterion non-security checklist, an estimated Base deploy cost, and a curated risks list covering Sybil, LP rug, and key-compromise vectors.","tags":["tokenomics","agent-tokens","erc20","erc4626","erc721","fair-launch","base","openzeppelin","non-security"],"x-x402-price-usd":0.15,"x-x402-amount-atomic":"150000","x-x402-network":"base","x-x402-asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","x-x402-pay-to":"0x523Eff3dB03938eaa31a5a6FBd41E3B9d23edde5","x-mcp-name":"agent-token-strategy","x-bazaar-discoverable":true,"x-agentic-version":"0.1.0","x-agentic-category":"agent-tokenomics","x-codeSamples":[{"lang":"shell","client":"curl","title":"Probe the 402 envelope (no payment)","code":"# 1. See the x402 envelope this endpoint emits.\ncurl -i -X POST 'https://agentic.clawbots.org/api/agentic/tools/agent-token-strategy' \\\n  -H 'content-type: application/json' \\\n  -d '{\"agent_name\":\"Axiom\",\"symbol\":\"AXM\",\"pattern\":\"fair-launch-axiom-style\",\"include_nft\":false}'\n\n# Returns HTTP 402 with the v2 envelope (x402Version=2, network=eip155:8453).\n# Read the PAYMENT-REQUIRED response header or the JSON body — same payload.\n# Pay with @x402/fetch (below)."},{"lang":"typescript","client":"@x402/fetch","title":"Pay and call from TypeScript (Node 20+, modern x402 v2 SDK)","code":"// npm i @x402/fetch @x402/evm viem\nimport { wrapFetchWithPayment, x402Client } from \"@x402/fetch\";\nimport { ExactEvmScheme } from \"@x402/evm/exact/client\";\nimport { privateKeyToAccount } from \"viem/accounts\";\n\nconst account = privateKeyToAccount(process.env.X402_PRIVATE_KEY);\nconst client = new x402Client().register(\"eip155:8453\", new ExactEvmScheme(account));\nconst fetchPay = wrapFetchWithPayment(fetch, client);\n\nconst r = await fetchPay(\"https://agentic.clawbots.org/api/agentic/tools/agent-token-strategy\", {\n  method: \"POST\",\n  headers: { \"content-type\": \"application/json\" },\n  body: JSON.stringify({\n  \"agent_name\": \"Axiom\",\n  \"symbol\": \"AXM\",\n  \"pattern\": \"fair-launch-axiom-style\",\n  \"include_nft\": false\n}),\n});\nconsole.log(r.headers.get(\"payment-response\"));  // base64 settle receipt (v2)\nconsole.log(await r.json());                     // tool output"},{"lang":"python","client":"x402","title":"Pay and call from Python (modern x402 v2 SDK)","code":"# uv add 'x402[httpx,evm]'   # or: pip install 'x402[httpx,evm]'\nimport os, asyncio\nfrom eth_account import Account\nfrom x402 import x402Client\nfrom x402.http.clients import x402HttpxClient\nfrom x402.mechanisms.evm import EthAccountSigner\nfrom x402.mechanisms.evm.exact.register import register_exact_evm_client\n\nasync def main():\n    client = x402Client()\n    register_exact_evm_client(client, EthAccountSigner(Account.from_key(os.environ[\"EVM_PRIVATE_KEY\"])))\n    async with x402HttpxClient(client) as http:\n        resp = await http.post(\"https://agentic.clawbots.org/api/agentic/tools/agent-token-strategy\", json={\n  \"agent_name\": \"Axiom\",\n  \"symbol\": \"AXM\",\n  \"pattern\": \"fair-launch-axiom-style\",\n  \"include_nft\": False\n})\n        await resp.aread()\n        print(resp.headers.get(\"payment-response\"))  # settle receipt (v2)\n        print(resp.json())                            # tool output\n\nasyncio.run(main())"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["agent_name","symbol","pattern"],"properties":{"agent_name":{"type":"string","minLength":1,"maxLength":64,"description":"Display name of the agent the token represents."},"symbol":{"type":"string","pattern":"^[A-Z][A-Z0-9]{1,9}$","description":"Ticker symbol, 2-10 chars, A-Z and digits, leading letter."},"pattern":{"type":"string","enum":["fair-launch-axiom-style","staking-loop","minimal-erc20"],"description":"Which template to base the strategy on."},"total_supply":{"type":"integer","minimum":1000,"maximum":1000000000000,"description":"Optional total supply override. Defaults to template default."},"include_nft":{"type":"boolean","description":"Include an ERC721 access pass alongside the ERC20."}}},"example":{"agent_name":"Axiom","symbol":"AXM","pattern":"fair-launch-axiom-style","include_nft":false}}}},"responses":{"200":{"description":"Tool call succeeded.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["agent_name","symbol","pattern","total_supply","decimals","allocations","contracts_to_deploy","fair_launch_defaults","non_security_checklist","estimated_deploy_cost_usd","deploy_cost_assumptions","risks","evidence","generated_at"],"properties":{"agent_name":{"type":"string","minLength":1,"maxLength":64},"symbol":{"type":"string","pattern":"^[A-Z][A-Z0-9]{1,9}$"},"pattern":{"type":"string","enum":["fair-launch-axiom-style","staking-loop","minimal-erc20"]},"total_supply":{"type":"integer","minimum":1000},"decimals":{"type":"integer","minimum":0,"maximum":18},"allocations":{"type":"array","minItems":1,"maxItems":12,"items":{"type":"object","additionalProperties":false,"required":["bucket","percent","vesting","rationale"],"properties":{"bucket":{"type":"string","enum":["fair-launch-liquidity","staker-rewards","agent-treasury","community-airdrop","ecosystem-grants","lp-incentives","operator-multisig"]},"percent":{"type":"number","minimum":0,"maximum":100},"vesting":{"type":"string","enum":["none","linear-12mo","linear-24mo","cliff-6mo-linear-18mo"]},"rationale":{"type":"string","minLength":8,"maxLength":240}}}},"contracts_to_deploy":{"type":"array","minItems":1,"maxItems":4,"items":{"type":"object","additionalProperties":false,"required":["name","standard","openzeppelin_template","purpose"],"properties":{"name":{"type":"string","minLength":1,"maxLength":64},"standard":{"type":"string","enum":["ERC20","ERC4626","ERC721","ERC20Votes"]},"openzeppelin_template":{"type":"string","enum":["ERC20","ERC20Burnable","ERC20Permit","ERC20Votes","ERC4626","ERC721","ERC721Enumerable","Ownable"]},"purpose":{"type":"string","minLength":8,"maxLength":240}}}},"fair_launch_defaults":{"type":"object","additionalProperties":false,"required":["dex","pair_asset","initial_lp_percent_of_supply","lp_lock_months","anti_sniper_block_delay","renounce_ownership"],"properties":{"dex":{"type":"string","enum":["uniswap-v3-base","aerodrome-base"]},"pair_asset":{"type":"string","enum":["WETH","USDC"]},"initial_lp_percent_of_supply":{"type":"number","minimum":0,"maximum":100},"lp_lock_months":{"type":"integer","minimum":0,"maximum":120},"anti_sniper_block_delay":{"type":"integer","minimum":0,"maximum":50},"renounce_ownership":{"type":"boolean"}}},"non_security_checklist":{"type":"array","minItems":6,"maxItems":6,"items":{"type":"object","additionalProperties":false,"required":["criterion","status","note"],"properties":{"criterion":{"type":"string","enum":["no-investment-contract","no-common-enterprise","no-profit-expectation-from-others","utility-on-deploy","no-revenue-share-promise","no-pre-sale-or-private-allocation"]},"status":{"type":"string","enum":["pass","warn","fail"]},"note":{"type":"string","minLength":8,"maxLength":240}}}},"estimated_deploy_cost_usd":{"type":"number","minimum":0,"maximum":10000},"deploy_cost_assumptions":{"type":"object","additionalProperties":false,"required":["base_gas_gwei","estimated_gas_units","eth_usd_assumption"],"properties":{"base_gas_gwei":{"type":"number","minimum":0},"estimated_gas_units":{"type":"integer","minimum":0},"eth_usd_assumption":{"type":"number","minimum":0}}},"risks":{"type":"array","minItems":3,"maxItems":8,"items":{"type":"object","additionalProperties":false,"required":["risk","severity","mitigation"],"properties":{"risk":{"type":"string","enum":["sybil-airdrop-farming","lp-rug-by-deployer","deployer-key-compromise","front-running-on-launch","regulatory-reclassification","oracle-manipulation"]},"severity":{"type":"string","enum":["low","medium","high","critical"]},"mitigation":{"type":"string","minLength":8,"maxLength":240}}}},"evidence":{"type":"object","additionalProperties":false,"required":["template_id","openzeppelin_docs_url","base_chain_docs_url","reference_deployment"],"properties":{"template_id":{"type":"string","enum":["fair-launch-axiom-style","staking-loop","minimal-erc20"]},"openzeppelin_docs_url":{"type":"string","format":"uri"},"base_chain_docs_url":{"type":"string","format":"uri"},"reference_deployment":{"type":"string","minLength":4,"maxLength":128}}},"generated_at":{"type":"string","format":"date-time"},"next_check_at":{"type":"string","format":"date-time","description":"ISO 8601 timestamp suggesting when the caller should re-invoke this tool. Derived from the tool's recurringHint.intervalSeconds."}}},"example":{"agent_name":"Axiom","symbol":"AXM","pattern":"fair-launch-axiom-style","total_supply":1000000000,"decimals":18,"allocations":[{"bucket":"fair-launch-liquidity","percent":90,"vesting":"none","rationale":"Seed Uniswap v3 pair so the token is tradable on deploy."},{"bucket":"agent-treasury","percent":10,"vesting":"linear-24mo","rationale":"Agent-operated multisig for grants and burns over two years."}],"contracts_to_deploy":[{"name":"AgentToken","standard":"ERC20","openzeppelin_template":"ERC20Burnable","purpose":"Tradable supply with daily burn-on-claim hook."}],"fair_launch_defaults":{"dex":"uniswap-v3-base","pair_asset":"WETH","initial_lp_percent_of_supply":90,"lp_lock_months":24,"anti_sniper_block_delay":2,"renounce_ownership":true},"non_security_checklist":[{"criterion":"no-investment-contract","status":"pass","note":"No off-chain promise of returns."},{"criterion":"no-common-enterprise","status":"pass","note":"Token utility is autonomous on-chain."},{"criterion":"no-profit-expectation-from-others","status":"pass","note":"Holders self-custody and self-act."},{"criterion":"utility-on-deploy","status":"pass","note":"Burn and claim functions live on block one."},{"criterion":"no-revenue-share-promise","status":"pass","note":"No dividend, no buyback guarantee."},{"criterion":"no-pre-sale-or-private-allocation","status":"pass","note":"Zero allocation to insiders or VCs."}],"estimated_deploy_cost_usd":0.288,"deploy_cost_assumptions":{"base_gas_gwei":0.05,"estimated_gas_units":1200000,"eth_usd_assumption":4000},"risks":[{"risk":"sybil-airdrop-farming","severity":"medium","mitigation":"Require on-chain history older than launch block for any airdrop claim."},{"risk":"lp-rug-by-deployer","severity":"high","mitigation":"Lock LP NFT in a 24-month timelock and renounce ownership in deploy tx."},{"risk":"deployer-key-compromise","severity":"critical","mitigation":"Use a fresh deploy key, transfer admin to multisig in the same script."}],"evidence":{"template_id":"fair-launch-axiom-style","openzeppelin_docs_url":"https://docs.openzeppelin.com/contracts/5.x/erc20","base_chain_docs_url":"https://docs.base.org/","reference_deployment":"0x523Eff3dB03938eaa31a5a6FBd41E3B9d23edde5"},"generated_at":"2026-05-29T00:00:00.000Z"}}}},"400":{"description":"Input validation failed. No payment was charged.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Payment required. Sign EIP-3009 USDC transferWithAuthorization and retry with X-PAYMENT header.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/X402PaymentRequired"}}}},"500":{"description":"Tool execution error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"x402":[]}]}},"/tools/base-builder-grant-finder":{"post":{"operationId":"base-builder-grant-finder","summary":"Base Builder Grant Finder","description":"Returns a ranked, deadline-aware list of open Base ecosystem funding programs (grants, accelerators, hackathons, retro-funding). Each result cites source_url, deadline, funding_range_usd, and last_verified_at. Stale entries are flagged. Designed for agents and builders shipping on Base who need a single call to surface the next applicable funding deadline.","tags":["base","grants","funding","hackathon","accelerator","retro-funding","builders","discovery","deadlines","ai-agents"],"x-x402-price-usd":0.05,"x-x402-amount-atomic":"50000","x-x402-network":"base","x-x402-asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","x-x402-pay-to":"0x523Eff3dB03938eaa31a5a6FBd41E3B9d23edde5","x-mcp-name":"base-builder-grant-finder","x-bazaar-discoverable":true,"x-agentic-version":"0.1.0","x-agentic-category":"agent-funding-discovery","x-codeSamples":[{"lang":"shell","client":"curl","title":"Probe the 402 envelope (no payment)","code":"# 1. See the x402 envelope this endpoint emits.\ncurl -i -X POST 'https://agentic.clawbots.org/api/agentic/tools/base-builder-grant-finder' \\\n  -H 'content-type: application/json' \\\n  -d '{\"category\":\"ai-agent\",\"stage\":\"prototype\",\"has_live_base_contract\":true,\"max_results\":5}'\n\n# Returns HTTP 402 with the v2 envelope (x402Version=2, network=eip155:8453).\n# Read the PAYMENT-REQUIRED response header or the JSON body — same payload.\n# Pay with @x402/fetch (below)."},{"lang":"typescript","client":"@x402/fetch","title":"Pay and call from TypeScript (Node 20+, modern x402 v2 SDK)","code":"// npm i @x402/fetch @x402/evm viem\nimport { wrapFetchWithPayment, x402Client } from \"@x402/fetch\";\nimport { ExactEvmScheme } from \"@x402/evm/exact/client\";\nimport { privateKeyToAccount } from \"viem/accounts\";\n\nconst account = privateKeyToAccount(process.env.X402_PRIVATE_KEY);\nconst client = new x402Client().register(\"eip155:8453\", new ExactEvmScheme(account));\nconst fetchPay = wrapFetchWithPayment(fetch, client);\n\nconst r = await fetchPay(\"https://agentic.clawbots.org/api/agentic/tools/base-builder-grant-finder\", {\n  method: \"POST\",\n  headers: { \"content-type\": \"application/json\" },\n  body: JSON.stringify({\n  \"category\": \"ai-agent\",\n  \"stage\": \"prototype\",\n  \"has_live_base_contract\": true,\n  \"max_results\": 5\n}),\n});\nconsole.log(r.headers.get(\"payment-response\"));  // base64 settle receipt (v2)\nconsole.log(await r.json());                     // tool output"},{"lang":"python","client":"x402","title":"Pay and call from Python (modern x402 v2 SDK)","code":"# uv add 'x402[httpx,evm]'   # or: pip install 'x402[httpx,evm]'\nimport os, asyncio\nfrom eth_account import Account\nfrom x402 import x402Client\nfrom x402.http.clients import x402HttpxClient\nfrom x402.mechanisms.evm import EthAccountSigner\nfrom x402.mechanisms.evm.exact.register import register_exact_evm_client\n\nasync def main():\n    client = x402Client()\n    register_exact_evm_client(client, EthAccountSigner(Account.from_key(os.environ[\"EVM_PRIVATE_KEY\"])))\n    async with x402HttpxClient(client) as http:\n        resp = await http.post(\"https://agentic.clawbots.org/api/agentic/tools/base-builder-grant-finder\", json={\n  \"category\": \"ai-agent\",\n  \"stage\": \"prototype\",\n  \"has_live_base_contract\": True,\n  \"max_results\": 5\n})\n        await resp.aread()\n        print(resp.headers.get(\"payment-response\"))  # settle receipt (v2)\n        print(resp.json())                            # tool output\n\nasyncio.run(main())"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["category"],"properties":{"category":{"type":"string","enum":["defi","infra","ai-agent","consumer","nft","tooling","social","any"],"description":"Project category. Used to match grant program eligibility and scope. 'ai-agent' covers agent infrastructure, autonomous agents, and agent-economy projects; 'tooling' covers dev tools and SDKs; 'any' returns programs that accept all categories. Required."},"stage":{"type":"string","enum":["idea","prototype","mainnet","scaling","any"],"default":"any","description":"Current project stage. 'idea' is pre-prototype; 'prototype' has working demo; 'mainnet' has deployed Base contracts; 'scaling' has live users and revenue. Used as an additional eligibility filter against grant stage requirements. Defaults to 'any'."},"has_live_base_contract":{"type":"boolean","default":false,"description":"True if the project already has at least one deployed contract on Base mainnet. Several grants (Base Builder Grants, Coinbase Developer Grants) score higher for live-on-Base projects. Defaults to false."},"max_results":{"type":"integer","minimum":1,"maximum":25,"default":10,"description":"Maximum number of ranked program results to return. Programs are scored by match against category, stage, has_live_base_contract, and deadline proximity. Defaults to 10."}}},"example":{"category":"ai-agent","stage":"prototype","has_live_base_contract":true,"max_results":5}}}},"responses":{"200":{"description":"Tool call succeeded.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["query","results","stale_warnings","total_open_programs","evaluated_at","evidence"],"properties":{"query":{"type":"object","additionalProperties":false,"required":["category","stage","has_live_base_contract","max_results"],"properties":{"category":{"type":"string"},"stage":{"type":"string"},"has_live_base_contract":{"type":"boolean"},"max_results":{"type":"integer"}}},"results":{"type":"array","maxItems":25,"items":{"type":"object","additionalProperties":false,"required":["program_name","type","source_url","deadline","funding_range_usd","eligibility","last_verified_at","match_score","match_reasons","days_until_deadline"],"properties":{"program_name":{"type":"string","minLength":1},"type":{"type":"string","enum":["grant","accelerator","hackathon","retro-funding","quest","bounty"]},"source_url":{"type":"string","format":"uri"},"deadline":{"type":"string","format":"date"},"funding_range_usd":{"type":"object","additionalProperties":false,"required":["min","max"],"properties":{"min":{"type":"number","minimum":0},"max":{"type":"number","minimum":0}}},"eligibility":{"type":"string","minLength":1},"last_verified_at":{"type":"string","format":"date-time"},"match_score":{"type":"integer","minimum":0,"maximum":100},"match_reasons":{"type":"array","items":{"type":"string","minLength":1},"maxItems":8},"days_until_deadline":{"type":"integer"}}}},"stale_warnings":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["program_name","last_verified_at","days_stale"],"properties":{"program_name":{"type":"string"},"last_verified_at":{"type":"string","format":"date-time"},"days_stale":{"type":"integer","minimum":0}}}},"total_open_programs":{"type":"integer","minimum":0},"evaluated_at":{"type":"string","format":"date-time"},"evidence":{"type":"object","additionalProperties":false,"required":["dataset_version","dataset_verified_at","source_count"],"properties":{"dataset_version":{"type":"string","minLength":1},"dataset_verified_at":{"type":"string","format":"date-time"},"source_count":{"type":"integer","minimum":1}}},"next_check_at":{"type":"string","format":"date-time","description":"ISO 8601 timestamp suggesting when the caller should re-invoke this tool. Derived from the tool's recurringHint.intervalSeconds."}}},"example":{"query":{"category":"ai-agent","stage":"prototype","has_live_base_contract":true,"max_results":5},"results":[{"program_name":"Base Builder Grants","type":"grant","source_url":"https://paragraph.com/@grants.base.eth/calling-based-builders","deadline":"2026-12-31","funding_range_usd":{"min":1000,"max":25000},"eligibility":"Builders shipping on Base mainnet with verifiable onchain activity.","last_verified_at":"2026-05-29T08:00:00Z","match_score":65,"match_reasons":["category match: ai-agent","live Base contract bonus","stage match: prototype"],"days_until_deadline":216}],"stale_warnings":[],"total_open_programs":12,"evaluated_at":"2026-05-29T12:00:00Z","evidence":{"dataset_version":"2026.05.29","dataset_verified_at":"2026-05-29T08:00:00Z","source_count":12}}}}},"400":{"description":"Input validation failed. No payment was charged.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Payment required. Sign EIP-3009 USDC transferWithAuthorization and retry with X-PAYMENT header.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/X402PaymentRequired"}}}},"500":{"description":"Tool execution error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"x402":[]}]}},"/tools/base-gas-tracker":{"post":{"operationId":"base-gas-tracker","summary":"Base Gas Tracker","description":"Live Base network gas tracker. Returns current gas price in gwei, base fee, priority fee (tip), and a block history showing recent gas trends. Useful for timing transactions and estimating costs. $0.01/call.","tags":["base","gas","gwei","evm","transactions","chain-data","fees"],"x-x402-price-usd":0.01,"x-x402-amount-atomic":"10000","x-x402-network":"base","x-x402-asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","x-x402-pay-to":"0x523Eff3dB03938eaa31a5a6FBd41E3B9d23edde5","x-mcp-name":"base-gas-tracker","x-bazaar-discoverable":true,"x-agentic-version":"1.0.0","x-agentic-category":"data","x-codeSamples":[{"lang":"shell","client":"curl","title":"Probe the 402 envelope (no payment)","code":"# 1. See the x402 envelope this endpoint emits.\ncurl -i -X POST 'https://agentic.clawbots.org/api/agentic/tools/base-gas-tracker' \\\n  -H 'content-type: application/json' \\\n  -d '{\"blocks\":5}'\n\n# Returns HTTP 402 with the v2 envelope (x402Version=2, network=eip155:8453).\n# Read the PAYMENT-REQUIRED response header or the JSON body — same payload.\n# Pay with @x402/fetch (below)."},{"lang":"typescript","client":"@x402/fetch","title":"Pay and call from TypeScript (Node 20+, modern x402 v2 SDK)","code":"// npm i @x402/fetch @x402/evm viem\nimport { wrapFetchWithPayment, x402Client } from \"@x402/fetch\";\nimport { ExactEvmScheme } from \"@x402/evm/exact/client\";\nimport { privateKeyToAccount } from \"viem/accounts\";\n\nconst account = privateKeyToAccount(process.env.X402_PRIVATE_KEY);\nconst client = new x402Client().register(\"eip155:8453\", new ExactEvmScheme(account));\nconst fetchPay = wrapFetchWithPayment(fetch, client);\n\nconst r = await fetchPay(\"https://agentic.clawbots.org/api/agentic/tools/base-gas-tracker\", {\n  method: \"POST\",\n  headers: { \"content-type\": \"application/json\" },\n  body: JSON.stringify({\n  \"blocks\": 5\n}),\n});\nconsole.log(r.headers.get(\"payment-response\"));  // base64 settle receipt (v2)\nconsole.log(await r.json());                     // tool output"},{"lang":"python","client":"x402","title":"Pay and call from Python (modern x402 v2 SDK)","code":"# uv add 'x402[httpx,evm]'   # or: pip install 'x402[httpx,evm]'\nimport os, asyncio\nfrom eth_account import Account\nfrom x402 import x402Client\nfrom x402.http.clients import x402HttpxClient\nfrom x402.mechanisms.evm import EthAccountSigner\nfrom x402.mechanisms.evm.exact.register import register_exact_evm_client\n\nasync def main():\n    client = x402Client()\n    register_exact_evm_client(client, EthAccountSigner(Account.from_key(os.environ[\"EVM_PRIVATE_KEY\"])))\n    async with x402HttpxClient(client) as http:\n        resp = await http.post(\"https://agentic.clawbots.org/api/agentic/tools/base-gas-tracker\", json={\n  \"blocks\": 5\n})\n        await resp.aread()\n        print(resp.headers.get(\"payment-response\"))  # settle receipt (v2)\n        print(resp.json())                            # tool output\n\nasyncio.run(main())"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"blocks":{"type":"integer","minimum":1,"maximum":20,"default":10,"description":"Number of recent blocks to include in history (1-20, default 10)"}}},"example":{"blocks":5}}}},"responses":{"200":{"description":"Tool call succeeded.","content":{"application/json":{"schema":{"type":"object","required":["gas_price_gwei","base_fee_gwei","priority_fee_gwei","block_history","trend","fetched_at"],"properties":{"gas_price_gwei":{"type":"number"},"base_fee_gwei":{"type":"number"},"priority_fee_gwei":{"type":"number"},"max_fee_suggestion_gwei":{"type":"number"},"block_history":{"type":"array","items":{"type":"object","properties":{"block":{"type":"integer"},"base_fee_gwei":{"type":"number"},"gas_used_ratio":{"type":"number"}}}},"trend":{"type":"string","enum":["rising","falling","stable"]},"fetched_at":{"type":"string"}}},"example":{"gas_price_gwei":0.0012,"base_fee_gwei":0.001,"priority_fee_gwei":0.0005,"max_fee_suggestion_gwei":0.0025,"block_history":[{"block":24000000,"base_fee_gwei":0.001,"gas_used_ratio":0.52},{"block":23999999,"base_fee_gwei":0.0009,"gas_used_ratio":0.48}],"trend":"stable","fetched_at":"2026-06-17T00:00:00Z"}}}},"400":{"description":"Input validation failed. No payment was charged.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Payment required. Sign EIP-3009 USDC transferWithAuthorization and retry with X-PAYMENT header.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/X402PaymentRequired"}}}},"500":{"description":"Tool execution error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"x402":[]}]}},"/tools/mcp-security-scanner":{"post":{"operationId":"mcp-security-scanner","summary":"MCP Security Scanner","description":"Scans an MCP server manifest or endpoint for security vulnerabilities — prompt injection in tool descriptions, exfiltration vectors, unbounded resource access, privilege escalation, schema mismatches, transport security issues, and over-permissive scopes. Returns a structured risk report with severity levels and remediation guidance.","tags":["security","mcp","audit","agent-safety","vulnerability-scanner"],"x-x402-price-usd":0.05,"x-x402-amount-atomic":"50000","x-x402-network":"base","x-x402-asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","x-x402-pay-to":"0x523Eff3dB03938eaa31a5a6FBd41E3B9d23edde5","x-mcp-name":"mcp-security-scanner","x-bazaar-discoverable":true,"x-agentic-version":"1.0.0","x-agentic-category":"agent-builder-tooling","x-codeSamples":[{"lang":"shell","client":"curl","title":"Probe the 402 envelope (no payment)","code":"# 1. See the x402 envelope this endpoint emits.\ncurl -i -X POST 'https://agentic.clawbots.org/api/agentic/tools/mcp-security-scanner' \\\n  -H 'content-type: application/json' \\\n  -d '{\"manifestUrl\":\"https://agentic.clawbots.org/.well-known/agentic/manifest.json\"}'\n\n# Returns HTTP 402 with the v2 envelope (x402Version=2, network=eip155:8453).\n# Read the PAYMENT-REQUIRED response header or the JSON body — same payload.\n# Pay with @x402/fetch (below)."},{"lang":"typescript","client":"@x402/fetch","title":"Pay and call from TypeScript (Node 20+, modern x402 v2 SDK)","code":"// npm i @x402/fetch @x402/evm viem\nimport { wrapFetchWithPayment, x402Client } from \"@x402/fetch\";\nimport { ExactEvmScheme } from \"@x402/evm/exact/client\";\nimport { privateKeyToAccount } from \"viem/accounts\";\n\nconst account = privateKeyToAccount(process.env.X402_PRIVATE_KEY);\nconst client = new x402Client().register(\"eip155:8453\", new ExactEvmScheme(account));\nconst fetchPay = wrapFetchWithPayment(fetch, client);\n\nconst r = await fetchPay(\"https://agentic.clawbots.org/api/agentic/tools/mcp-security-scanner\", {\n  method: \"POST\",\n  headers: { \"content-type\": \"application/json\" },\n  body: JSON.stringify({\n  \"manifestUrl\": \"https://agentic.clawbots.org/.well-known/agentic/manifest.json\"\n}),\n});\nconsole.log(r.headers.get(\"payment-response\"));  // base64 settle receipt (v2)\nconsole.log(await r.json());                     // tool output"},{"lang":"python","client":"x402","title":"Pay and call from Python (modern x402 v2 SDK)","code":"# uv add 'x402[httpx,evm]'   # or: pip install 'x402[httpx,evm]'\nimport os, asyncio\nfrom eth_account import Account\nfrom x402 import x402Client\nfrom x402.http.clients import x402HttpxClient\nfrom x402.mechanisms.evm import EthAccountSigner\nfrom x402.mechanisms.evm.exact.register import register_exact_evm_client\n\nasync def main():\n    client = x402Client()\n    register_exact_evm_client(client, EthAccountSigner(Account.from_key(os.environ[\"EVM_PRIVATE_KEY\"])))\n    async with x402HttpxClient(client) as http:\n        resp = await http.post(\"https://agentic.clawbots.org/api/agentic/tools/mcp-security-scanner\", json={\n  \"manifestUrl\": \"https://agentic.clawbots.org/.well-known/agentic/manifest.json\"\n})\n        await resp.aread()\n        print(resp.headers.get(\"payment-response\"))  # settle receipt (v2)\n        print(resp.json())                            # tool output\n\nasyncio.run(main())"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"manifestUrl":{"type":"string","description":"URL of the MCP server manifest (e.g. https://example.com/.well-known/agentic/manifest.json). Mutually exclusive with manifestJson."},"manifestJson":{"type":"object","description":"Raw MCP manifest JSON object to scan. Mutually exclusive with manifestUrl."},"checks":{"type":"array","items":{"type":"string","enum":["prompt-injection","exfiltration","resource-access","privilege-escalation","schema-validation","transport-security","scope-permissions"]},"description":"Specific check categories to run. Omit to run all checks."}},"oneOf":[{"required":["manifestUrl"]},{"required":["manifestJson"]}],"additionalProperties":false},"example":{"manifestUrl":"https://agentic.clawbots.org/.well-known/agentic/manifest.json"}}}},"responses":{"200":{"description":"Tool call succeeded.","content":{"application/json":{"schema":{"type":"object","properties":{"serverName":{"type":"string"},"scanTimestamp":{"type":"string","format":"date-time"},"toolCount":{"type":"integer"},"findings":{"type":"array","items":{"type":"object","properties":{"severity":{"type":"string","enum":["critical","high","medium","low","info"]},"category":{"type":"string"},"tool":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"remediation":{"type":"string"}},"required":["severity","category","title","description"]}},"summary":{"type":"object","properties":{"critical":{"type":"integer"},"high":{"type":"integer"},"medium":{"type":"integer"},"low":{"type":"integer"},"info":{"type":"integer"},"overallRisk":{"type":"string","enum":["critical","high","medium","low","clean"]}}}},"required":["serverName","scanTimestamp","toolCount","findings","summary"]},"example":{"serverName":"axiom-agentic-tools","scanTimestamp":"2026-05-31T12:00:00Z","toolCount":5,"findings":[{"severity":"info","category":"transport-security","title":"HTTPS transport verified","description":"Server uses HTTPS with valid certificate."}],"summary":{"critical":0,"high":0,"medium":0,"low":0,"info":1,"overallRisk":"clean"}}}}},"400":{"description":"Input validation failed. No payment was charged.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Payment required. Sign EIP-3009 USDC transferWithAuthorization and retry with X-PAYMENT header.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/X402PaymentRequired"}}}},"500":{"description":"Tool execution error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"x402":[]}]}},"/tools/multi-agent-workflow-designer":{"post":{"operationId":"multi-agent-workflow-designer","summary":"Multi-Agent Workflow Designer","description":"Compose a directed acyclic graph of public x402, MCP, and A2A tools that achieves a stated agent goal. Returns step-by-step plan with tool slug, endpoint URL, protocol, inputs, dependencies, per-step cost and latency, total estimated cost, and an executable plan in either a2a-json-rpc or shell-curl form. Useful for autonomous agents that need to pick which paid tools to chain.","tags":["orchestration","workflow","dag","x402","mcp","a2a","planner","agents","base","nft","defi"],"x-x402-price-usd":0.1,"x-x402-amount-atomic":"100000","x-x402-network":"base","x-x402-asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","x-x402-pay-to":"0x523Eff3dB03938eaa31a5a6FBd41E3B9d23edde5","x-mcp-name":"multi-agent-workflow-designer","x-bazaar-discoverable":true,"x-agentic-version":"0.1.0","x-agentic-category":"agent-orchestration","x-codeSamples":[{"lang":"shell","client":"curl","title":"Probe the 402 envelope (no payment)","code":"# 1. See the x402 envelope this endpoint emits.\ncurl -i -X POST 'https://agentic.clawbots.org/api/agentic/tools/multi-agent-workflow-designer' \\\n  -H 'content-type: application/json' \\\n  -d '{\"goal\":\"Sweep the floor of an NFT collection only if the contract is safe and base gas is below 0.2 gwei\",\"budget_usd\":2,\"output_format\":\"a2a-json-rpc\"}'\n\n# Returns HTTP 402 with the v2 envelope (x402Version=2, network=eip155:8453).\n# Read the PAYMENT-REQUIRED response header or the JSON body — same payload.\n# Pay with @x402/fetch (below)."},{"lang":"typescript","client":"@x402/fetch","title":"Pay and call from TypeScript (Node 20+, modern x402 v2 SDK)","code":"// npm i @x402/fetch @x402/evm viem\nimport { wrapFetchWithPayment, x402Client } from \"@x402/fetch\";\nimport { ExactEvmScheme } from \"@x402/evm/exact/client\";\nimport { privateKeyToAccount } from \"viem/accounts\";\n\nconst account = privateKeyToAccount(process.env.X402_PRIVATE_KEY);\nconst client = new x402Client().register(\"eip155:8453\", new ExactEvmScheme(account));\nconst fetchPay = wrapFetchWithPayment(fetch, client);\n\nconst r = await fetchPay(\"https://agentic.clawbots.org/api/agentic/tools/multi-agent-workflow-designer\", {\n  method: \"POST\",\n  headers: { \"content-type\": \"application/json\" },\n  body: JSON.stringify({\n  \"goal\": \"Sweep the floor of an NFT collection only if the contract is safe and base gas is below 0.2 gwei\",\n  \"budget_usd\": 2,\n  \"output_format\": \"a2a-json-rpc\"\n}),\n});\nconsole.log(r.headers.get(\"payment-response\"));  // base64 settle receipt (v2)\nconsole.log(await r.json());                     // tool output"},{"lang":"python","client":"x402","title":"Pay and call from Python (modern x402 v2 SDK)","code":"# uv add 'x402[httpx,evm]'   # or: pip install 'x402[httpx,evm]'\nimport os, asyncio\nfrom eth_account import Account\nfrom x402 import x402Client\nfrom x402.http.clients import x402HttpxClient\nfrom x402.mechanisms.evm import EthAccountSigner\nfrom x402.mechanisms.evm.exact.register import register_exact_evm_client\n\nasync def main():\n    client = x402Client()\n    register_exact_evm_client(client, EthAccountSigner(Account.from_key(os.environ[\"EVM_PRIVATE_KEY\"])))\n    async with x402HttpxClient(client) as http:\n        resp = await http.post(\"https://agentic.clawbots.org/api/agentic/tools/multi-agent-workflow-designer\", json={\n  \"goal\": \"Sweep the floor of an NFT collection only if the contract is safe and base gas is below 0.2 gwei\",\n  \"budget_usd\": 2,\n  \"output_format\": \"a2a-json-rpc\"\n})\n        await resp.aread()\n        print(resp.headers.get(\"payment-response\"))  # settle receipt (v2)\n        print(resp.json())                            # tool output\n\nasyncio.run(main())"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["goal"],"properties":{"goal":{"type":"string","minLength":8,"maxLength":512,"description":"Plain-English agent goal, e.g. 'sweep top 5 floor NFTs in collection X if contract is safe and gas is low'."},"budget_usd":{"type":"number","minimum":0,"maximum":1000,"description":"Maximum total spend across all chained tool calls. Steps over budget are pruned."},"max_steps":{"type":"integer","minimum":1,"maximum":12,"description":"Cap on number of steps in the returned DAG."},"output_format":{"type":"string","enum":["a2a-json-rpc","shell-curl"],"description":"Executable plan format. Defaults to a2a-json-rpc."},"preferred_protocols":{"type":"array","maxItems":4,"items":{"type":"string","enum":["x402","mcp","a2a","rest"]},"description":"Restrict catalog selection to these protocols. Empty = all."}}},"example":{"goal":"Sweep the floor of an NFT collection only if the contract is safe and base gas is below 0.2 gwei","budget_usd":2,"output_format":"a2a-json-rpc"}}}},"responses":{"200":{"description":"Tool call succeeded.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["goal","steps","total_cost_usd","total_latency_ms_estimate","fallbacks","executable_plan","output_format","budget_status","evidence","generated_at"],"properties":{"goal":{"type":"string","minLength":1},"steps":{"type":"array","minItems":1,"maxItems":12,"items":{"type":"object","additionalProperties":false,"required":["step_id","tool_slug","tool_url","protocol","category","inputs","depends_on","cost_usd","latency_ms","rationale"],"properties":{"step_id":{"type":"string","pattern":"^s[0-9]+$"},"tool_slug":{"type":"string","minLength":1},"tool_url":{"type":"string","format":"uri"},"protocol":{"type":"string","enum":["x402","mcp","a2a","rest"]},"category":{"type":"string","enum":["gas","safety","nft-market","wallet-risk","token-due-diligence","identity","narrative","influence","portfolio","tokenomics","indexer","block-explorer"]},"inputs":{"type":"object"},"depends_on":{"type":"array","maxItems":11,"items":{"type":"string","pattern":"^s[0-9]+$"}},"cost_usd":{"type":"number","minimum":0,"maximum":1000},"latency_ms":{"type":"integer","minimum":50,"maximum":60000},"rationale":{"type":"string","minLength":4,"maxLength":240}}}},"total_cost_usd":{"type":"number","minimum":0,"maximum":1000},"total_latency_ms_estimate":{"type":"integer","minimum":50,"maximum":600000},"fallbacks":{"type":"array","maxItems":12,"items":{"type":"object","additionalProperties":false,"required":["for_step","tool_slug","tool_url","protocol","reason"],"properties":{"for_step":{"type":"string","pattern":"^s[0-9]+$"},"tool_slug":{"type":"string","minLength":1},"tool_url":{"type":"string","format":"uri"},"protocol":{"type":"string","enum":["x402","mcp","a2a","rest"]},"reason":{"type":"string","minLength":4,"maxLength":200}}}},"executable_plan":{"type":"object","additionalProperties":false,"required":["format","payload"],"properties":{"format":{"type":"string","enum":["a2a-json-rpc","shell-curl"]},"payload":{"type":"string","minLength":1,"maxLength":20000}}},"output_format":{"type":"string","enum":["a2a-json-rpc","shell-curl"]},"budget_status":{"type":"string","enum":["under_budget","no_budget_specified","pruned_to_budget","over_budget_unprunable"]},"evidence":{"type":"object","additionalProperties":false,"required":["catalog_version","catalog_entries_considered","matched_keywords"],"properties":{"catalog_version":{"type":"string","minLength":1},"catalog_entries_considered":{"type":"integer","minimum":1},"matched_keywords":{"type":"array","maxItems":32,"items":{"type":"string","minLength":1,"maxLength":48}}}},"generated_at":{"type":"string","format":"date-time"},"next_check_at":{"type":"string","format":"date-time","description":"ISO 8601 timestamp suggesting when the caller should re-invoke this tool. Derived from the tool's recurringHint.intervalSeconds."}}},"example":{"goal":"Sweep the floor of an NFT collection only if the contract is safe and base gas is below 0.2 gwei","steps":[{"step_id":"s1","tool_slug":"gas-oracle","tool_url":"https://www.clawbots.org/api/tools/gas-oracle","protocol":"x402","category":"gas","inputs":{"network":"base"},"depends_on":[],"cost_usd":0.01,"latency_ms":800,"rationale":"Check current Base gas before any onchain action."},{"step_id":"s2","tool_slug":"contract-safety-scanner","tool_url":"https://www.clawbots.org/api/tools/contract-safety-scanner","protocol":"x402","category":"safety","inputs":{"address":"<collection_address>"},"depends_on":["s1"],"cost_usd":0.25,"latency_ms":2500,"rationale":"Verify collection contract before committing capital."},{"step_id":"s3","tool_slug":"sweep-quote","tool_url":"https://www.clawbots.org/api/tools/sweep-quote","protocol":"x402","category":"nft-market","inputs":{"collection":"<collection_address>","size":5},"depends_on":["s2"],"cost_usd":0.1,"latency_ms":1500,"rationale":"Price the floor sweep after safety clears."}],"total_cost_usd":0.36,"total_latency_ms_estimate":4800,"fallbacks":[{"for_step":"s3","tool_slug":"reservoir-orders","tool_url":"https://api.reservoir.tools/orders/asks/v5","protocol":"rest","reason":"Reservoir REST asks endpoint covers sweep pricing if sweep-quote is degraded."}],"executable_plan":{"format":"a2a-json-rpc","payload":"{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"tasks/send\",\"params\":{\"task\":\"sweep-workflow\",\"steps\":[{\"id\":\"s1\",\"tool\":\"gas-oracle\"},{\"id\":\"s2\",\"tool\":\"contract-safety-scanner\",\"after\":[\"s1\"]},{\"id\":\"s3\",\"tool\":\"sweep-quote\",\"after\":[\"s2\"]}]}}"},"output_format":"a2a-json-rpc","budget_status":"under_budget","evidence":{"catalog_version":"2026-05-29-r1","catalog_entries_considered":15,"matched_keywords":["sweep","floor","nft","gas","safe","contract"]},"generated_at":"2026-05-29T17:45:00Z"}}}},"400":{"description":"Input validation failed. No payment was charged.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Payment required. Sign EIP-3009 USDC transferWithAuthorization and retry with X-PAYMENT header.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/X402PaymentRequired"}}}},"500":{"description":"Tool execution error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"x402":[]}]}},"/tools/polymarket-odds":{"post":{"operationId":"polymarket-odds","summary":"Polymarket Odds","description":"Fetch live prediction market odds from Polymarket. Returns current probabilities, volume, liquidity, and resolution status for any active or resolved market. Accepts a market slug or keyword search term. $0.01/call.","tags":["polymarket","prediction-markets","odds","betting","crypto","elections","sports"],"x-x402-price-usd":0.01,"x-x402-amount-atomic":"10000","x-x402-network":"base","x-x402-asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","x-x402-pay-to":"0x523Eff3dB03938eaa31a5a6FBd41E3B9d23edde5","x-mcp-name":"polymarket-odds","x-bazaar-discoverable":true,"x-agentic-version":"1.0.0","x-agentic-category":"trading","x-codeSamples":[{"lang":"shell","client":"curl","title":"Probe the 402 envelope (no payment)","code":"# 1. See the x402 envelope this endpoint emits.\ncurl -i -X POST 'https://agentic.clawbots.org/api/agentic/tools/polymarket-odds' \\\n  -H 'content-type: application/json' \\\n  -d '{\"question\":\"will-us-enter-recession-in-2025\"}'\n\n# Returns HTTP 402 with the v2 envelope (x402Version=2, network=eip155:8453).\n# Read the PAYMENT-REQUIRED response header or the JSON body — same payload.\n# Pay with @x402/fetch (below)."},{"lang":"typescript","client":"@x402/fetch","title":"Pay and call from TypeScript (Node 20+, modern x402 v2 SDK)","code":"// npm i @x402/fetch @x402/evm viem\nimport { wrapFetchWithPayment, x402Client } from \"@x402/fetch\";\nimport { ExactEvmScheme } from \"@x402/evm/exact/client\";\nimport { privateKeyToAccount } from \"viem/accounts\";\n\nconst account = privateKeyToAccount(process.env.X402_PRIVATE_KEY);\nconst client = new x402Client().register(\"eip155:8453\", new ExactEvmScheme(account));\nconst fetchPay = wrapFetchWithPayment(fetch, client);\n\nconst r = await fetchPay(\"https://agentic.clawbots.org/api/agentic/tools/polymarket-odds\", {\n  method: \"POST\",\n  headers: { \"content-type\": \"application/json\" },\n  body: JSON.stringify({\n  \"question\": \"will-us-enter-recession-in-2025\"\n}),\n});\nconsole.log(r.headers.get(\"payment-response\"));  // base64 settle receipt (v2)\nconsole.log(await r.json());                     // tool output"},{"lang":"python","client":"x402","title":"Pay and call from Python (modern x402 v2 SDK)","code":"# uv add 'x402[httpx,evm]'   # or: pip install 'x402[httpx,evm]'\nimport os, asyncio\nfrom eth_account import Account\nfrom x402 import x402Client\nfrom x402.http.clients import x402HttpxClient\nfrom x402.mechanisms.evm import EthAccountSigner\nfrom x402.mechanisms.evm.exact.register import register_exact_evm_client\n\nasync def main():\n    client = x402Client()\n    register_exact_evm_client(client, EthAccountSigner(Account.from_key(os.environ[\"EVM_PRIVATE_KEY\"])))\n    async with x402HttpxClient(client) as http:\n        resp = await http.post(\"https://agentic.clawbots.org/api/agentic/tools/polymarket-odds\", json={\n  \"question\": \"will-us-enter-recession-in-2025\"\n})\n        await resp.aread()\n        print(resp.headers.get(\"payment-response\"))  # settle receipt (v2)\n        print(resp.json())                            # tool output\n\nasyncio.run(main())"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["question"],"properties":{"question":{"type":"string","minLength":1,"maxLength":200,"description":"Polymarket market slug (e.g. 'will-trump-win-2024') or keyword search term"}}},"example":{"question":"will-us-enter-recession-in-2025"}}}},"responses":{"200":{"description":"Tool call succeeded.","content":{"application/json":{"schema":{"type":"object","required":["question","outcomes","volume_usd","liquidity_usd","end_date","resolved","fetched_at"],"properties":{"question":{"type":"string"},"slug":{"type":"string"},"outcomes":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"probability":{"type":"number"},"price":{"type":"number"}}}},"volume_usd":{"type":"number"},"liquidity_usd":{"type":"number"},"end_date":{"type":["string","null"]},"resolved":{"type":"boolean"},"resolution_value":{"type":["string","null"]},"market_url":{"type":"string"},"fetched_at":{"type":"string"}}},"example":{"question":"Will the US enter a recession in 2025?","slug":"will-us-enter-recession-in-2025","outcomes":[{"name":"Yes","probability":0.34,"price":0.34},{"name":"No","probability":0.66,"price":0.66}],"volume_usd":1200000,"liquidity_usd":85000,"end_date":"2025-12-31T00:00:00Z","resolved":false,"resolution_value":null,"market_url":"https://polymarket.com/event/will-us-enter-recession-in-2025","fetched_at":"2026-06-17T00:00:00Z"}}}},"400":{"description":"Input validation failed. No payment was charged.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Payment required. Sign EIP-3009 USDC transferWithAuthorization and retry with X-PAYMENT header.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/X402PaymentRequired"}}}},"500":{"description":"Tool execution error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"x402":[]}]}},"/tools/repo-health-for-agents":{"post":{"operationId":"repo-health-for-agents","summary":"Repo Health Auditor","description":"Comprehensive GitHub repository health audit. Scores repos 0-100 across 8 categories: activity, community, maintenance, contributors, security (via OpenSSF Scorecard), CI/CD, documentation, and popularity. Returns letter grade, per-category scores, 20+ individual checks with evidence, and prioritized recommendations sorted by impact. All checks run via GitHub API — no clone required. Free: 50 calls/IP/day.","tags":["github","repo","audit","health","scorecard","security","ci-cd","documentation","contributors","maintenance","open-source","developer-tools"],"x-x402-price-usd":0,"x-x402-amount-atomic":"0","x-x402-network":"base","x-x402-asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","x-x402-pay-to":"0x523Eff3dB03938eaa31a5a6FBd41E3B9d23edde5","x-mcp-name":"repo-health-for-agents","x-bazaar-discoverable":false,"x-agentic-version":"2.0.0","x-agentic-category":"agent-builder-tooling","x-codeSamples":[{"lang":"shell","client":"curl","title":"Probe the 402 envelope (no payment)","code":"# 1. See the x402 envelope this endpoint emits.\ncurl -i -X POST 'https://agentic.clawbots.org/api/agentic/tools/repo-health-for-agents' \\\n  -H 'content-type: application/json' \\\n  -d '{\"repo\":\"vercel/next.js\"}'\n\n# Returns HTTP 402 with the v2 envelope (x402Version=2, network=eip155:8453).\n# Read the PAYMENT-REQUIRED response header or the JSON body — same payload.\n# Pay with @x402/fetch (below)."},{"lang":"typescript","client":"@x402/fetch","title":"Pay and call from TypeScript (Node 20+, modern x402 v2 SDK)","code":"// npm i @x402/fetch @x402/evm viem\nimport { wrapFetchWithPayment, x402Client } from \"@x402/fetch\";\nimport { ExactEvmScheme } from \"@x402/evm/exact/client\";\nimport { privateKeyToAccount } from \"viem/accounts\";\n\nconst account = privateKeyToAccount(process.env.X402_PRIVATE_KEY);\nconst client = new x402Client().register(\"eip155:8453\", new ExactEvmScheme(account));\nconst fetchPay = wrapFetchWithPayment(fetch, client);\n\nconst r = await fetchPay(\"https://agentic.clawbots.org/api/agentic/tools/repo-health-for-agents\", {\n  method: \"POST\",\n  headers: { \"content-type\": \"application/json\" },\n  body: JSON.stringify({\n  \"repo\": \"vercel/next.js\"\n}),\n});\nconsole.log(r.headers.get(\"payment-response\"));  // base64 settle receipt (v2)\nconsole.log(await r.json());                     // tool output"},{"lang":"python","client":"x402","title":"Pay and call from Python (modern x402 v2 SDK)","code":"# uv add 'x402[httpx,evm]'   # or: pip install 'x402[httpx,evm]'\nimport os, asyncio\nfrom eth_account import Account\nfrom x402 import x402Client\nfrom x402.http.clients import x402HttpxClient\nfrom x402.mechanisms.evm import EthAccountSigner\nfrom x402.mechanisms.evm.exact.register import register_exact_evm_client\n\nasync def main():\n    client = x402Client()\n    register_exact_evm_client(client, EthAccountSigner(Account.from_key(os.environ[\"EVM_PRIVATE_KEY\"])))\n    async with x402HttpxClient(client) as http:\n        resp = await http.post(\"https://agentic.clawbots.org/api/agentic/tools/repo-health-for-agents\", json={\n  \"repo\": \"vercel/next.js\"\n})\n        await resp.aread()\n        print(resp.headers.get(\"payment-response\"))  # settle receipt (v2)\n        print(resp.json())                            # tool output\n\nasyncio.run(main())"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["repo"],"properties":{"repo":{"type":"string","pattern":"^[A-Za-z0-9_.-]+/[A-Za-z0-9_.-]+$","minLength":3,"maxLength":140,"description":"GitHub owner/name (e.g. vercel/next.js)"}}},"example":{"repo":"vercel/next.js"}}}},"responses":{"200":{"description":"Tool call succeeded.","content":{"application/json":{"schema":{"type":"object","required":["repo","default_branch","overall_score","grade","category_scores","checks","recommendations","metadata","evaluated_at"],"properties":{"repo":{"type":"string"},"default_branch":{"type":"string"},"overall_score":{"type":"integer","minimum":0,"maximum":100},"grade":{"type":"string","enum":["A+","A","B+","B","C","D","F"]},"category_scores":{"type":"object","properties":{"activity":{"type":"number"},"community":{"type":"number"},"maintenance":{"type":"number"},"contributors":{"type":"number"},"security":{"type":"number"},"ci_cd":{"type":"number"},"documentation":{"type":"number"},"popularity":{"type":"number"}}},"checks":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"category":{"type":"string"},"passed":{"type":"boolean"},"score":{"type":"integer"},"max_score":{"type":"integer"},"evidence":{"type":"string"}}}},"recommendations":{"type":"array","items":{"type":"object","properties":{"check_id":{"type":"string"},"category":{"type":"string"},"potential_lift":{"type":"integer"},"action":{"type":"string"},"current":{"type":"string"}}}},"metadata":{"type":"object","properties":{"stars":{"type":"integer"},"forks":{"type":"integer"},"open_issues":{"type":"integer"},"language":{"type":["string","null"]},"created":{"type":"string"},"last_push":{"type":"string"},"age_days":{"type":"integer"},"license":{"type":["string","null"]},"archived":{"type":"boolean"},"contributors":{"type":"integer"},"bus_factor":{"type":"integer"}}},"scorecard_detail":{"type":["array","null"],"items":{"type":"object","properties":{"name":{"type":"string"},"score":{"type":"integer"},"reason":{"type":"string"}}}},"evaluated_at":{"type":"string","format":"date-time"}}},"example":{"repo":"vercel/next.js","default_branch":"canary","overall_score":70,"grade":"B+","category_scores":{"activity":13,"community":14,"maintenance":11,"contributors":1,"security":6,"ci_cd":10,"documentation":10,"popularity":5},"checks":[{"id":"last-commit-recency","category":"activity","passed":true,"score":8,"max_score":8,"evidence":"Last push 0d ago"}],"recommendations":[{"check_id":"ossf-scorecard","category":"security","potential_lift":10,"action":"Improve OpenSSF Scorecard","current":"OpenSSF Scorecard: 4.2/10"}],"metadata":{"stars":131000,"forks":27900,"open_issues":4004,"language":"JavaScript","created":"2016-10-05T23:32:51Z","last_push":"2026-06-03T02:43:09Z","age_days":3528,"license":"MIT","archived":false,"contributors":30,"bus_factor":3},"scorecard_detail":null,"evaluated_at":"2026-06-03T03:00:00Z"}}}},"400":{"description":"Input validation failed. No payment was charged.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Payment required. Sign EIP-3009 USDC transferWithAuthorization and retry with X-PAYMENT header.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/X402PaymentRequired"}}}},"500":{"description":"Tool execution error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"x402":[]}]}},"/tools/wallet-portfolio":{"post":{"operationId":"wallet-portfolio","summary":"Wallet Portfolio","description":"Fetch token balances for an Ethereum/Base wallet address. Returns ETH, USDC, WETH, AXIOM, and BNKR balances on Base with current USD values from DeFiLlama price data. $0.01/call.","tags":["wallet","portfolio","balances","base","evm","defi","tokens","eth","usdc"],"x-x402-price-usd":0.01,"x-x402-amount-atomic":"10000","x-x402-network":"base","x-x402-asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","x-x402-pay-to":"0x523Eff3dB03938eaa31a5a6FBd41E3B9d23edde5","x-mcp-name":"wallet-portfolio","x-bazaar-discoverable":true,"x-agentic-version":"1.0.0","x-agentic-category":"data","x-codeSamples":[{"lang":"shell","client":"curl","title":"Probe the 402 envelope (no payment)","code":"# 1. See the x402 envelope this endpoint emits.\ncurl -i -X POST 'https://agentic.clawbots.org/api/agentic/tools/wallet-portfolio' \\\n  -H 'content-type: application/json' \\\n  -d '{\"address\":\"0x523Eff3dB03938eaa31a5a6FBd41E3B9d23edde5\"}'\n\n# Returns HTTP 402 with the v2 envelope (x402Version=2, network=eip155:8453).\n# Read the PAYMENT-REQUIRED response header or the JSON body — same payload.\n# Pay with @x402/fetch (below)."},{"lang":"typescript","client":"@x402/fetch","title":"Pay and call from TypeScript (Node 20+, modern x402 v2 SDK)","code":"// npm i @x402/fetch @x402/evm viem\nimport { wrapFetchWithPayment, x402Client } from \"@x402/fetch\";\nimport { ExactEvmScheme } from \"@x402/evm/exact/client\";\nimport { privateKeyToAccount } from \"viem/accounts\";\n\nconst account = privateKeyToAccount(process.env.X402_PRIVATE_KEY);\nconst client = new x402Client().register(\"eip155:8453\", new ExactEvmScheme(account));\nconst fetchPay = wrapFetchWithPayment(fetch, client);\n\nconst r = await fetchPay(\"https://agentic.clawbots.org/api/agentic/tools/wallet-portfolio\", {\n  method: \"POST\",\n  headers: { \"content-type\": \"application/json\" },\n  body: JSON.stringify({\n  \"address\": \"0x523Eff3dB03938eaa31a5a6FBd41E3B9d23edde5\"\n}),\n});\nconsole.log(r.headers.get(\"payment-response\"));  // base64 settle receipt (v2)\nconsole.log(await r.json());                     // tool output"},{"lang":"python","client":"x402","title":"Pay and call from Python (modern x402 v2 SDK)","code":"# uv add 'x402[httpx,evm]'   # or: pip install 'x402[httpx,evm]'\nimport os, asyncio\nfrom eth_account import Account\nfrom x402 import x402Client\nfrom x402.http.clients import x402HttpxClient\nfrom x402.mechanisms.evm import EthAccountSigner\nfrom x402.mechanisms.evm.exact.register import register_exact_evm_client\n\nasync def main():\n    client = x402Client()\n    register_exact_evm_client(client, EthAccountSigner(Account.from_key(os.environ[\"EVM_PRIVATE_KEY\"])))\n    async with x402HttpxClient(client) as http:\n        resp = await http.post(\"https://agentic.clawbots.org/api/agentic/tools/wallet-portfolio\", json={\n  \"address\": \"0x523Eff3dB03938eaa31a5a6FBd41E3B9d23edde5\"\n})\n        await resp.aread()\n        print(resp.headers.get(\"payment-response\"))  # settle receipt (v2)\n        print(resp.json())                            # tool output\n\nasyncio.run(main())"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["address"],"properties":{"address":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"Ethereum/Base wallet address (0x...)"}}},"example":{"address":"0x523Eff3dB03938eaa31a5a6FBd41E3B9d23edde5"}}}},"responses":{"200":{"description":"Tool call succeeded.","content":{"application/json":{"schema":{"type":"object","required":["address","total_usd","tokens","fetched_at"],"properties":{"address":{"type":"string"},"total_usd":{"type":"number"},"tokens":{"type":"array","items":{"type":"object","properties":{"symbol":{"type":"string"},"name":{"type":"string"},"contract":{"type":["string","null"]},"balance":{"type":"number"},"balance_raw":{"type":"string"},"price_usd":{"type":["number","null"]},"value_usd":{"type":["number","null"]},"decimals":{"type":"integer"}}}},"fetched_at":{"type":"string"}}},"example":{"address":"0x523Eff3dB03938eaa31a5a6FBd41E3B9d23edde5","total_usd":12.34,"tokens":[{"symbol":"ETH","name":"Ether","contract":null,"balance":0.005,"balance_raw":"5000000000000000","price_usd":2400,"value_usd":12,"decimals":18},{"symbol":"USDC","name":"USD Coin","contract":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","balance":0.34,"balance_raw":"340000","price_usd":1,"value_usd":0.34,"decimals":6}],"fetched_at":"2026-06-17T00:00:00Z"}}}},"400":{"description":"Input validation failed. No payment was charged.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Payment required. Sign EIP-3009 USDC transferWithAuthorization and retry with X-PAYMENT header.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/X402PaymentRequired"}}}},"500":{"description":"Tool execution error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"x402":[]}]}},"/manifest":{"get":{"operationId":"getManifest","summary":"Aggregated AgenticToolDescriptor v1 catalog.","responses":{"200":{"description":"OK","content":{"application/json":{}}}}}},"/openapi.json":{"get":{"operationId":"getOpenApi","summary":"This OpenAPI 3.1 schema.","responses":{"200":{"description":"OK","content":{"application/json":{}}}}}},"/health":{"get":{"operationId":"getHealth","summary":"Health probe.","responses":{"200":{"description":"OK","content":{"application/json":{}}}}}},"/mcp":{"post":{"operationId":"callMcp","summary":"MCP JSON-RPC server (protocolVersion 2025-06-18).","description":"Methods: initialize, tools/list, tools/call, resources/list, prompts/list.","requestBody":{"required":true,"content":{"application/json":{}}},"responses":{"200":{"description":"JSON-RPC response","content":{"application/json":{}}}}}}},"components":{"schemas":{"Error":{"type":"object","required":["success","code","message","requestId"],"properties":{"success":{"type":"boolean","const":false},"code":{"type":"string"},"message":{"type":"string"},"requestId":{"type":"string"}}},"X402PaymentRequired":{"type":"object","required":["x402Version","accepts"],"properties":{"x402Version":{"type":"integer","const":1},"error":{"type":"string"},"accepts":{"type":"array","items":{"type":"object","required":["scheme","network","maxAmountRequired","asset","payTo","resource","description"],"properties":{"scheme":{"type":"string","enum":["exact"]},"network":{"type":"string","enum":["base","base-sepolia"]},"maxAmountRequired":{"type":"string"},"asset":{"type":"string"},"payTo":{"type":"string"},"resource":{"type":"string"},"description":{"type":"string"},"mimeType":{"type":"string"},"maxTimeoutSeconds":{"type":"integer"},"outputSchema":{"type":"object"},"extra":{"type":"object"},"extensions":{"type":"object"}}}}}}},"securitySchemes":{"x402":{"type":"http","scheme":"x402","description":"Sign EIP-3009 USDC transferWithAuthorization on Base (asset 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913) for the maxAmountRequired in the 402 envelope and resend the request with the resulting base64 payload in X-PAYMENT."}}}}