{"openapi":"3.1.0","info":{"title":"token-risk x402 service","version":"0.1.0"},"paths":{"/token-risk":{"get":{"summary":"Token Risk","operationId":"token_risk_token_risk_get","parameters":[{"name":"address","in":"query","required":false,"schema":{"type":"string","description":"0x-prefixed 40-hex contract address","examples":["0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"],"default":"","title":"Address"},"description":"0x-prefixed 40-hex contract address"},{"name":"chain","in":"query","required":false,"schema":{"type":"string","description":"Chain to scan","examples":["base"],"default":"base","title":"Chain"},"description":"Chain to scan"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/token-risk/deep":{"get":{"summary":"Token Risk Deep","description":"Deep control-analysis tier ($0.05): base risk scan PLUS who controls the\ncontract — owner()/admin readout, renounced?, EOA-vs-multisig owner, proxy\nimplementation pointer. Reliable read-only reads only.","operationId":"token_risk_deep_token_risk_deep_get","parameters":[{"name":"address","in":"query","required":false,"schema":{"type":"string","description":"0x-prefixed 40-hex contract address","examples":["0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"],"default":"","title":"Address"},"description":"0x-prefixed 40-hex contract address"},{"name":"chain","in":"query","required":false,"schema":{"type":"string","description":"Chain to scan","examples":["base"],"default":"base","title":"Chain"},"description":"Chain to scan"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/token-risk/batch":{"get":{"summary":"Token Risk Batch","description":"Portfolio scan ($0.05): comma-separated `addresses` (up to 10), one risk\nscan each. Reuses the same reliable static scan as /token-risk.","operationId":"token_risk_batch_token_risk_batch_get","parameters":[{"name":"addresses","in":"query","required":false,"schema":{"type":"string","description":"up to 10 comma-separated 0x addresses","examples":["0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913,0x4200000000000000000000000000000000000006"],"default":"","title":"Addresses"},"description":"up to 10 comma-separated 0x addresses"},{"name":"chain","in":"query","required":false,"schema":{"type":"string","description":"Chain to scan","examples":["base"],"default":"base","title":"Chain"},"description":"Chain to scan"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/token-risk/plus":{"get":{"summary":"Token Risk Plus","description":"Composite tier ($0.04): our bytecode risk scan + authoritative market-security\ndata (real honeypot/buy-sell-tax/blacklist/holder data via GoPlus) merged into a\nsingle verdict. Highest-confidence 'is this token safe to trade' answer.","operationId":"token_risk_plus_token_risk_plus_get","parameters":[{"name":"address","in":"query","required":false,"schema":{"type":"string","description":"0x-prefixed 40-hex contract address","examples":["0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"],"default":"","title":"Address"},"description":"0x-prefixed 40-hex contract address"},{"name":"chain","in":"query","required":false,"schema":{"type":"string","description":"Chain to scan","examples":["base"],"default":"base","title":"Chain"},"description":"Chain to scan"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/defi-pool/top":{"get":{"summary":"Defi Pool Top","description":"Risk-adjusted DeFi yield screener ($0.02): the best Base/Ethereum pools ranked\nby yield DISCOUNTED for volatility, pure-incentive yield, thin TVL, outliers and\nIL risk. The 'where should my capital go right now' query for a yield agent —\nthen deep-check a pick with /defi-pool.","operationId":"defi_pool_top_defi_pool_top_get","parameters":[{"name":"chain","in":"query","required":false,"schema":{"type":"string","description":"base | ethereum | all","examples":["base"],"default":"base","title":"Chain"},"description":"base | ethereum | all"},{"name":"stablecoin","in":"query","required":false,"schema":{"type":"string","description":"'true' = stablecoin pools only","examples":["true"],"default":"","title":"Stablecoin"},"description":"'true' = stablecoin pools only"},{"name":"min_tvl","in":"query","required":false,"schema":{"type":"integer","description":"minimum pool TVL in USD","examples":[100000],"default":50000,"title":"Min Tvl"},"description":"minimum pool TVL in USD"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"how many pools to return (max 25)","examples":[10],"default":10,"title":"Limit"},"description":"how many pools to return (max 25)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/defi-pool":{"get":{"summary":"Defi Pool","description":"DeFi pool pre-deposit intelligence ($0.02): live APY + TVL + our security read\nof the pool's underlying token contracts (verified? proxy? mint/pause/owner? rug?).\nOne call before a yield-farming agent deposits.","operationId":"defi_pool_defi_pool_get","parameters":[{"name":"pool","in":"query","required":false,"schema":{"type":"string","description":"DefiLlama pool id (from https://yields.llama.fi/pools)","examples":["747c1d2a-c668-4682-b9f9-296708a3dd90"],"default":"","title":"Pool"},"description":"DefiLlama pool id (from https://yields.llama.fi/pools)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/defi-pool/deep":{"get":{"summary":"Defi Pool Deep","description":"Deep DeFi pool intelligence ($0.06): standard tier PLUS 30d yield-stability\n(mean/volatility/drawdown from history) + deep contract-control analysis of the\nunderlying tokens (owner/admin/renounced/upgradeable).","operationId":"defi_pool_deep_defi_pool_deep_get","parameters":[{"name":"pool","in":"query","required":false,"schema":{"type":"string","description":"DefiLlama pool id (from https://yields.llama.fi/pools)","examples":["747c1d2a-c668-4682-b9f9-296708a3dd90"],"default":"","title":"Pool"},"description":"DefiLlama pool id (from https://yields.llama.fi/pools)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/.well-known/x402.json":{"get":{"summary":"Well Known X402","operationId":"well_known_x402__well_known_x402_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/.well-known/x402-bazaar.json":{"get":{"summary":"Well Known Bazaar","description":"Bazaar-shape discovery extension (input/output schemas) for CDP-Bazaar /\nx402scan indexers that expect a resolvable schema per resource.","operationId":"well_known_bazaar__well_known_x402_bazaar_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/.well-known/402index-verify.txt":{"get":{"summary":"Index Verify","description":"PipRail 402-Index domain-ownership proof. Body = the hash returned by\nclaimDomain() (set via X402_DOMAIN_VERIFY env).","operationId":"index_verify__well_known_402index_verify_txt_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/.well-known/mcp-registry-auth":{"get":{"summary":"Mcp Registry Auth","description":"Domain-ownership proof for the official MCP Registry HTTP auth (no account —\nroutes around GitHub/PyPI). Body = the ed25519 proof record from `mcp-publisher\nlogin http` (set via X402_MCP_REGISTRY_AUTH env).","operationId":"mcp_registry_auth__well_known_mcp_registry_auth_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/.well-known/llms.txt":{"get":{"summary":"Llms Txt","operationId":"llms_txt__well_known_llms_txt_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/.well-known/agent.json":{"get":{"summary":"Well Known Agent","operationId":"well_known_agent__well_known_agent_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/.well-known/agent-card.json":{"get":{"summary":"Well Known Agent Card","description":"A2A / ERC-8004 convention alias of agent.json (some indexers look here).","operationId":"well_known_agent_card__well_known_agent_card_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/.well-known/mcp.json":{"get":{"summary":"Well Known Mcp","description":"MCP-server discovery descriptor: how an agent host installs our tools.","operationId":"well_known_mcp__well_known_mcp_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/":{"get":{"summary":"Landing","description":"Human/agent-readable landing page (root was 404 before — looked dead to\nany agent evaluating the service). Lists endpoints, pricing, how to pay.","operationId":"landing__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/health":{"get":{"summary":"Health","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}}},"components":{"schemas":{"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}