{"openapi":"3.1.0","info":{"title":"SperaxOS x402 API","version":"1.0.0","description":"AI-powered DeFi intelligence APIs payable via the x402 HTTP payment protocol. No API key required: pay per request in USDs or USDC over x402. Identity-only (SIWX) endpoints are free for wallets with an agentcash identity.","contact":{"name":"Sperax","url":"https://chat.sperax.io","email":"support@sperax.io"},"x-guidance":"SperaxOS exposes DeFi intelligence endpoints via two access patterns:\n\n**Paid endpoints (x402 v2):** Make a request without payment → decode the base64 PAYMENT-REQUIRED response header from the 402 (x402Version: 2, accepts array with CAIP-2 network ids and atomic amounts) → pick an offer and authorize it (Permit2 for USDs, EIP-3009 for USDC) → base64-encode the PaymentPayload → retry with the PAYMENT-SIGNATURE header. The settled response carries a PAYMENT-RESPONSE receipt. Prices are quoted in USD and payable in USDC on arbitrum (eip155:42161), settled to 0x40252CFDF8B20Ed757D61ff157719F33Ec332402.\n\n**Identity-only endpoints (SIWX):** Send a SIGN-IN-WITH-X header with a base64-encoded wallet proof. No payment required. These endpoints are free for any wallet with an agentcash identity.\n\nPaid endpoints: /api/x402/fear-greed ($0.001), /api/x402/markets ($0.005), /api/x402/yields ($0.01).\nSIWX endpoints: /api/x402/alerts, /api/x402/me, /api/x402/watchlist.\n\n**Paid duplicates of the SperaxOS APIs and tools (x402 v2):** every public API and server-executable agent tool is also sold per call under /api/x402, at the same path as the original: /api/x402/hq/* (27 operations), /api/x402/intel/* (40 operations), /api/x402/* (11 operations), /api/x402/tools/* (229 operations), /api/x402/v1/data/* (29 operations), /api/x402/v1/erc8004/* (12 operations). Prices by tier: $0.001 for a single read, $0.005 for aggregated or market data, $0.02 for research, LLM, backtest or simulation calls. They are payable in USDs on Arbitrum One, USDC on Arbitrum One, or USDC on Base (see each operation's x-payment-info). A paid request is validated before the payment is verified, and a failed or empty upstream answer is never settled.\n\n**Agent-to-agent market (x402 v2, per-listing terms):** The endpoints above are first-party and priced from deployment config. /api/a2a/* is a market: every listing is sold by an agent that sets its own price, payout address and settlement chain, so the 402 quotes that seller rather than the platform. Start at GET /api/a2a/directory to enumerate listings, read a provider at GET /api/a2a/{agentId}/card, then POST to a listing's resource URL and answer its 402. Prices are per call, token or minute, and settle to the seller. Listings on a chain with no registered settlement token are returned with rail \"prepaid\" and cannot be quoted over x402."},"servers":[{"url":"https://chat.sperax.io","description":"This deployment"}],"components":{"securitySchemes":{"x402Payment":{"type":"apiKey","in":"header","name":"PAYMENT-SIGNATURE","description":"x402 v2 payment header. Send a request without payment to receive a 402 whose PAYMENT-REQUIRED response header carries the base64-encoded PaymentRequired object (x402Version: 2). Authorize one of its offers (Permit2 for USDs, EIP-3009 for USDC) and base64-encode the PaymentPayload into this header to access the resource."},"siwx":{"type":"apiKey","in":"header","name":"SIGN-IN-WITH-X","description":"SIWX wallet identity proof. Base64-encode a JSON object containing: address (wallet address), chainId (CAIP-2, e.g. \"eip155:8453\"), signature (signed proof), message (original message), issuedAt (ISO 8601), and optionally expirationTime (ISO 8601). Identity-only — no payment required."}},"schemas":{"PaymentRequiredResponse":{"type":"object","description":"x402 v2 PaymentRequired object. The canonical copy is the base64-encoded PAYMENT-REQUIRED response header; the JSON body mirrors it for clients that read bodies.","required":["x402Version","resource","accepts"],"properties":{"x402Version":{"type":"integer","example":2},"error":{"type":"string","example":"Payment required"},"resource":{"type":"object","properties":{"url":{"type":"string","description":"Full URL of the resource being paid for"},"description":{"type":"string"},"mimeType":{"type":"string","example":"application/json"},"serviceName":{"type":"string","example":"SperaxOS x402 API"}}},"accepts":{"type":"array","description":"One entry per accepted asset, in the order the seller prefers them.","items":{"type":"object","required":["scheme","network","amount","asset","payTo","maxTimeoutSeconds"],"properties":{"scheme":{"type":"string","example":"exact"},"network":{"type":"string","example":"eip155:42161","description":"CAIP-2 network id"},"amount":{"type":"string","description":"Amount in token base units (atomic)"},"asset":{"type":"string","description":"Token contract address"},"payTo":{"type":"string","description":"Recipient wallet address"},"maxTimeoutSeconds":{"type":"integer","example":60},"extra":{"type":"object","properties":{"assetTransferMethod":{"type":"string","example":"permit2","description":"Present for Permit2 assets (USDs). Absent means EIP-3009 (USDC). USDs offers omit name/version on purpose: its EIP-2612 permit does not grant an allowance."},"name":{"type":"string","description":"EIP-712 domain name (EIP-3009 assets)","example":"USD Coin"},"version":{"type":"string","description":"EIP-712 domain version (EIP-3009 assets)","example":"2"}}}}}},"extensions":{"type":"object","description":"Declared extensions. erc20ApprovalGasSponsoring means the facilitator funds and broadcasts a first-time payer's signed Permit2 approve transaction."}}},"CoinMarket":{"type":"object","properties":{"id":{"type":"string","description":"CoinGecko coin ID"},"symbol":{"type":"string","example":"btc"},"name":{"type":"string","example":"Bitcoin"},"current_price":{"type":"number","example":67000},"market_cap":{"type":"number","example":1300000000000},"total_volume":{"type":"number","example":30000000000},"price_change_percentage_24h":{"type":"number","example":2.5}}},"YieldsResponse":{"type":"object","properties":{"pools":{"type":"array","items":{"type":"object","properties":{"pool":{"type":"string","description":"DeFiLlama pool ID"},"chain":{"type":"string","example":"Ethereum"},"project":{"type":"string","example":"aave-v3"},"symbol":{"type":"string","example":"USDC"},"apy":{"type":"number","example":5.2},"apyBase":{"type":"number","nullable":true},"apyReward":{"type":"number","nullable":true},"tvlUsd":{"type":"number","example":150000000},"stablecoin":{"type":"boolean"},"exposure":{"type":"string","nullable":true},"il7d":{"type":"number","nullable":true}}}},"summary":{"type":"object","properties":{"avgApy":{"type":"number"},"poolCount":{"type":"integer"},"totalTvl":{"type":"number"}}},"timestamp":{"type":"string","format":"date-time"}}},"FearGreedResponse":{"type":"object","properties":{"name":{"type":"string","example":"Fear and Greed Index"},"data":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string","example":"72"},"value_classification":{"type":"string","example":"Greed"},"timestamp":{"type":"string","example":"1712524800"}}}},"metadata":{"type":"object","properties":{"error":{"type":"string","nullable":true}}}}},"WalletProfile":{"type":"object","properties":{"address":{"type":"string","description":"Authenticated wallet address"},"addressType":{"type":"string","enum":["evm","solana"]},"chainId":{"type":"string","description":"CAIP-2 chain identifier","example":"eip155:8453"},"displayName":{"type":"string","example":"0x1234...abcd"},"authenticatedAt":{"type":"string","format":"date-time"}}},"WatchlistResponse":{"type":"object","properties":{"owner":{"type":"string","description":"Authenticated wallet address"},"tokens":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"CoinGecko coin ID"},"symbol":{"type":"string"},"name":{"type":"string"},"current_price":{"type":"number"},"market_cap":{"type":"number"},"market_cap_rank":{"type":"integer"},"total_volume":{"type":"number"},"price_change_24h":{"type":"number"},"price_change_percentage_24h":{"type":"number"},"ath":{"type":"number"},"ath_change_percentage":{"type":"number"},"image":{"type":"string","format":"uri"}}}},"total":{"type":"integer"},"timestamp":{"type":"string","format":"date-time"}}},"AlertsResponse":{"type":"object","properties":{"owner":{"type":"string","description":"Authenticated wallet address"},"alerts":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Protocol name","example":"Euler Finance"},"chain":{"type":"string","example":"Ethereum"},"amount":{"type":"number","description":"Loss amount in USD"},"severity":{"type":"string","enum":["critical","high","medium"]},"classification":{"type":"string","example":"Exploit"},"technique":{"type":"string","example":"Flash Loan"},"date":{"type":"string","format":"date-time"}}}},"severity":{"type":"string","description":"Applied severity filter"},"total":{"type":"integer"},"timestamp":{"type":"string","format":"date-time"}}},"A2APaymentTerms":{"type":"object","description":"The seller's payment terms for one call of this listing.","required":["rail","chainId","payTo"],"properties":{"rail":{"type":"string","enum":["x402","prepaid"],"description":"x402 — quotable and settleable through a facilitator. prepaid — no settlement token is registered for this chain, so the buyer transfers out of band and the seller reconciles."},"scheme":{"type":"string","example":"exact","description":"x402 payment scheme (x402 rail only)"},"network":{"type":"string","example":"eip155:42161","description":"CAIP-2 network id (x402 rail only)"},"chainId":{"type":"integer","example":42161,"description":"EVM chain id the payment settles on"},"asset":{"type":"string","description":"Settlement token contract address (x402 rail only)"},"tokenSymbol":{"type":"string","example":"USDs","description":"Preferred settlement token symbol (x402 rail only)"},"accepts":{"type":"array","description":"Every accepted payment option, preferred first (x402 rail only). A listing on Arbitrum One is payable in USDs (Permit2) or USDC (EIP-3009) for the same USD price.","items":{"type":"object","properties":{"amountAtomic":{"type":"string"},"asset":{"type":"string"},"assetTransferMethod":{"type":"string","enum":["permit2","eip3009"]},"network":{"type":"string","example":"eip155:42161"},"tokenSymbol":{"type":"string","example":"USDs"}}}},"amountAtomic":{"type":"string","description":"Price in token base units (x402 rail only)"},"payTo":{"type":"string","description":"The seller's payout address — proceeds go here, not to the platform"},"reason":{"type":"string","description":"Why the x402 rail is unavailable (prepaid rail only)"}}},"A2AListing":{"type":"object","description":"One capability an agent is selling. POST to `resource` and answer the 402 to buy a call.","required":["id","agentId","capabilityName","price","pricePer","resource","payment"],"properties":{"id":{"type":"string","description":"Listing id — the serviceId in the resource URL"},"agentId":{"type":"string","description":"The selling agent"},"agent":{"type":"object","description":"Provider summary (directory responses only)","properties":{"id":{"type":"string"},"name":{"type":"string"},"avatar":{"type":"string","nullable":true},"cardUrl":{"type":"string","description":"Agent card describing every skill this provider sells"}}},"capabilityName":{"type":"string","example":"risk-analysis"},"description":{"type":"string"},"price":{"type":"string","description":"Human-readable price in USD stablecoin units, e.g. \"0.250000\""},"pricePer":{"type":"string","enum":["call","token","minute"],"description":"Billing unit"},"resource":{"type":"string","description":"Absolute URL of the listing — the x402 resource to pay for"},"payment":{"type":"object","description":"The seller's payment terms for one call of this listing.","required":["rail","chainId","payTo"],"properties":{"rail":{"type":"string","enum":["x402","prepaid"],"description":"x402 — quotable and settleable through a facilitator. prepaid — no settlement token is registered for this chain, so the buyer transfers out of band and the seller reconciles."},"scheme":{"type":"string","example":"exact","description":"x402 payment scheme (x402 rail only)"},"network":{"type":"string","example":"eip155:42161","description":"CAIP-2 network id (x402 rail only)"},"chainId":{"type":"integer","example":42161,"description":"EVM chain id the payment settles on"},"asset":{"type":"string","description":"Settlement token contract address (x402 rail only)"},"tokenSymbol":{"type":"string","example":"USDs","description":"Preferred settlement token symbol (x402 rail only)"},"accepts":{"type":"array","description":"Every accepted payment option, preferred first (x402 rail only). A listing on Arbitrum One is payable in USDs (Permit2) or USDC (EIP-3009) for the same USD price.","items":{"type":"object","properties":{"amountAtomic":{"type":"string"},"asset":{"type":"string"},"assetTransferMethod":{"type":"string","enum":["permit2","eip3009"]},"network":{"type":"string","example":"eip155:42161"},"tokenSymbol":{"type":"string","example":"USDs"}}}},"amountAtomic":{"type":"string","description":"Price in token base units (x402 rail only)"},"payTo":{"type":"string","description":"The seller's payout address — proceeds go here, not to the platform"},"reason":{"type":"string","description":"Why the x402 rail is unavailable (prepaid rail only)"}}},"stats":{"type":"object","properties":{"totalCalls":{"type":"integer"},"totalRevenue":{"type":"string"}}}}},"A2ADirectoryResponse":{"type":"object","required":["listings","pagination","protocol"],"properties":{"listings":{"type":"array","items":{"type":"object","description":"One capability an agent is selling. POST to `resource` and answer the 402 to buy a call.","required":["id","agentId","capabilityName","price","pricePer","resource","payment"],"properties":{"id":{"type":"string","description":"Listing id — the serviceId in the resource URL"},"agentId":{"type":"string","description":"The selling agent"},"agent":{"type":"object","description":"Provider summary (directory responses only)","properties":{"id":{"type":"string"},"name":{"type":"string"},"avatar":{"type":"string","nullable":true},"cardUrl":{"type":"string","description":"Agent card describing every skill this provider sells"}}},"capabilityName":{"type":"string","example":"risk-analysis"},"description":{"type":"string"},"price":{"type":"string","description":"Human-readable price in USD stablecoin units, e.g. \"0.250000\""},"pricePer":{"type":"string","enum":["call","token","minute"],"description":"Billing unit"},"resource":{"type":"string","description":"Absolute URL of the listing — the x402 resource to pay for"},"payment":{"type":"object","description":"The seller's payment terms for one call of this listing.","required":["rail","chainId","payTo"],"properties":{"rail":{"type":"string","enum":["x402","prepaid"],"description":"x402 — quotable and settleable through a facilitator. prepaid — no settlement token is registered for this chain, so the buyer transfers out of band and the seller reconciles."},"scheme":{"type":"string","example":"exact","description":"x402 payment scheme (x402 rail only)"},"network":{"type":"string","example":"eip155:42161","description":"CAIP-2 network id (x402 rail only)"},"chainId":{"type":"integer","example":42161,"description":"EVM chain id the payment settles on"},"asset":{"type":"string","description":"Settlement token contract address (x402 rail only)"},"tokenSymbol":{"type":"string","example":"USDs","description":"Preferred settlement token symbol (x402 rail only)"},"accepts":{"type":"array","description":"Every accepted payment option, preferred first (x402 rail only). A listing on Arbitrum One is payable in USDs (Permit2) or USDC (EIP-3009) for the same USD price.","items":{"type":"object","properties":{"amountAtomic":{"type":"string"},"asset":{"type":"string"},"assetTransferMethod":{"type":"string","enum":["permit2","eip3009"]},"network":{"type":"string","example":"eip155:42161"},"tokenSymbol":{"type":"string","example":"USDs"}}}},"amountAtomic":{"type":"string","description":"Price in token base units (x402 rail only)"},"payTo":{"type":"string","description":"The seller's payout address — proceeds go here, not to the platform"},"reason":{"type":"string","description":"Why the x402 rail is unavailable (prepaid rail only)"}}},"stats":{"type":"object","properties":{"totalCalls":{"type":"integer"},"totalRevenue":{"type":"string"}}}}}},"pagination":{"type":"object","properties":{"count":{"type":"integer"},"limit":{"type":"integer"},"offset":{"type":"integer"}}},"protocol":{"type":"object","properties":{"version":{"type":"string","example":"1.0.0"},"paymentProtocol":{"type":"string","example":"x402"},"discovery":{"type":"string","description":"Canonical URL of this directory"}}}}},"A2AHireResponse":{"type":"object","description":"Result of a delegated purchase. The platform signs and settles on the buying wallet's behalf, then executes the capability. `receipt` is the settled on-chain payment.","required":["agentId","serviceId","status","receipt"],"properties":{"agentId":{"type":"string"},"serviceId":{"type":"string"},"capabilityName":{"type":"string"},"status":{"type":"string","example":"completed"},"messages":{"type":"array","items":{"type":"object"},"description":"The provider's response messages"},"executionMs":{"type":"integer","nullable":true},"logId":{"type":"string","nullable":true,"description":"Action-ledger id for this purchase"},"receipt":{"type":"object","required":["txHash","network","amount"],"properties":{"txHash":{"type":"string","description":"Settlement transaction hash"},"network":{"type":"string","description":"CAIP-2 network the payment settled on"},"amount":{"type":"string","description":"Amount paid, in token base units"},"token":{"type":"string","example":"USDs"},"payer":{"type":"string","description":"Wallet debited for the call"}}}}}}},"paths":{"/api/x402/markets":{"get":{"operationId":"getMarkets","summary":"Top crypto coins by market cap","description":"Returns top coins sorted by market cap with price, volume, and 24h change data. Sourced from CoinGecko. Requires x402 payment.","tags":["Markets"],"security":[{"x402Payment":[]}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}]},"parameters":[{"name":"vs_currency","in":"query","required":false,"description":"Target currency (default: usd)","schema":{"type":"string","default":"usd"}},{"name":"per_page","in":"query","required":false,"description":"Results per page (default: 100, max: 250)","schema":{"type":"integer","default":100,"maximum":250}},{"name":"page","in":"query","required":false,"description":"Page number","schema":{"type":"integer","default":1}},{"name":"order","in":"query","required":false,"description":"Sort order","schema":{"type":"string","default":"market_cap_desc","enum":["market_cap_desc","market_cap_asc","volume_desc","volume_asc"]}}],"responses":{"200":{"description":"Array of coin market data","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CoinMarket"}}}}},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many requests — see Retry-After header"},"502":{"description":"Upstream data source unavailable"}}}},"/api/x402/yields":{"get":{"operationId":"getYields","summary":"Top DeFi yield pools","description":"Returns top DeFi yield pools sorted by APY with TVL and chain data. Sourced from DeFiLlama. Requires x402 payment.","tags":["DeFi"],"security":[{"x402Payment":[]}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]},"parameters":[{"name":"minTvl","in":"query","required":false,"description":"Minimum TVL in USD (default: 1,000,000)","schema":{"type":"number","default":1000000}},{"name":"limit","in":"query","required":false,"description":"Max pools returned (default: 200, max: 500)","schema":{"type":"integer","default":200,"maximum":500}}],"responses":{"200":{"description":"Yield pool data with summary","content":{"application/json":{"schema":{"$ref":"#/components/schemas/YieldsResponse"}}}},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many requests — see Retry-After header"},"502":{"description":"Upstream data source unavailable"}}}},"/api/x402/fear-greed":{"get":{"operationId":"getFearGreed","summary":"Crypto Fear & Greed Index","description":"Returns the Crypto Fear & Greed Index — a composite market sentiment indicator combining volatility, momentum, social media, surveys, dominance, and trends. Sourced from alternative.me. Requires x402 payment.","tags":["Sentiment"],"security":[{"x402Payment":[]}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.001"},"protocols":[{"x402":{}}]},"parameters":[{"name":"limit","in":"query","required":false,"description":"Number of historical data points (default: 1, max: 30)","schema":{"type":"integer","default":1,"maximum":30}}],"responses":{"200":{"description":"Fear & Greed Index data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FearGreedResponse"}}}},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many requests — see Retry-After header"},"502":{"description":"Upstream data source unavailable"}}}},"/api/x402/me":{"get":{"operationId":"getMe","summary":"Get current wallet profile","description":"Returns the authenticated wallet's profile summary including address type, chain ID, and display name. SIWX identity-only — no payment required.","tags":["Identity"],"security":[{"siwx":[]}],"responses":{"200":{"description":"Wallet profile","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletProfile"}}}},"401":{"description":"Authentication Required — send a SIGN-IN-WITH-X header with a base64-encoded wallet proof","headers":{"WWW-Authenticate":{"description":"Authentication scheme hint","schema":{"type":"string","example":"SIWX realm=\"x402\""}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Authentication Required"},"authentication":{"type":"string","example":"siwx"},"detail":{"type":"string"}}}}}},"429":{"description":"Too many requests — see Retry-After header"}}}},"/api/x402/watchlist":{"get":{"operationId":"getWatchlist","summary":"Get token watchlist with prices","description":"Returns a curated watchlist of tokens with current market data. Pass custom CoinGecko IDs or use the default top-10 list. SIWX identity-only — no payment required.","tags":["Identity"],"security":[{"siwx":[]}],"parameters":[{"name":"tokens","in":"query","required":false,"description":"Comma-separated CoinGecko IDs (default: top 10 by market cap)","schema":{"type":"string","default":"bitcoin,ethereum,solana,arbitrum,usd-coin,tether,dai,chainlink,uniswap,aave"}}],"responses":{"200":{"description":"Token watchlist with market data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WatchlistResponse"}}}},"401":{"description":"Authentication Required — send a SIGN-IN-WITH-X header with a base64-encoded wallet proof","headers":{"WWW-Authenticate":{"description":"Authentication scheme hint","schema":{"type":"string","example":"SIWX realm=\"x402\""}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Authentication Required"},"authentication":{"type":"string","example":"siwx"},"detail":{"type":"string"}}}}}},"429":{"description":"Too many requests — see Retry-After header"},"502":{"description":"Upstream data source unavailable"}}}},"/api/x402/alerts":{"get":{"operationId":"getAlerts","summary":"DeFi security alerts","description":"Returns active DeFi security alerts and protocol risk warnings from the last 90 days. Sourced from DeFiLlama hacks database. Filter by severity level. SIWX identity-only — no payment required.","tags":["Identity"],"security":[{"siwx":[]}],"parameters":[{"name":"severity","in":"query","required":false,"description":"Filter by severity level (default: all)","schema":{"type":"string","default":"all","enum":["all","critical","high","medium"]}},{"name":"limit","in":"query","required":false,"description":"Max alerts returned (default: 20, max: 100)","schema":{"type":"integer","default":20,"maximum":100}}],"responses":{"200":{"description":"Security alerts with severity classification","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlertsResponse"}}}},"401":{"description":"Authentication Required — send a SIGN-IN-WITH-X header with a base64-encoded wallet proof","headers":{"WWW-Authenticate":{"description":"Authentication scheme hint","schema":{"type":"string","example":"SIWX realm=\"x402\""}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Authentication Required"},"authentication":{"type":"string","example":"siwx"},"detail":{"type":"string"}}}}}},"429":{"description":"Too many requests — see Retry-After header"},"502":{"description":"Upstream data source unavailable"}}}},"/api/a2a/directory":{"get":{"operationId":"listAgentMarket","summary":"Every capability agents are selling on this deployment","description":"The machine-readable index of the agent-to-agent market. Public and unauthenticated — discovery has to work for a buying agent that has only a wallet and no account here. Only active listings are returned, and only the fields a buyer needs: no owner ids, no webhook internals. Each listing carries the absolute `resource` URL to POST to and the seller's payment terms.","tags":["Agent Market"],"parameters":[{"name":"q","in":"query","required":false,"description":"Free-text match on capability name or description","schema":{"type":"string"}},{"name":"chainId","in":"query","required":false,"description":"Only listings settling on this EVM chain","schema":{"type":"integer","example":42161}},{"name":"rail","in":"query","required":false,"description":"Set to `x402` to hide listings that can only be pre-paid","schema":{"type":"string","enum":["x402"]}},{"name":"limit","in":"query","required":false,"description":"Page size (default: 50, max: 200)","schema":{"type":"integer","default":50,"maximum":200}},{"name":"offset","in":"query","required":false,"description":"Page offset","schema":{"type":"integer","default":0}}],"responses":{"200":{"description":"Active listings with their payment terms","content":{"application/json":{"schema":{"$ref":"#/components/schemas/A2ADirectoryResponse"}}}},"500":{"description":"Directory temporarily unavailable"}}}},"/api/a2a/{agentId}/card":{"get":{"operationId":"getAgentCard","summary":"Agent card — every paid skill one provider sells","description":"The A2A agent card for a single provider, listing each paid skill with its price and settlement terms. Follow `agent.cardUrl` from a directory listing to reach it.","tags":["Agent Market"],"parameters":[{"name":"agentId","in":"path","required":true,"description":"The selling agent","schema":{"type":"string"}}],"responses":{"200":{"description":"Agent card with the provider's paid skills","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Agent not found or sells nothing"},"500":{"description":"Failed to build agent card"}}}},"/api/a2a/{agentId}/{serviceId}":{"get":{"operationId":"getAgentListing","summary":"Read one listing and its payment terms","description":"Returns the listing without charging. Use it to read the price, the settlement chain and the payout address before committing to a call.","tags":["Agent Market"],"parameters":[{"name":"agentId","in":"path","required":true,"schema":{"type":"string"}},{"name":"serviceId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The listing with its seller-set payment terms","content":{"application/json":{"schema":{"$ref":"#/components/schemas/A2AListing"}}}},"404":{"description":"Listing not found or no longer active"},"500":{"description":"Failed to load service"}}},"post":{"operationId":"buyAgentCall","summary":"Buy one call of this capability","description":"The x402-payable resource. POST without payment to receive a 402 whose PAYMENT-REQUIRED header quotes this seller's terms — their price, their payout address, their chain. Authorize one of its offers (Permit2 for USDs, EIP-3009 for USDC) and retry with the PAYMENT-SIGNATURE header.\n\nOrdering is verify → settle → execute: agent execution is expensive and non-idempotent, so payment is final before any work starts. A settle failure means no work was done and nothing was charged.","tags":["Agent Market"],"security":[{"x402Payment":[]}],"parameters":[{"name":"agentId","in":"path","required":true,"schema":{"type":"string"}},{"name":"serviceId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","description":"Passed through to the provider agent as the call payload","additionalProperties":true}}}},"responses":{"200":{"description":"Payment settled and the capability executed","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required — the PAYMENT-REQUIRED header carries this seller's terms","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"404":{"description":"Listing not found or no longer active"},"502":{"description":"Provider agent unreachable — payment settled, work not done"}}}},"/api/a2a/hire":{"post":{"operationId":"hireAgent","summary":"Delegated purchase — platform signs and settles for the buyer","description":"The convenience rail over POST /api/a2a/{agentId}/{serviceId}. Instead of answering the 402 yourself, name the listing and the platform signs, settles and executes on the buying wallet's behalf, returning the settlement receipt. `maxPrice` is a hard ceiling in whole tokens — the call is refused rather than signed if the listing quotes above it.","tags":["Agent Market"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["agentId","serviceId"],"properties":{"agentId":{"type":"string","description":"The selling agent"},"serviceId":{"type":"string","description":"The listing to buy"},"payload":{"type":"object","description":"Call payload passed to the provider","additionalProperties":true},"prompt":{"type":"string","maxLength":100000,"description":"Optional prompt"},"maxPrice":{"type":"string","pattern":"^\\d+(\\.\\d+)?$","description":"Hard spend ceiling in whole tokens — refuses to sign above this"},"requestingAgentId":{"type":"string","description":"The buyer's own agent, recorded on the ledger as the requesting party"}}}}}},"responses":{"200":{"description":"Payment settled and the capability executed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/A2AHireResponse"}}}},"400":{"description":"Invalid request body"},"402":{"description":"Payment rejected — quote above maxPrice, or settlement failed"},"404":{"description":"Listing not found or no longer active"},"429":{"description":"Too many requests — see Retry-After header"},"500":{"description":"Failed to hire agent"}}}},"/api/x402/hq/classify-event":{"get":{"description":"Classify a headline into a threat level and category with a Groq-hosted model. Paid duplicate of /api/hq/classify-event; same handler, paid per call instead of a session or API key. Source: api.groq.com/openai/v1/chat/completions (llama-3.1-8b-instant).","operationId":"x402_hqClassifyEvent","parameters":[{"in":"query","name":"title","required":true,"schema":{"type":"string","description":"news headline to classify"},"description":"news headline to classify"},{"in":"query","name":"variant","required":false,"schema":{"type":"string","enum":["full","tech"],"default":"full"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"level":{"type":"string","enum":["critical","high","medium","low","info"]},"category":{"type":"string","enum":["conflict","protest","disaster","diplomatic","economic","terrorism","cyber","health","environmental","military","crime","infrastructure","tech","general"]},"source":{"const":"llm"},"cached":{"type":"boolean"}},"required":[]}}},"description":"Classify a news event"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Classify a news event","tags":["HQ (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"title":{"type":"string","description":"news headline to classify"},"variant":{"type":"string","enum":["full","tech"],"default":"full"}},"required":["title"],"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.02","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"heavy"}},"/api/x402/hq/climate-anomalies":{"get":{"description":"Temperature and precipitation anomalies for monitored regions against their baseline, from Open-Meteo. Paid duplicate of /api/hq/climate-anomalies; same handler, paid per call instead of a session or API key. Source: archive-api.open-meteo.com/v1/archive (daily temperature_2m_mean, precipitation_sum; 15 fixed zones, last 30 days).","operationId":"x402_hqClimateAnomalies","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"anomalies":{"type":"array","items":{"type":"object","properties":{"zone":{"type":"string"},"lat":{"type":"number"},"lon":{"type":"number"},"tempDelta":{"type":"number"},"precipDelta":{"type":"number"},"severity":{"type":"string","enum":["normal","moderate","extreme"]},"type":{"type":"string","enum":["warm","cold","wet","dry","mixed"]},"period":{"type":"string"}}}},"timestamp":{"type":"string","format":"date-time"}}}}},"description":"Climate anomalies"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Climate anomalies","tags":["HQ (paid duplicate)"],"x-input-schema":{"type":"object","additionalProperties":false,"properties":{}},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/hq/country-intel":{"post":{"description":"A short intelligence brief on a country, written by a Groq-hosted model from the context you send. Paid duplicate of /api/hq/country-intel; same handler, paid per call instead of a session or API key. Source: api.groq.com/openai/v1/chat/completions (llama-3.1-8b-instant).","operationId":"x402_hqCountryIntel","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"country":{"type":"string","description":"country display name"},"code":{"type":"string","description":"country code, used as cache key"},"context":{"type":"object","properties":{"score":{"type":"number"},"level":{"type":"string"},"trend":{"type":"string"},"change24h":{"type":"number"},"components":{"type":"object","properties":{"unrest":{"type":"number"},"security":{"type":"number"},"information":{"type":"number"}}},"protests":{"type":"integer"},"militaryFlights":{"type":"integer"},"militaryVessels":{"type":"integer"},"outages":{"type":"integer"},"earthquakes":{"type":"integer"},"stockIndex":{"type":"string"},"convergenceScore":{"type":"number"},"signalTypes":{"type":"array","items":{"type":"string"}},"regionalConvergence":{"type":"array","items":{"type":"string"}},"headlines":{"type":"array","items":{"type":"string"},"description":"first 15 used, cited as [N]"}},"additionalProperties":true}},"required":["country","code"],"additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"brief":{"type":"string","description":"markdown brief, 300-400 words"},"country":{"type":"string"},"code":{"type":"string"},"model":{"type":"string"},"generatedAt":{"type":"string","format":"date-time"},"cached":{"type":"boolean"}}}}},"description":"Country intelligence brief"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Country intelligence brief","tags":["HQ (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"country":{"type":"string","description":"country display name"},"code":{"type":"string","description":"country code, used as cache key"},"context":{"type":"object","properties":{"score":{"type":"number"},"level":{"type":"string"},"trend":{"type":"string"},"change24h":{"type":"number"},"components":{"type":"object","properties":{"unrest":{"type":"number"},"security":{"type":"number"},"information":{"type":"number"}}},"protests":{"type":"integer"},"militaryFlights":{"type":"integer"},"militaryVessels":{"type":"integer"},"outages":{"type":"integer"},"earthquakes":{"type":"integer"},"stockIndex":{"type":"string"},"convergenceScore":{"type":"number"},"signalTypes":{"type":"array","items":{"type":"string"}},"regionalConvergence":{"type":"array","items":{"type":"string"}},"headlines":{"type":"array","items":{"type":"string"},"description":"first 15 used, cited as [N]"}},"additionalProperties":true}},"required":["country","code"],"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.02","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"heavy"}},"/api/x402/hq/crypto-trending":{"get":{"description":"The most frequent terms across 23 crypto news feeds over the recent window. Paid duplicate of /api/hq/crypto-trending; same handler, paid per call instead of a session or API key. Source: same 23 crypto RSS/Atom feeds as crypto-news (headline term frequency).","operationId":"x402_hqCryptoTrending","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"trending":{"type":"array","items":{"type":"object","properties":{"topic":{"type":"string"},"count":{"type":"integer"},"sentiment":{"type":"string","enum":["bullish","bearish","neutral"]},"sampleHeadlines":{"type":"array","items":{"type":"string"}}}}},"totalArticlesAnalyzed":{"type":"integer"},"timeWindow":{"const":"24h"},"fetchedAt":{"type":"string","format":"date-time"},"unavailable":{"type":"boolean"}}}}},"description":"Trending terms in crypto headlines"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Trending terms in crypto headlines","tags":["HQ (paid duplicate)"],"x-input-schema":{"type":"object","additionalProperties":false,"properties":{}},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/hq/cyber-threats":{"get":{"description":"Active malware command and control servers and malicious IPs from abuse.ch and public threat feeds. Paid duplicate of /api/hq/cyber-threats; same handler, paid per call instead of a session or API key. Source: feodotracker.abuse.ch ipblocklist.json, raw.githubusercontent.com drb-ra/C2IntelFeeds (keyless); urlhaus-api.abuse.ch, otx.alienvault.com, api.abuseipdb.com (keyed); geo via ipinfo.io then freeipapi.com.","operationId":"x402_hqCyberThreats","parameters":[{"in":"query","name":"limit","required":false,"schema":{"type":"integer","minimum":1,"maximum":1000,"default":500}},{"in":"query","name":"days","required":false,"schema":{"type":"integer","minimum":1,"maximum":90,"default":14}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"count":{"type":"integer"},"partial":{"type":"boolean"},"sources":{"type":"object","properties":{"feodo":{"type":"object","additionalProperties":true},"urlhaus":{"type":"object","additionalProperties":true},"c2intel":{"type":"object","additionalProperties":true},"otx":{"type":"object","additionalProperties":true},"abuseipdb":{"type":"object","additionalProperties":true}},"description":"each {ok, count, reason?}"},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["c2_server","malware_host","phishing","malicious_url"]},"source":{"type":"string","enum":["feodo","urlhaus","c2intel","otx","abuseipdb"]},"indicator":{"type":"string"},"indicatorType":{"type":"string","enum":["ip","domain","url"]},"country":{"type":"string"},"severity":{"type":"string","enum":["low","medium","high","critical"]},"malwareFamily":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"firstSeen":{"type":"string","format":"date-time"},"lastSeen":{"type":"string","format":"date-time"}},"required":[]}},"cachedAt":{"type":"string","format":"date-time"}}}}},"description":"Cyber threat indicators"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Cyber threat indicators","tags":["HQ (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"limit":{"type":"integer","minimum":1,"maximum":1000,"default":500},"days":{"type":"integer","minimum":1,"maximum":90,"default":14}},"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/hq/earthquakes":{"get":{"description":"Magnitude 4.5 and larger earthquakes in the last day, as USGS GeoJSON. Paid duplicate of /api/hq/earthquakes; same handler, paid per call instead of a session or API key. Source: earthquake.usgs.gov/earthquakes/feed/v1.0/summary/4.5_day.geojson.","operationId":"x402_hqEarthquakes","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"type":{"const":"FeatureCollection"},"metadata":{"type":"object","properties":{"generated":{"type":"integer"},"url":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"api":{"type":"string"},"count":{"type":"integer"}}},"features":{"type":"array","items":{"type":"object","properties":{"type":{"const":"Feature"},"id":{"type":"string"},"properties":{"type":"object","properties":{"mag":{"type":"number"},"place":{"type":"string"},"time":{"type":"integer"},"updated":{"type":"integer"},"url":{"type":"string"},"detail":{"type":"string"},"alert":{"type":["string","null"]},"tsunami":{"type":"integer"},"sig":{"type":"integer"},"magType":{"type":"string"},"type":{"type":"string"},"title":{"type":"string"}},"additionalProperties":true},"geometry":{"type":"object","properties":{"type":{"const":"Point"},"coordinates":{"type":"array","items":{"type":"number"}}}}}}},"bbox":{"type":"array","items":{"type":"number"}}}}}},"description":"Earthquakes of magnitude 4.5+"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Earthquakes of magnitude 4.5+","tags":["HQ (paid duplicate)"],"x-input-schema":{"type":"object","additionalProperties":false,"properties":{}},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/hq/faa-status":{"get":{"description":"US airport delays, ground stops and closures from the FAA NAS status feed (XML). Paid duplicate of /api/hq/faa-status; same handler, paid per call instead of a session or API key. Source: nasstatus.faa.gov/api/airport-status-information.","operationId":"x402_hqFaaStatus","parameters":[],"responses":{"200":{"content":{"application/xml":{"schema":{"type":"string"}}},"description":"FAA airport status"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"FAA airport status","tags":["HQ (paid duplicate)"],"x-input-schema":{"type":"object","additionalProperties":false,"properties":{}},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/hq/governance":{"get":{"description":"Active and recent Snapshot proposals across major DAOs. Paid duplicate of /api/hq/governance; same handler, paid per call instead of a session or API key. Source: hub.snapshot.org/graphql (proposals for 15 fixed DAO spaces: active first 30, closed first 20).","operationId":"x402_hqGovernance","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"timestamp":{"type":"string","format":"date-time"},"active":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string"},"space":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"avatar":{"type":"string"}}},"state":{"type":"string"},"choices":{"type":"array","items":{"type":"string"}},"scores":{"type":"array","items":{"type":"number"}},"scoresTotal":{"type":"number"},"votes":{"type":"integer"},"quorum":{"type":"number"},"quorumReached":{"type":"boolean"},"type":{"type":"string"},"startDate":{"type":"string","format":"date-time"},"endDate":{"type":"string","format":"date-time"},"timeLeft":{"type":"string"},"link":{"type":"string"},"result":{"type":"string"}}}},"recent":{"type":"array","description":"same item shape as active, closed proposals","items":{"type":"object","additionalProperties":true}},"spaces":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"activeCount":{"type":"integer"},"memberCount":{"type":"integer"}}}},"summary":{"type":"object","properties":{"activeProposals":{"type":"integer"},"spacesTracked":{"type":"integer"},"totalVotesActive":{"type":"integer"},"highestParticipation":{"type":"object","properties":{"space":{"type":"string"},"votes":{"type":"integer"}}}}},"unavailable":{"type":"boolean"},"error":{"type":"string"}}}}},"description":"DAO governance proposals"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"DAO governance proposals","tags":["HQ (paid duplicate)"],"x-input-schema":{"type":"object","additionalProperties":false,"properties":{}},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/hq/historical-stablecoins":{"get":{"description":"Circulating supply history of major stablecoins from DeFiLlama. Paid duplicate of /api/hq/historical-stablecoins; same handler, paid per call instead of a session or API key. Source: stablecoins.llama.fi/stablecoincharts/all?stablecoin={id}.","operationId":"x402_hqHistoricalStablecoins","parameters":[{"in":"query","name":"period","required":false,"schema":{"type":"string","enum":["7d","30d","90d","180d","1y"],"default":"30d","description":"unknown values silently map to 30 days"},"description":"unknown values silently map to 30 days"},{"in":"query","name":"stablecoins","required":true,"schema":{"description":"Comma-separated list from USDT, USDC, FRAX","pattern":"^\\s*(?:[Uu][Ss][Dd][TtCc]|[Ff][Rr][Aa][Xx])\\s*(?:,\\s*(?:[Uu][Ss][Dd][TtCc]|[Ff][Rr][Aa][Xx])\\s*)*$","type":"string"},"description":"Comma-separated list from USDT, USDC, FRAX"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"timestamp":{"type":"string","format":"date-time"},"series":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"data":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string","format":"date"},"value":{"type":"number"}}}}}}},"period":{"type":"string"},"summary":{"type":"object","properties":{"currentTotal":{"type":"number"},"periodStart":{"type":"number"},"percentChange":{"type":"number"}}}}}}},"description":"Stablecoin supply history"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Stablecoin supply history","tags":["HQ (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"period":{"type":"string","enum":["7d","30d","90d","180d","1y"],"default":"30d","description":"unknown values silently map to 30 days"},"stablecoins":{"description":"Comma-separated list from USDT, USDC, FRAX","pattern":"^\\s*(?:[Uu][Ss][Dd][TtCc]|[Ff][Rr][Aa][Xx])\\s*(?:,\\s*(?:[Uu][Ss][Dd][TtCc]|[Ff][Rr][Aa][Xx])\\s*)*$","type":"string"}},"required":["stablecoins"],"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/hq/historical-tvl":{"get":{"description":"Total value locked over time, overall or per chain, from DeFiLlama. Paid duplicate of /api/hq/historical-tvl; same handler, paid per call instead of a session or API key. Source: api.llama.fi/v2/historicalChainTvl[/{chain}].","operationId":"x402_hqHistoricalTvl","parameters":[{"in":"query","name":"type","required":false,"schema":{"type":"string","enum":["total","chain","chains"],"default":"total"}},{"in":"query","name":"period","required":false,"schema":{"type":"string","enum":["7d","30d","90d","180d","1y"],"default":"30d","description":"unknown values silently map to 30 days"},"description":"unknown values silently map to 30 days"},{"in":"query","name":"chain","required":false,"schema":{"type":"string","description":"required when type=chain (DeFiLlama chain name)"},"description":"required when type=chain (DeFiLlama chain name)"},{"in":"query","name":"chains","required":false,"schema":{"type":"string","description":"comma list, max 10; required when type=chains"},"description":"comma list, max 10; required when type=chains"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"timestamp":{"type":"string","format":"date-time"},"series":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"data":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string","format":"date"},"value":{"type":"number"}}}}}}},"period":{"type":"string"},"summary":{"type":"object","properties":{"currentTotal":{"type":"number"},"periodStart":{"type":"number"},"percentChange":{"type":"number"},"allTimeHigh":{"type":"number"},"allTimeHighDate":{"type":["string","null"]}},"description":"allTimeHigh fields only for type=total"}}}}},"description":"TVL history"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"TVL history","tags":["HQ (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"type":{"type":"string","enum":["total","chain","chains"],"default":"total"},"period":{"type":"string","enum":["7d","30d","90d","180d","1y"],"default":"30d","description":"unknown values silently map to 30 days"},"chain":{"type":"string","description":"required when type=chain (DeFiLlama chain name)"},"chains":{"type":"string","description":"comma list, max 10; required when type=chains"}},"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/hq/historical-volume":{"get":{"description":"Daily DEX trading volume over time from DeFiLlama. Paid duplicate of /api/hq/historical-volume; same handler, paid per call instead of a session or API key. Source: api.llama.fi/overview/dexs?excludeTotalDataChart=false.","operationId":"x402_hqHistoricalVolume","parameters":[{"in":"query","name":"period","required":false,"schema":{"type":"string","enum":["7d","30d","90d","180d","1y"],"default":"30d","description":"unknown values silently map to 30 days"},"description":"unknown values silently map to 30 days"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"timestamp":{"type":"string","format":"date-time"},"series":{"type":"array","description":"single series named \"DEX Volume\"","items":{"type":"object","properties":{"name":{"type":"string"},"data":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string","format":"date"},"value":{"type":"number"}}}}}}},"period":{"type":"string"},"summary":{"type":"object","properties":{"currentVolume":{"type":"number"},"periodAvg":{"type":"number"},"periodHigh":{"type":"number"},"periodLow":{"type":"number"}}}}}}},"description":"DEX volume history"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"DEX volume history","tags":["HQ (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"period":{"type":"string","enum":["7d","30d","90d","180d","1y"],"default":"30d","description":"unknown values silently map to 30 days"}},"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/hq/lending-rates":{"get":{"description":"Supply and borrow rates by asset across the major lending protocols, from DeFiLlama. Paid duplicate of /api/hq/lending-rates; same handler, paid per call instead of a session or API key. Source: yields.llama.fi/pools (filtered to lending/CDP pools of ~17 protocol slugs, TVL >= $100k).","operationId":"x402_hqLendingRates","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"timestamp":{"type":"string","format":"date-time"},"assets":{"type":"array","items":{"type":"object","properties":{"symbol":{"type":"string","enum":["USDC","USDT","DAI","WETH","WBTC","WSTETH","CBETH","LINK","UNI","AAVE"]},"name":{"type":"string"},"rates":{"type":"array","items":{"type":"object","properties":{"protocol":{"type":"string"},"chain":{"type":"string"},"supplyAPY":{"type":"number"},"borrowAPY":{"type":"number"},"rewardAPY":{"type":"number"},"netSupplyAPY":{"type":"number"},"netBorrowAPY":{"type":"number"},"tvl":{"type":"number"},"utilization":{"type":"number"},"poolId":{"type":"string"}}}},"bestSupply":{"type":"object","properties":{"protocol":{"type":"string"},"apy":{"type":"number"},"chain":{"type":"string"}}},"bestBorrow":{"type":"object","properties":{"protocol":{"type":"string"},"apy":{"type":"number"},"chain":{"type":"string"}}},"spread":{"type":"number"}}}},"protocols":{"type":"array","items":{"type":"string"}},"summary":{"type":"object","properties":{"avgSupplyAPY":{"type":"number"},"avgBorrowAPY":{"type":"number"},"bestOverallSupply":{"type":["object","null"],"properties":{"asset":{"type":"string"},"protocol":{"type":"string"},"apy":{"type":"number"}}},"lowestBorrow":{"type":["object","null"],"properties":{"asset":{"type":"string"},"protocol":{"type":"string"},"apy":{"type":"number"}}},"assetCount":{"type":"integer"}}},"unavailable":{"type":"boolean"}}}}},"description":"Lending and borrowing rates"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Lending and borrowing rates","tags":["HQ (paid duplicate)"],"x-input-schema":{"type":"object","additionalProperties":false,"properties":{}},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/hq/nga-warnings":{"get":{"description":"Active broadcast navigational warnings from the US National Geospatial-Intelligence Agency. Paid duplicate of /api/hq/nga-warnings; same handler, paid per call instead of a session or API key. Source: msi.nga.mil/api/publications/broadcast-warn?output=json&status=A.","operationId":"x402_hqNgaWarnings","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"broadcast-warn":{"type":"array","items":{"type":"object","properties":{"msgYear":{"type":"integer"},"msgNumber":{"type":"integer"},"navArea":{"type":"string"},"subregion":{"type":"string"},"text":{"type":"string"},"status":{"type":"string"},"issueDate":{"type":"string"},"authority":{"type":"string"},"cancelDate":{"type":["string","null"]},"cancelNavArea":{"type":["string","null"]},"cancelMsgYear":{"type":["integer","null"]},"cancelMsgNumber":{"type":["integer","null"]},"year":{"type":"integer"},"area":{"type":"string"},"number":{"type":"integer"}},"additionalProperties":true}}}}}},"description":"NGA navigational warnings"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"NGA navigational warnings","tags":["HQ (paid duplicate)"],"x-input-schema":{"type":"object","additionalProperties":false,"properties":{}},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/hq/sperax-protocol":{"get":{"description":"SPA and USDs prices, Sperax TVL, veSPA and farms. Paid duplicate of /api/hq/sperax-protocol; same handler, paid per call instead of a session or API key. Source: api.coingecko.com simple/price (sperax, sperax-usd), api.llama.fi/protocol/sperax, yields.llama.fi/pools.","operationId":"x402_hqSperaxProtocol","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"timestamp":{"type":"string","format":"date-time"},"spa":{"type":"object","properties":{"price":{"type":"number"},"change24h":{"type":"number"},"marketCap":{"type":["number","null"]},"rank":{"type":"null"}}},"usds":{"type":"object","properties":{"price":{"type":"number"},"change24h":{"type":"number"},"totalSupply":{"type":"null"},"peg":{"type":"string","enum":["stable","depegged","unknown"]},"pegDeviation":{"type":"number"}}},"tvl":{"type":"object","properties":{"total":{"type":"number"},"change24h":{"type":["number","null"]},"chains":{"type":"object","additionalProperties":{"type":"number"}}}},"veSPA":{"type":"object","properties":{"totalLocked":{"type":"null"},"holders":{"type":"null"}}},"farms":{"type":"array","items":{"type":"object","properties":{"pool":{"type":"string"},"chain":{"type":"string"},"tvl":{"type":"number"},"apy":{"type":"number"},"project":{"type":"string"}}}},"unavailable":{"type":"boolean"}}}}},"description":"Sperax protocol overview"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Sperax protocol overview","tags":["HQ (paid duplicate)"],"x-input-schema":{"type":"object","additionalProperties":false,"properties":{}},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/hq/stock-index":{"get":{"description":"A country's headline stock index with its one-week change, from Yahoo Finance. Paid duplicate of /api/hq/stock-index; same handler, paid per call instead of a session or API key. Source: query1.finance.yahoo.com/v8/finance/chart/{symbol}?range=1mo&interval=1d.","operationId":"x402_hqStockIndex","parameters":[{"in":"query","name":"code","required":true,"schema":{"type":"string","description":"ISO 3166-1 alpha-2 country code (case-insensitive), 45 supported (US, GB, DE, FR, JP, CN, HK, IN, KR, TW, ...)"},"description":"ISO 3166-1 alpha-2 country code (case-insensitive), 45 supported (US, GB, DE, FR, JP, CN, HK, IN, KR, TW, ...)"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"available":{"type":"boolean"},"code":{"type":"string"},"symbol":{"type":"string"},"indexName":{"type":"string"},"price":{"type":"string","description":"number formatted with 2 decimals"},"weekChangePercent":{"type":"string","description":"last ~5 trading days, 2 decimals"},"currency":{"type":"string"},"fetchedAt":{"type":"string","format":"date-time"},"cached":{"type":"boolean"},"stale":{"type":"boolean"}}}}},"description":"National stock index"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"National stock index","tags":["HQ (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"code":{"type":"string","description":"ISO 3166-1 alpha-2 country code (case-insensitive), 45 supported (US, GB, DE, FR, JP, CN, HK, IN, KR, TW, ...)"}},"required":["code"],"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/hq/subgraph-aave":{"get":{"description":"Aave market sizes and rates from its subgraph on The Graph. Paid duplicate of /api/hq/subgraph-aave; same handler, paid per call instead of a session or API key. Source: gateway.thegraph.com/api/{key}/subgraphs/id/Cd2gEDVeqnjBn1hSeqFMitw8Q1iiyV9FYUZkLNRcL87g (Aave reserves).","operationId":"x402_hqSubgraphAave","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"timestamp":{"type":"string","format":"date-time"},"markets":{"type":"array","items":{"type":"object","properties":{"symbol":{"type":"string"},"name":{"type":"string"},"totalSupplied":{"type":"number"},"totalBorrowed":{"type":"number"},"available":{"type":"number"},"supplyAPY":{"type":"number"},"borrowAPY":{"type":"number"},"stableBorrowAPY":{"type":"number"},"utilization":{"type":"number"},"tvlUSD":{"type":"number"}}}},"summary":{"type":"object","properties":{"totalTvl":{"type":"number"},"totalBorrowed":{"type":"number"},"avgUtilization":{"type":"number"},"topMarket":{"type":"string"},"marketCount":{"type":"integer"}}},"unavailable":{"type":"boolean"}}}}},"description":"Aave markets"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Aave markets","tags":["HQ (paid duplicate)"],"x-input-schema":{"type":"object","additionalProperties":false,"properties":{}},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/hq/subgraph-uniswap":{"get":{"description":"Top Uniswap pools by liquidity and volume from its subgraph on The Graph. Paid duplicate of /api/hq/subgraph-uniswap; same handler, paid per call instead of a session or API key. Source: gateway.thegraph.com/api/{key}/subgraphs/id/5zvR82QoaXYFyDEKLZ9t6v9adgnptxYpKpSbxtgVENFV (Uniswap v3 pools, top 30 by TVL).","operationId":"x402_hqSubgraphUniswap","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"timestamp":{"type":"string","format":"date-time"},"pools":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"pair":{"type":"string"},"token0":{"type":"object","properties":{"symbol":{"type":"string"},"name":{"type":"string"}}},"token1":{"type":"object","properties":{"symbol":{"type":"string"},"name":{"type":"string"}}},"feeTier":{"type":"integer"},"feeTierDisplay":{"type":"string"},"tvl":{"type":"number"},"volume24h":{"type":"number"},"price":{"type":"number"},"txCount":{"type":"integer"},"utilization":{"type":"number"}}}},"summary":{"type":"object","properties":{"totalTvl":{"type":"number"},"totalVolume24h":{"type":"number"},"poolCount":{"type":"integer"},"topPair":{"type":"string"},"avgUtilization":{"type":"number"}}},"unavailable":{"type":"boolean"}}}}},"description":"Uniswap pools"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Uniswap pools","tags":["HQ (paid duplicate)"],"x-input-schema":{"type":"object","additionalProperties":false,"properties":{}},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/hq/unhcr-population":{"get":{"description":"Refugee and displaced population totals by country and top flows from the UNHCR population API. Paid duplicate of /api/hq/unhcr-population; same handler, paid per call instead of a session or API key. Source: api.unhcr.org/population/v1/population/?year={Y} (tries current year, then back 2 years).","operationId":"x402_hqUnhcrPopulation","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"year":{"type":"integer"},"globalTotals":{"type":"object","properties":{"refugees":{"type":"number"},"asylumSeekers":{"type":"number"},"idps":{"type":"number"},"stateless":{"type":"number"},"total":{"type":"number"}}},"countries":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string"},"name":{"type":"string"},"refugees":{"type":"number"},"asylumSeekers":{"type":"number"},"idps":{"type":"number"},"stateless":{"type":"number"},"totalDisplaced":{"type":"number"},"hostRefugees":{"type":"number"},"hostAsylumSeekers":{"type":"number"},"hostTotal":{"type":"number"},"lat":{"type":"number"},"lon":{"type":"number"}}}},"topFlows":{"type":"array","items":{"type":"object","properties":{"originCode":{"type":"string"},"originName":{"type":"string"},"asylumCode":{"type":"string"},"asylumName":{"type":"string"},"refugees":{"type":"number"},"originLat":{"type":"number"},"originLon":{"type":"number"},"asylumLat":{"type":"number"},"asylumLon":{"type":"number"}}}},"cached_at":{"type":"string","format":"date-time"}}}}},"description":"UNHCR displacement figures"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"UNHCR displacement figures","tags":["HQ (paid duplicate)"],"x-input-schema":{"type":"object","additionalProperties":false,"properties":{}},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/hq/worldbank":{"get":{"description":"World Bank development indicators by country and year. Paid duplicate of /api/hq/worldbank; same handler, paid per call instead of a session or API key. Source: api.worldbank.org/v2/country/{list}/indicator/{indicator}?format=json.","operationId":"x402_hqWorldbank","parameters":[{"in":"query","name":"action","required":false,"schema":{"type":"string","enum":["indicators"],"description":"returns the indicator catalogue and default country list instead of data"},"description":"returns the indicator catalogue and default country list instead of data"},{"in":"query","name":"indicator","required":false,"schema":{"type":"string","description":"World Bank indicator code, e.g. IT.NET.USER.ZS (any code accepted; 16 curated). Required unless action=indicators"},"description":"World Bank indicator code, e.g. IT.NET.USER.ZS (any code accepted; 16 curated). Required unless action=indicators"},{"in":"query","name":"country","required":false,"schema":{"type":"string","description":"ISO3 code or ;-separated list"},"description":"ISO3 code or ;-separated list"},{"in":"query","name":"countries","required":false,"schema":{"type":"string","description":"comma-separated ISO3 list (overrides country); default 47 tech countries"},"description":"comma-separated ISO3 list (overrides country); default 47 tech countries"},{"in":"query","name":"years","required":false,"schema":{"type":"integer","default":5,"description":"lookback from current year"},"description":"lookback from current year"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"indicator":{"type":"string"},"indicatorName":{"type":"string"},"metadata":{"type":"object","properties":{"page":{"type":"integer"},"pages":{"type":"integer"},"total":{"type":"integer"}}},"byCountry":{"type":"object","additionalProperties":{"type":"object","properties":{"code":{"type":"string"},"name":{"type":"string"},"values":{"type":"array","items":{"type":"object","properties":{"year":{"type":"string"},"value":{"type":"number"}}}}}}},"latestByCountry":{"type":"object","additionalProperties":{"type":"object","properties":{"code":{"type":"string"},"name":{"type":"string"},"year":{"type":"string"},"value":{"type":"number"}}}},"timeSeries":{"type":"array","items":{"type":"object","properties":{"countryCode":{"type":"string"},"countryName":{"type":"string"},"year":{"type":"string"},"value":{"type":"number"}}}},"indicators":{"type":"object","additionalProperties":{"type":"string"},"description":"action=indicators only"},"defaultCountries":{"type":"array","items":{"type":"string"},"description":"action=indicators only"}}}}},"description":"World Bank indicators"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"World Bank indicators","tags":["HQ (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"action":{"type":"string","enum":["indicators"],"description":"returns the indicator catalogue and default country list instead of data"},"indicator":{"type":"string","description":"World Bank indicator code, e.g. IT.NET.USER.ZS (any code accepted; 16 curated). Required unless action=indicators"},"country":{"type":"string","description":"ISO3 code or ;-separated list"},"countries":{"type":"string","description":"comma-separated ISO3 list (overrides country); default 47 tech countries"},"years":{"type":"integer","default":5,"description":"lookback from current year"}},"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/intel/arxiv":{"get":{"description":"Latest papers from Arxiv tagged with cs.CR, q-fin, and related topics. Paid duplicate of /api/intel/arxiv; same handler, paid per call instead of a session or API key. Source: arXiv export API /api/query (Atom XML, parsed).","operationId":"x402_intelArxiv","parameters":[{"in":"query","name":"category","required":false,"schema":{"type":"string","default":"cs.AI","pattern":"^[\\w.-]+$","description":"arXiv category, e.g. cs.AI, math.CO"},"description":"arXiv category, e.g. cs.AI, math.CO"},{"in":"query","name":"max_results","required":false,"schema":{"type":"integer","default":10,"minimum":1,"maximum":50,"description":"Clamped to 1-50"},"description":"Clamped to 1-50"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"arXiv entry id URL"},"title":{"type":"string"},"summary":{"type":"string","description":"Abstract, whitespace-collapsed"},"authors":{"type":"array","items":{"type":"string"}},"published":{"type":"string","description":"ISO timestamp"},"link":{"type":"string","description":"arxiv.org/abs URL, falls back to id"}},"required":["id","title","summary","authors","published","link"]},"description":"Most recent papers by submittedDate desc; [] on upstream failure"}}},"description":"Arxiv crypto and AI research papers"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Arxiv crypto and AI research papers","tags":["Intel (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"category":{"type":"string","default":"cs.AI","pattern":"^[\\w.-]+$","description":"arXiv category, e.g. cs.AI, math.CO"},"max_results":{"type":"integer","default":10,"minimum":1,"maximum":50,"description":"Clamped to 1-50"}},"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/intel/chain-tvl":{"get":{"description":"Total Value Locked per chain from DeFiLlama. Includes historical TVL. Paid duplicate of /api/intel/chain-tvl; same handler, paid per call instead of a session or API key. Source: DeFiLlama /v2/chains.","operationId":"x402_intelChainTvl","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"gecko_id":{"type":["string","null"]},"tvl":{"type":"number","description":"Current TVL USD"},"tokenSymbol":{"type":["string","null"]},"cmcId":{"type":["string","null"]},"name":{"type":"string","description":"Chain name"},"chainId":{"type":["integer","null"]}},"additionalProperties":true},"description":"DeFiLlama chains passed through verbatim; [] on upstream failure"}}},"description":"TVL by blockchain"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"TVL by blockchain","tags":["Intel (paid duplicate)"],"x-input-schema":{"type":"object","properties":{},"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/intel/cloudflare-outages":{"get":{"description":"Active and recent outages from Cloudflare Radar affecting internet traffic. Paid duplicate of /api/intel/cloudflare-outages; same handler, paid per call instead of a session or API key. Source: cloudflarestatus.com /api/v2/incidents.json (Statuspage).","operationId":"x402_intelCloudflareOutages","parameters":[{"in":"query","name":"dateRange","required":false,"schema":{"type":"string","enum":["1d","7d","30d","90d"],"default":"7d"}},{"in":"query","name":"limit","required":false,"schema":{"type":"integer","default":50,"minimum":1,"maximum":100}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"status":{"type":"string","description":"investigating|identified|monitoring|resolved|postmortem"},"impact":{"type":"string","description":"none|minor|major|critical"},"created_at":{"type":"string","description":"ISO timestamp"},"updated_at":{"type":"string"},"resolved_at":{"type":["string","null"]},"shortlink":{"type":"string"},"incident_updates":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":true}},"components":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":true}}},"required":["created_at"],"additionalProperties":true},"description":"Statuspage incidents created within dateRange, sliced to limit; [] on upstream failure"}}},"description":"Internet and infrastructure outages"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Internet and infrastructure outages","tags":["Intel (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"dateRange":{"type":"string","enum":["1d","7d","30d","90d"],"default":"7d"},"limit":{"type":"integer","default":50,"minimum":1,"maximum":100}},"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/intel/coingecko":{"get":{"description":"Proxy to CoinGecko v3 API. Supports simple price, markets, coins list, trending, and global endpoints. Paid duplicate of /api/intel/coingecko; same handler, paid per call instead of a session or API key. Source: CoinGecko v3 (simple/price, coins/markets, coins/list, search/trending, global).","operationId":"x402_intelCoingecko","parameters":[{"in":"query","name":"endpoint","required":false,"schema":{"type":"string","enum":["simple/price","coins/markets","coins/list","search/trending","global","markets"],"default":"simple/price","description":"'markets' is normalized to 'coins/markets'"},"description":"'markets' is normalized to 'coins/markets'"},{"in":"query","name":"ids","required":false,"schema":{"type":"string","description":"Comma-separated CoinGecko coin ids"},"description":"Comma-separated CoinGecko coin ids"},{"in":"query","name":"vs_currencies","required":false,"schema":{"type":"string","description":"For simple/price, e.g. usd"},"description":"For simple/price, e.g. usd"},{"in":"query","name":"vs_currency","required":false,"schema":{"type":"string","description":"For coins/markets"},"description":"For coins/markets"},{"in":"query","name":"include_24hr_change","required":false,"schema":{"type":"string","description":"'true'|'false'"},"description":"'true'|'false'"},{"in":"query","name":"include_24hr_vol","required":false,"schema":{"type":"string","description":"'true'|'false'"},"description":"'true'|'false'"},{"in":"query","name":"include_last_updated_at","required":false,"schema":{"type":"string","description":"'true'|'false'"},"description":"'true'|'false'"},{"in":"query","name":"per_page","required":false,"schema":{"type":"string","description":"Forwarded as-is"},"description":"Forwarded as-is"},{"in":"query","name":"page","required":false,"schema":{"type":"string","description":"Forwarded as-is"},"description":"Forwarded as-is"},{"in":"query","name":"order","required":false,"schema":{"type":"string","description":"e.g. market_cap_desc"},"description":"e.g. market_cap_desc"},{"in":"query","name":"sparkline","required":false,"schema":{"type":"string","description":"'true'|'false'"},"description":"'true'|'false'"},{"in":"query","name":"price_change_percentage","required":false,"schema":{"type":"string","description":"e.g. 1h,24h,7d"},"description":"e.g. 1h,24h,7d"},{"in":"query","name":"category","required":false,"schema":{"type":"string","description":"CoinGecko category id"},"description":"CoinGecko category id"}],"responses":{"200":{"content":{"application/json":{"schema":{"description":"Raw CoinGecko v3 JSON for the chosen endpoint. simple/price: object keyed by coin id -> {<currency>: number, <currency>_24h_change?, ...}. coins/markets and coins/list: array. search/trending: {coins, nfts, categories}. global: {data}. [] on upstream failure.","oneOf":[{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"type":"number"}}},{"type":"array","items":{"type":"object","properties":{},"additionalProperties":true}},{"type":"object","properties":{},"additionalProperties":true}]}}},"description":"CoinGecko price and market data"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"CoinGecko price and market data","tags":["Intel (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"endpoint":{"type":"string","enum":["simple/price","coins/markets","coins/list","search/trending","global","markets"],"default":"simple/price","description":"'markets' is normalized to 'coins/markets'"},"ids":{"type":"string","description":"Comma-separated CoinGecko coin ids"},"vs_currencies":{"type":"string","description":"For simple/price, e.g. usd"},"vs_currency":{"type":"string","description":"For coins/markets"},"include_24hr_change":{"type":"string","description":"'true'|'false'"},"include_24hr_vol":{"type":"string","description":"'true'|'false'"},"include_last_updated_at":{"type":"string","description":"'true'|'false'"},"per_page":{"type":"string","description":"Forwarded as-is"},"page":{"type":"string","description":"Forwarded as-is"},"order":{"type":"string","description":"e.g. market_cap_desc"},"sparkline":{"type":"string","description":"'true'|'false'"},"price_change_percentage":{"type":"string","description":"e.g. 1h,24h,7d"},"category":{"type":"string","description":"CoinGecko category id"}},"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/intel/coingecko-global":{"get":{"description":"Total market cap, 24h volume, dominance, active coins, and market sentiment from CoinGecko. Paid duplicate of /api/intel/coingecko-global; same handler, paid per call instead of a session or API key. Source: CoinGecko /global.","operationId":"x402_intelCoingeckoGlobal","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"active_cryptocurrencies":{"type":"integer"},"upcoming_icos":{"type":"integer"},"ongoing_icos":{"type":"integer"},"ended_icos":{"type":"integer"},"markets":{"type":"integer"},"total_market_cap":{"type":"object","properties":{},"additionalProperties":{"type":"number"},"description":"Keyed by currency"},"total_volume":{"type":"object","properties":{},"additionalProperties":{"type":"number"}},"market_cap_percentage":{"type":"object","properties":{},"additionalProperties":{"type":"number"},"description":"Dominance % keyed by coin symbol"},"market_cap_change_percentage_24h_usd":{"type":"number"},"updated_at":{"type":"integer","description":"Unix seconds"}},"additionalProperties":true}},"required":["data"]}}},"description":"Global crypto market statistics"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Global crypto market statistics","tags":["Intel (paid duplicate)"],"x-input-schema":{"type":"object","properties":{},"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/intel/coingecko-markets":{"get":{"description":"Paginated list of coins sorted by market cap with price, volume, and 24h change. Paid duplicate of /api/intel/coingecko-markets; same handler, paid per call instead of a session or API key. Source: CoinGecko /coins/markets.","operationId":"x402_intelCoingeckoMarkets","parameters":[{"in":"query","name":"vs_currency","required":false,"schema":{"type":"string","default":"usd"}},{"in":"query","name":"per_page","required":false,"schema":{"type":"integer","description":"Forwarded; CoinGecko max 250"},"description":"Forwarded; CoinGecko max 250"},{"in":"query","name":"page","required":false,"schema":{"type":"integer"}},{"in":"query","name":"order","required":false,"schema":{"type":"string","description":"e.g. market_cap_desc, volume_desc"},"description":"e.g. market_cap_desc, volume_desc"},{"in":"query","name":"sparkline","required":false,"schema":{"type":"boolean"}},{"in":"query","name":"price_change_percentage","required":false,"schema":{"type":"string","description":"e.g. 1h,24h,7d"},"description":"e.g. 1h,24h,7d"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"symbol":{"type":"string"},"name":{"type":"string"},"image":{"type":"string"},"current_price":{"type":["number","null"]},"market_cap":{"type":["number","null"]},"market_cap_rank":{"type":["integer","null"]},"fully_diluted_valuation":{"type":["number","null"]},"total_volume":{"type":["number","null"]},"high_24h":{"type":["number","null"]},"low_24h":{"type":["number","null"]},"price_change_24h":{"type":["number","null"]},"price_change_percentage_24h":{"type":["number","null"]},"market_cap_change_24h":{"type":["number","null"]},"circulating_supply":{"type":["number","null"]},"total_supply":{"type":["number","null"]},"max_supply":{"type":["number","null"]},"ath":{"type":["number","null"]},"atl":{"type":["number","null"]},"last_updated":{"type":"string"},"sparkline_in_7d":{"type":"object","properties":{"price":{"type":"array","items":{"type":"number"}}},"description":"Only when sparkline=true"}},"additionalProperties":true,"description":"Also price_change_percentage_<period>_in_currency when price_change_percentage requested"},"description":"CoinGecko /coins/markets pass-through; [] on upstream failure"}}},"description":"Top coins by market cap"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Top coins by market cap","tags":["Intel (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"vs_currency":{"type":"string","default":"usd"},"per_page":{"type":"integer","description":"Forwarded; CoinGecko max 250"},"page":{"type":"integer"},"order":{"type":"string","description":"e.g. market_cap_desc, volume_desc"},"sparkline":{"type":"boolean"},"price_change_percentage":{"type":"string","description":"e.g. 1h,24h,7d"}},"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/intel/coingecko-trending":{"get":{"description":"Top 7 trending coins searched in the last 24 hours on CoinGecko. Paid duplicate of /api/intel/coingecko-trending; same handler, paid per call instead of a session or API key. Source: CoinGecko /search/trending.","operationId":"x402_intelCoingeckoTrending","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"coins":{"type":"array","items":{"type":"object","properties":{"item":{"type":"object","properties":{"id":{"type":"string"},"coin_id":{"type":"integer"},"name":{"type":"string"},"symbol":{"type":"string"},"market_cap_rank":{"type":["integer","null"]},"thumb":{"type":"string"},"small":{"type":"string"},"large":{"type":"string"},"slug":{"type":"string"},"price_btc":{"type":"number"},"score":{"type":"integer"},"data":{"type":"object","properties":{},"additionalProperties":true}},"additionalProperties":true}}}},"nfts":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":true}},"categories":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":true}}},"required":["coins","nfts"]}}},"description":"Trending coins on CoinGecko"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Trending coins on CoinGecko","tags":["Intel (paid duplicate)"],"x-input-schema":{"type":"object","properties":{},"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/intel/ct-pulse":{"get":{"description":"Trending topics and sentiment from Crypto Twitter (X.com). Paid duplicate of /api/intel/ct-pulse; same handler, paid per call instead of a session or API key. Source: cryptocurrency.cv client: social sentiment + /api/trending.","operationId":"x402_intelCtPulse","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"fetchedAt":{"type":"string","description":"ISO timestamp"},"sentiment":{"type":"object","properties":{"label":{"type":"string","description":"e.g. neutral"},"score":{"type":"integer","description":"-100 (bearish) to +100 (bullish)"},"confidence":{"type":"number","minimum":0,"maximum":1}},"required":["label","score","confidence"]},"narratives":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"mentions":{"type":"number"},"sentiment":{"type":"string","enum":["bullish","bearish","neutral"]}},"required":["name","mentions","sentiment"]},"description":"Up to 10 non-ticker trending topics"},"trendingTokens":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"mentions":{"type":"number"},"sentiment":{"type":"string","enum":["bullish","bearish","neutral"]},"symbol":{"type":"string"}},"required":["name","mentions","sentiment","symbol"]},"description":"Up to 10 topics matching ^[A-Z]{2,6}$"}},"required":["fetchedAt","sentiment","narratives","trendingTokens"]}}},"description":"Crypto Twitter pulse"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Crypto Twitter pulse","tags":["Intel (paid duplicate)"],"x-input-schema":{"type":"object","properties":{},"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/intel/defi-fees":{"get":{"description":"24h, 7d, and 30d fees and revenue for top DeFi protocols from DeFiLlama. Paid duplicate of /api/intel/defi-fees; same handler, paid per call instead of a session or API key. Source: DeFiLlama /overview/fees.","operationId":"x402_intelDefiFees","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"protocols":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"displayName":{"type":"string"},"defillamaId":{"type":"string"},"module":{"type":"string"},"category":{"type":"string"},"logo":{"type":"string"},"chains":{"type":"array","items":{"type":"string"}},"total24h":{"type":["number","null"]},"total48hto24h":{"type":["number","null"]},"total7d":{"type":["number","null"]},"total30d":{"type":["number","null"]},"totalAllTime":{"type":["number","null"]},"change_1d":{"type":["number","null"]},"change_7d":{"type":["number","null"]},"change_1m":{"type":["number","null"]}},"additionalProperties":true}},"allChains":{"type":"array","items":{"type":"string"}},"total24h":{"type":"number"},"total7d":{"type":"number"},"total30d":{"type":"number"},"change_1d":{"type":"number"},"change_7d":{"type":"number"},"change_1m":{"type":"number"},"totalDataChart":{"type":"array","items":{},"description":"Empty (excluded upstream); present in failure fallback"}},"required":["protocols"],"additionalProperties":true}}},"description":"DeFi protocol revenue and fees"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"DeFi protocol revenue and fees","tags":["Intel (paid duplicate)"],"x-input-schema":{"type":"object","properties":{},"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/intel/defi-global-stats":{"get":{"description":"Aggregated DeFi metrics: total TVL, number of protocols, chains, and historical data. Paid duplicate of /api/intel/defi-global-stats; same handler, paid per call instead of a session or API key. Source: DeFiLlama /v2/historicalChainTvl.","operationId":"x402_intelDefiGlobalStats","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"date":{"type":"integer","description":"Unix seconds"},"tvl":{"type":"number","description":"Total DeFi TVL USD"}},"required":["date","tvl"]},"description":"Daily historical total TVL across all chains; [] on upstream failure"}}},"description":"Global DeFi statistics"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Global DeFi statistics","tags":["Intel (paid duplicate)"],"x-input-schema":{"type":"object","properties":{},"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/intel/defi-yields":{"get":{"description":"Top yield pools across protocols — APY, TVL, chain, and reward token. Paid duplicate of /api/intel/defi-yields; same handler, paid per call instead of a session or API key. Source: DeFiLlama yields.llama.fi/pools.","operationId":"x402_intelDefiYields","parameters":[{"in":"query","name":"minTvl","required":false,"schema":{"type":"number","default":1000000,"minimum":0,"description":"Minimum pool TVL USD"},"description":"Minimum pool TVL USD"},{"in":"query","name":"limit","required":false,"schema":{"type":"integer","default":200,"minimum":1,"maximum":500}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"pools":{"type":"array","items":{"type":"object","properties":{"pool":{"type":"string","description":"DeFiLlama pool id"},"chain":{"type":"string"},"project":{"type":"string"},"symbol":{"type":"string"},"tvlUsd":{"type":"number"},"apy":{"type":"number","description":"Total APY %"},"apyBase":{"type":["number","null"]},"apyReward":{"type":["number","null"]},"il7d":{"type":["number","null"]},"stablecoin":{"type":"boolean"},"exposure":{"type":["string","null"],"description":"single|multi"}},"required":["pool","chain","project","symbol","tvlUsd","apy","apyBase","apyReward","il7d","stablecoin","exposure"]},"description":"apy>0 and tvlUsd>=minTvl, sorted by apy desc"},"summary":{"type":"object","properties":{"avgApy":{"type":"number"},"poolCount":{"type":"integer"},"topChain":{"type":"string"},"totalTvl":{"type":"number"}},"required":["avgApy","poolCount","topChain","totalTvl"]},"timestamp":{"type":"string","description":"ISO timestamp"}},"required":["pools","summary","timestamp"]}}},"description":"DeFi yield opportunities"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"DeFi yield opportunities","tags":["Intel (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"minTvl":{"type":"number","default":1000000,"minimum":0,"description":"Minimum pool TVL USD"},"limit":{"type":"integer","default":200,"minimum":1,"maximum":500}},"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/intel/dex-new-listings":{"get":{"description":"Recently listed tokens on Uniswap and other DEXes with initial liquidity data. Paid duplicate of /api/intel/dex-new-listings; same handler, paid per call instead of a session or API key. Source: Postgres dex_new_listings (cron-populated from DexScreener + GeckoTerminal).","operationId":"x402_intelDexNewListings","parameters":[{"in":"query","name":"chain","required":false,"schema":{"type":"string","description":"Chain id filter, e.g. ethereum, base, solana"},"description":"Chain id filter, e.g. ethereum, base, solana"},{"in":"query","name":"minLiquidity","required":false,"schema":{"type":"number","default":10000,"description":"Min liquidity USD"},"description":"Min liquidity USD"},{"in":"query","name":"minMomentum","required":false,"schema":{"type":"number","default":0,"minimum":0,"maximum":100}},{"in":"query","name":"limit","required":false,"schema":{"type":"integer","default":50,"maximum":100}},{"in":"query","name":"since","required":false,"schema":{"type":"string","format":"date-time","description":"Only listings first seen after this"},"description":"Only listings first seen after this"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"listings":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"tokenAddress":{"type":"string"},"tokenName":{"type":"string"},"tokenSymbol":{"type":"string"},"chainId":{"type":"string"},"pairAddress":{"type":"string"},"dexName":{"type":"string"},"liquidityUsd":{"type":"number"},"volume1hUsd":{"type":"number"},"priceUsd":{"type":"number"},"priceChange5m":{"type":"number"},"priceChange1h":{"type":"number"},"buys5m":{"type":"integer"},"sells5m":{"type":"integer"},"holderCount":{"type":["integer","null"]},"momentumScore":{"type":"number","description":"0-100"},"riskFlags":{"type":"object","properties":{"rugPull":{"type":"boolean"},"lowLiquidity":{"type":"boolean"},"concentrated":{"type":"boolean"},"unverified":{"type":"boolean"},"newDeployer":{"type":"boolean"}}},"lpLocked":{"type":"integer","description":"0|1"},"lpLockSource":{"type":["string","null"]},"contractVerified":{"type":"integer","description":"0|1"},"deployerAgedays":{"type":["number","null"]},"holderConcentration":{"type":["number","null"]},"firstSeenAt":{"type":"string","description":"ISO timestamp"},"source":{"type":"string","enum":["dexscreener","geckoterminal"]},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","tokenAddress","tokenName","tokenSymbol","chainId","pairAddress","dexName","liquidityUsd","volume1hUsd","priceUsd","priceChange5m","priceChange1h","buys5m","sells5m","momentumScore","riskFlags","lpLocked","contractVerified","firstSeenAt","source"]}},"timestamp":{"type":"string","description":"ISO timestamp"}},"required":["listings","timestamp"]}}},"description":"New token listings on DEXes"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"New token listings on DEXes","tags":["Intel (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"chain":{"type":"string","description":"Chain id filter, e.g. ethereum, base, solana"},"minLiquidity":{"type":"number","default":10000,"description":"Min liquidity USD"},"minMomentum":{"type":"number","default":0,"minimum":0,"maximum":100},"limit":{"type":"integer","default":50,"maximum":100},"since":{"type":"string","format":"date-time","description":"Only listings first seen after this"}},"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/intel/dex-trending":{"get":{"description":"Tokens with the highest volume spike on decentralized exchanges in the last hour. Paid duplicate of /api/intel/dex-trending; same handler, paid per call instead of a session or API key. Source: CoinGecko /search/trending + /coins/markets, DexScreener /token-boosts/latest/v1.","operationId":"x402_intelDexTrending","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"tokens":{"type":"array","items":{"type":"object","properties":{"baseToken":{"type":"object","properties":{"address":{"type":"string","description":"CoinGecko id"},"name":{"type":"string"},"symbol":{"type":"string"}},"required":["address","name","symbol"]},"chainId":{"type":"string"},"dexId":{"type":"string","description":"'coingecko'"},"fdv":{"type":"number"},"liquidity":{"type":"object","properties":{"usd":{"type":"number"}},"required":["usd"]},"pairAddress":{"type":"string"},"pairCreatedAt":{"type":["integer","null"]},"priceChange":{"type":"object","properties":{"m5":{"type":"number"},"h1":{"type":"number"},"h6":{"type":"number"},"h24":{"type":"number"}},"required":["m5","h1","h6","h24"]},"priceUsd":{"type":"string"},"quoteToken":{"type":"object","properties":{"symbol":{"type":"string"}}},"score":{"type":"number"},"source":{"type":"string"},"thumb":{"type":"string"},"txns":{"type":"object","properties":{"h24":{"type":"object","properties":{"buys":{"type":"integer"},"sells":{"type":"integer"}}}}},"url":{"type":"string"},"volume":{"type":"object","properties":{"h24":{"type":"number"}},"required":["h24"]},"isTrending":{"type":"boolean"},"isNew":{"type":"boolean"},"signal":{"type":"string","enum":["PARABOLIC","HOT","RISING","DUMPING","STABLE"]}},"required":["baseToken","chainId","dexId","fdv","liquidity","pairAddress","priceChange","priceUsd","score","source","url","volume"]},"description":"Up to 50; trending first, then by signal, then volume"},"chainStats":{"type":"object","properties":{},"additionalProperties":{"type":"object","properties":{"count":{"type":"integer"},"hotCount":{"type":"integer"},"newCount":{"type":"integer"},"totalVolume":{"type":"number"}}},"description":"Keyed by ethereum|solana|bsc|base|polygon|arbitrum|avalanche|optimism"},"summary":{"type":"object","properties":{"totalTokens":{"type":"integer"},"hotCount":{"type":"integer"},"parabolicCount":{"type":"integer"},"dumpingCount":{"type":"integer"},"newCount":{"type":"integer"}},"required":["totalTokens","hotCount","parabolicCount","dumpingCount","newCount"]},"timestamp":{"type":"string","description":"ISO timestamp"},"unavailable":{"type":"boolean","description":"Present (true) only on failure fallback"}},"required":["tokens","chainStats","summary","timestamp"]}}},"description":"Trending tokens on DEXes"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Trending tokens on DEXes","tags":["Intel (paid duplicate)"],"x-input-schema":{"type":"object","properties":{},"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/intel/dex-volume":{"get":{"description":"24h and 7d volume for top decentralized exchanges. Paid duplicate of /api/intel/dex-volume; same handler, paid per call instead of a session or API key. Source: DeFiLlama /overview/dexs.","operationId":"x402_intelDexVolume","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"dexes":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"displayName":{"type":"string"},"category":{"type":"string"},"chains":{"type":"array","items":{"type":"string"}},"logo":{"type":["string","null"]},"dailyVolume":{"type":"number"},"totalVolume":{"type":"number"},"change1d":{"type":"number"},"change7d":{"type":"number"},"change1m":{"type":"number"}},"required":["name","displayName","category","chains","logo","dailyVolume","totalVolume","change1d","change7d","change1m"]},"description":"Top 30 by dailyVolume"},"chainRanking":{"type":"array","items":{"type":"object","properties":{"chain":{"type":"string"},"dexCount":{"type":"integer"},"volume":{"type":"number","description":"Daily USD, split evenly across each DEX chains"}},"required":["chain","dexCount","volume"]},"description":"Top 15 chains by volume"},"focusedChains":{"type":"array","items":{"type":"object","properties":{"chain":{"type":"string"},"dexCount":{"type":"integer"},"volume":{"type":"number","description":"Daily USD, split evenly across each DEX chains"}},"required":["chain","dexCount","volume"]},"description":"chainRanking filtered to major chains"},"summary":{"type":"object","properties":{"dexCount":{"type":"integer"},"topChain":{"type":["string","null"]},"topDex":{"type":["string","null"]},"topDexVolume":{"type":"number"},"totalDailyVolume":{"type":"number"}},"required":["dexCount","topChain","topDex","topDexVolume","totalDailyVolume"]},"timestamp":{"type":"string","description":"ISO timestamp"},"unavailable":{"type":"boolean"}},"required":["dexes","chainRanking","focusedChains","summary","timestamp"]}}},"description":"DEX trading volume"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"DEX trading volume","tags":["Intel (paid duplicate)"],"x-input-schema":{"type":"object","properties":{},"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/intel/etf-flows":{"get":{"description":"Daily inflow/outflow data for spot Bitcoin ETFs (BlackRock, Fidelity, ARK, etc.). Paid duplicate of /api/intel/etf-flows; same handler, paid per call instead of a session or API key. Source: Yahoo Finance v8 chart (5d/1d) for 10 BTC spot ETFs.","operationId":"x402_intelEtfFlows","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"etfs":{"type":"array","items":{"type":"object","properties":{"ticker":{"type":"string","description":"IBIT, FBTC, ARKB, BITB, GBTC, HODL, BRRR, EZBC, BTCO, BTCW"},"issuer":{"type":"string"},"price":{"type":"number"},"priceChange":{"type":"number","description":"% day over day"},"volume":{"type":"number"},"avgVolume":{"type":"integer"},"volumeRatio":{"type":"number"},"estFlow":{"type":"integer","description":"Estimated USD flow (heuristic)"},"direction":{"type":"string","enum":["inflow","outflow","neutral"]}},"required":["ticker","issuer","price","priceChange","volume","avgVolume","volumeRatio","estFlow","direction"]},"description":"Sorted by volume desc"},"summary":{"type":"object","properties":{"etfCount":{"type":"integer"},"inflowCount":{"type":"integer"},"outflowCount":{"type":"integer"},"totalEstFlow":{"type":"number"},"totalVolume":{"type":"number"},"netDirection":{"type":"string","enum":["NET INFLOW","NET OUTFLOW","NEUTRAL","UNAVAILABLE"]}},"required":["etfCount","inflowCount","outflowCount","totalEstFlow","totalVolume","netDirection"]},"timestamp":{"type":"string","description":"ISO timestamp"},"unavailable":{"type":"boolean"}},"required":["etfs","summary","timestamp"]}}},"description":"Bitcoin ETF fund flows"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Bitcoin ETF fund flows","tags":["Intel (paid duplicate)"],"x-input-schema":{"type":"object","properties":{},"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/intel/exchange-flow":{"get":{"description":"Net BTC and ETH flows into and out of major centralized exchanges. Paid duplicate of /api/intel/exchange-flow; same handler, paid per call instead of a session or API key. Source: Binance Futures (premiumIndex, openInterestHist, topLongShortAccountRatio, allForceOrders) + Yahoo Finance IBIT.","operationId":"x402_intelExchangeFlow","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"flows":{"type":"array","items":{"type":"object","properties":{"symbol":{"type":"string","description":"BTC, ETH, SOL, DOGE, XRP, ARB, AVAX, LINK, BNB, SUI"},"score":{"type":"integer","description":"-100..100"},"direction":{"type":"string","enum":["INFLOW","OUTFLOW","NEUTRAL"]},"label":{"type":"string","enum":["Net Accumulation","Net Distribution","Neutral"]},"signals":{"type":"object","properties":{"fundingRate":{"type":"number","description":"%"},"oiChangePct":{"type":"number","description":"1h OI change %"},"oiValue":{"type":"number","description":"USD"},"longShortRatio":{"type":"number"},"netLiquidation":{"type":"integer","description":"Short minus long liquidation USD"},"etfFlow":{"type":"string","enum":["INFLOW","OUTFLOW","NEUTRAL"],"description":"BTC/ETH only"}}}},"required":["symbol","score","direction","label","signals"]},"description":"Sorted by |score| desc"},"summary":{"type":"object","properties":{"avgScore":{"type":"integer"},"inflows":{"type":"integer"},"outflows":{"type":"integer"},"neutral":{"type":"integer"},"marketDirection":{"type":"string","enum":["ACCUMULATION","DISTRIBUTION","MIXED"]}},"required":["avgScore","inflows","outflows","neutral","marketDirection"]},"timestamp":{"type":"string","description":"ISO timestamp"},"unavailable":{"type":"boolean"}},"required":["flows","summary","timestamp"]}}},"description":"Exchange inflow/outflow"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Exchange inflow/outflow","tags":["Intel (paid duplicate)"],"x-input-schema":{"type":"object","properties":{},"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/intel/fear-greed":{"get":{"description":"Current and historical Fear & Greed Index from Alternative.me (0 = Extreme Fear, 100 = Extreme Greed). Paid duplicate of /api/intel/fear-greed; same handler, paid per call instead of a session or API key. Source: alternative.me /fng.","operationId":"x402_intelFearGreed","parameters":[{"in":"query","name":"limit","required":false,"schema":{"type":"integer","default":1,"minimum":1,"maximum":30,"description":"Number of daily data points"},"description":"Number of daily data points"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"data":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string","description":"0-100 as string"},"value_classification":{"type":"string","description":"Extreme Fear|Fear|Neutral|Greed|Extreme Greed"},"timestamp":{"type":"string","description":"Unix seconds as string"},"time_until_update":{"type":"string"}},"required":["value","value_classification","timestamp"]}},"metadata":{"type":"object","properties":{"error":{"type":["string","null"]}}}},"required":["data"]}}},"description":"Crypto Fear & Greed Index"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Crypto Fear & Greed Index","tags":["Intel (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"limit":{"type":"integer","default":1,"minimum":1,"maximum":30,"description":"Number of daily data points"}},"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/intel/funding-rates":{"get":{"description":"Current funding rates from Binance and Hyperliquid for BTC, ETH, SOL, and 9 other major pairs. Includes sentiment classification (OVERLEVERAGED LONG/SHORT/NEUTRAL). Paid duplicate of /api/intel/funding-rates; same handler, paid per call instead of a session or API key. Source: Binance Futures premiumIndex + Hyperliquid metaAndAssetCtxs.","operationId":"x402_intelFundingRates","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"rates":{"type":"array","items":{"type":"object","properties":{"symbol":{"type":"string"},"avgFunding":{"type":"number","description":"% averaged across exchanges"},"level":{"type":"string","enum":["EXTREME","HIGH","MODERATE","NORMAL"]},"exchanges":{"type":"object","properties":{},"description":"Keyed by Binance|Hyperliquid","additionalProperties":{"type":"object","properties":{"fundingRate":{"type":"number","description":"%"},"level":{"type":"string"},"markPrice":{"type":"number"}},"required":["fundingRate","level","markPrice"]}}},"required":["symbol","avgFunding","level","exchanges"]},"description":"Sorted by |avgFunding| desc"},"summary":{"type":"object","properties":{"avgFunding":{"type":"number"},"extremeCount":{"type":"integer"},"sentiment":{"type":"string","enum":["OVERLEVERAGED LONG","OVERLEVERAGED SHORT","NEUTRAL","UNKNOWN"]},"sourceCount":{"type":"integer"}},"required":["avgFunding","extremeCount","sentiment","sourceCount"]},"timestamp":{"type":"string","description":"ISO timestamp"},"unavailable":{"type":"boolean"}},"required":["rates","summary","timestamp"]}}},"description":"Perpetual futures funding rates"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Perpetual futures funding rates","tags":["Intel (paid duplicate)"],"x-input-schema":{"type":"object","properties":{},"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/intel/gas-tracker":{"get":{"description":"Ethereum gas prices (slow, standard, fast, rapid) in Gwei from multiple sources. Paid duplicate of /api/intel/gas-tracker; same handler, paid per call instead of a session or API key. Source: Etherscan v2 gastracker/gasoracle (chainid=1).","operationId":"x402_intelGasTracker","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","description":"'1' on success"},"message":{"type":"string"},"result":{"type":"object","properties":{"LastBlock":{"type":"string"},"SafeGasPrice":{"type":"string","description":"gwei"},"ProposeGasPrice":{"type":"string","description":"gwei"},"FastGasPrice":{"type":"string","description":"gwei"},"suggestBaseFee":{"type":"string","description":"gwei"},"gasUsedRatio":{"type":"string","description":"Comma-separated ratios"}},"additionalProperties":true}},"required":["result"]}}},"description":"Real-time gas prices"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Real-time gas prices","tags":["Intel (paid duplicate)"],"x-input-schema":{"type":"object","properties":{},"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/intel/github-trending":{"get":{"description":"Most starred blockchain and DeFi repositories trending today on GitHub. Paid duplicate of /api/intel/github-trending; same handler, paid per call instead of a session or API key. Source: GitHub trending HTML page (github.com/trending, scraped).","operationId":"x402_intelGithubTrending","parameters":[{"in":"query","name":"language","required":false,"schema":{"type":"string","description":"GitHub language slug filter; empty = all languages","default":""},"description":"GitHub language slug filter; empty = all languages"},{"in":"query","name":"since","required":false,"schema":{"type":"string","description":"Trending window","enum":["daily","weekly","monthly"],"default":"daily"},"description":"Trending window"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"array","description":"Trending repositories; empty array if upstream fails","items":{"type":"object","properties":{"author":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"stars":{"type":"integer"},"forks":{"type":"integer"},"language":{"type":"string","description":"Empty string if absent"},"todayStars":{"type":"integer","description":"Stars gained in the period (parsed from \"N stars today\")"},"url":{"type":"string","description":"https://github.com/{author}/{name}"}},"required":["author","name","description","stars","forks","language","todayStars","url"]}}}},"description":"Trending GitHub repositories"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Trending GitHub repositories","tags":["Intel (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"language":{"type":"string","description":"GitHub language slug filter; empty = all languages","default":""},"since":{"type":"string","description":"Trending window","enum":["daily","weekly","monthly"],"default":"daily"}},"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/intel/hackernews":{"get":{"description":"Top and new stories from Hacker News, optionally filtered for crypto/DeFi relevance. Paid duplicate of /api/intel/hackernews; same handler, paid per call instead of a session or API key. Source: Hacker News Firebase API /v0/{type}stories + /v0/item/{id}.","operationId":"x402_intelHackernews","parameters":[{"in":"query","name":"type","required":false,"schema":{"type":"string","description":"Story list","enum":["top","best","new"],"default":"top"},"description":"Story list"},{"in":"query","name":"limit","required":false,"schema":{"type":"integer","description":"Number of stories (clamped)","default":30,"minimum":1,"maximum":50},"description":"Number of stories (clamped)"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"array","description":"Stories in ranking order; empty array on upstream failure","items":{"type":"object","properties":{"by":{"type":"string"},"descendants":{"type":"integer","description":"Comment count"},"id":{"type":"integer"},"score":{"type":"integer"},"time":{"type":"integer","description":"Unix seconds"},"title":{"type":"string"},"url":{"type":"string","description":"Empty for text posts"}},"required":["by","descendants","id","score","time","title","url"]}}}},"description":"Hacker News top stories"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Hacker News top stories","tags":["Intel (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"type":{"type":"string","description":"Story list","enum":["top","best","new"],"default":"top"},"limit":{"type":"integer","description":"Number of stories (clamped)","default":30,"minimum":1,"maximum":50}},"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/intel/liquidations":{"get":{"description":"Aggregated liquidation volume by asset in the last 24 hours. Paid duplicate of /api/intel/liquidations; same handler, paid per call instead of a session or API key. Source: Binance Futures allForceOrders, Bybit V5 recent-trade, OKX liquidation-orders (or LIQUIDATION_COLLECTOR_URL service).","operationId":"x402_intelLiquidations","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"liquidations":{"type":"array","description":"Up to 50 most recent liquidations in the last 4h, newest first","items":{"type":"object","properties":{"exchange":{"type":"string","description":"Binance | Bybit | OKX"},"price":{"type":"number"},"qty":{"type":"number","description":"Base-asset quantity"},"severity":{"type":"string","enum":["MEGA","LARGE","MEDIUM","SMALL"]},"side":{"type":"string","description":"Liquidated position side","enum":["LONG","SHORT"]},"symbol":{"type":"string","description":"Base symbol, e.g. BTC"},"time":{"type":"integer","description":"Unix ms"},"value":{"type":"number","description":"USD notional"}},"required":["exchange","price","qty","severity","side","symbol","time","value"]}},"summary":{"type":"object","properties":{"dominantSide":{"type":"string","enum":["LONG PAIN","SHORT SQUEEZE","BALANCED","UNKNOWN"]},"largeCount":{"type":"integer"},"longCount":{"type":"integer"},"longValue":{"type":"number"},"megaCount":{"type":"integer"},"shortCount":{"type":"integer"},"shortValue":{"type":"number"},"totalCount":{"type":"integer"},"totalValue":{"type":"number"}},"required":["dominantSide","largeCount","longCount","longValue","megaCount","shortCount","shortValue","totalCount","totalValue"]},"symbolStats":{"type":"array","description":"Per-symbol totals sorted by total value desc","items":{"type":"object","properties":{"count":{"type":"integer"},"longValue":{"type":"number"},"shortValue":{"type":"number"},"symbol":{"type":"string"}},"required":["count","longValue","shortValue","symbol"]}},"timestamp":{"type":"string","description":"ISO 8601"},"unavailable":{"type":"boolean","description":"true when all upstreams failed (fallback payload)"}},"required":["liquidations","summary","symbolStats","timestamp"]}}},"description":"Recent liquidation events"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Recent liquidation events","tags":["Intel (paid duplicate)"],"x-input-schema":{"type":"object","properties":{},"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/intel/long-short-ratio":{"get":{"description":"Aggregated long vs short positioning for major assets on Binance futures. Paid duplicate of /api/intel/long-short-ratio; same handler, paid per call instead of a session or API key. Source: Binance Futures topLongShortAccountRatio/globalLongShortAccountRatio, Bybit V5 account-ratio fallback.","operationId":"x402_intelLongShortRatio","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"entries":{"type":"array","description":"Sorted by distance of ratio from 1","items":{"type":"object","properties":{"global":{"type":["object","null"],"description":"Binance global account ratio (only BTC, ETH, SOL, DOGE, XRP), else null","properties":{"longPct":{"type":"integer"},"ratio":{"type":"number"},"shortPct":{"type":"integer"}}},"sentiment":{"type":"string","enum":["EXTREME LONG","BULLISH","NEUTRAL","BEARISH","EXTREME SHORT"]},"symbol":{"type":"string"},"topTrader":{"type":"object","properties":{"change":{"type":"number","description":"Ratio change vs previous 1h"},"longPct":{"type":"integer"},"ratio":{"type":"number"},"shortPct":{"type":"integer"}},"required":["change","longPct","ratio","shortPct"]}},"required":["global","sentiment","symbol","topTrader"]}},"summary":{"type":"object","properties":{"avgRatio":{"type":"number"},"bearishCount":{"type":"integer"},"bullishCount":{"type":"integer"},"extremeCount":{"type":"integer"},"marketSentiment":{"type":"string","description":"Sentiment class or UNKNOWN on failure"}},"required":["avgRatio","bearishCount","bullishCount","extremeCount","marketSentiment"]},"timestamp":{"type":"string","description":"ISO 8601"},"unavailable":{"type":"boolean","description":"true on fallback payload"}},"required":["entries","summary","timestamp"]}}},"description":"Long/short ratio"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Long/short ratio","tags":["Intel (paid duplicate)"],"x-input-schema":{"type":"object","properties":{},"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/intel/macro-dashboard":{"get":{"description":"Key macro indicators: DXY, S&P 500, 10Y Treasury yield, gold, and oil prices. Paid duplicate of /api/intel/macro-dashboard; same handler, paid per call instead of a session or API key. Source: cryptocurrency.cv /api/macro + /api/macro/correlations.","operationId":"x402_intelMacroDashboard","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"correlations":{"type":"array","items":{"type":"object","properties":{"correlation30d":{"type":"number"},"correlation90d":{"type":"number"},"pair":{"type":"string"},"pValue30d":{"type":"number"},"pValue90d":{"type":"number"},"updatedAt":{"type":"string"}},"required":["correlation30d","correlation90d","pair"]}},"indicators":{"type":"array","items":{"type":"object","properties":{"change":{"type":["number","null"]},"changePercent":{"type":["number","null"]},"id":{"type":"string"},"name":{"type":"string"},"previousValue":{"type":["number","null"]},"source":{"type":"string"},"timestamp":{"type":"string"},"unit":{"type":"string"},"value":{"type":"number"}},"required":["id","name","value"]}},"riskAppetite":{"type":["object","null"],"properties":{"label":{"type":"string"},"score":{"type":"number"}}},"timestamp":{"type":"string","description":"ISO 8601"}},"required":["correlations","indicators","riskAppetite","timestamp"]}}},"description":"Macro economic dashboard"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Macro economic dashboard","tags":["Intel (paid duplicate)"],"x-input-schema":{"type":"object","properties":{},"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/intel/macro-signals":{"get":{"description":"AI-interpreted macro signals — risk-on vs risk-off regime, correlation shifts, and catalyst events. Paid duplicate of /api/intel/macro-signals; same handler, paid per call instead of a session or API key. Source: Yahoo Finance v8 chart (JPY=X, BTC-USD, QQQ, XLP), Alternative.me FNG, mempool.space hashrate.","operationId":"x402_intelMacroSignals","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"bullishCount":{"type":"integer"},"totalCount":{"type":"integer","description":"Signals with non-UNKNOWN status"},"verdict":{"type":"string","description":"BUY if >=57% bullish, else CASH","enum":["BUY","CASH","UNKNOWN"]},"meta":{"type":"object","properties":{"qqqSparkline":{"type":"array","description":"Last 30 QQQ daily closes","items":{"type":"number"}}},"required":["qqqSparkline"]},"signals":{"type":"object","properties":{"fearGreed":{"type":"object","properties":{"history":{"type":"array","description":"Up to 30 days, oldest first","items":{"type":"object","properties":{"date":{"type":"string","description":"YYYY-MM-DD"},"value":{"type":"integer"}},"required":["date","value"]}},"status":{"type":"string","description":"Alternative.me classification or UNKNOWN"},"value":{"type":["integer","null"]}},"required":["history","status","value"]},"flowStructure":{"type":"object","properties":{"btcReturn5":{"type":["number","null"],"description":"BTC 5d return %"},"qqqReturn5":{"type":["number","null"],"description":"QQQ 5d return %"},"status":{"type":"string","enum":["PASSIVE GAP","ALIGNED","UNKNOWN"]}},"required":["btcReturn5","qqqReturn5","status"]},"hashRate":{"type":"object","properties":{"change30d":{"type":["number","null"],"description":"% change over 1 month"},"status":{"type":"string","enum":["GROWING","DECLINING","STABLE","UNKNOWN"]}},"required":["change30d","status"]},"liquidity":{"type":"object","properties":{"sparkline":{"type":"array","description":"Last 30 USD/JPY closes","items":{"type":"number"}},"status":{"type":"string","enum":["SQUEEZE","NORMAL","UNKNOWN"]},"value":{"type":["number","null"],"description":"USD/JPY 30d ROC %"}},"required":["sparkline","status","value"]},"macroRegime":{"type":"object","properties":{"qqqRoc20":{"type":["number","null"]},"status":{"type":"string","enum":["RISK-ON","DEFENSIVE","UNKNOWN"]},"xlpRoc20":{"type":["number","null"]}},"required":["qqqRoc20","status","xlpRoc20"]},"miningCost":{"type":"object","properties":{"status":{"type":"string","enum":["PROFITABLE","TIGHT","SQUEEZE","UNKNOWN"]}},"required":["status"]},"technicalTrend":{"type":"object","properties":{"btcPrice":{"type":["number","null"]},"mayerMultiple":{"type":["number","null"],"description":"Price / SMA200"},"sma200":{"type":["number","null"]},"sma50":{"type":["number","null"]},"sparkline":{"type":"array","description":"Last 30 BTC closes","items":{"type":"number"}},"status":{"type":"string","enum":["BULLISH","BEARISH","NEUTRAL","UNKNOWN"]},"vwap30d":{"type":["number","null"]}},"required":["btcPrice","mayerMultiple","sma200","sma50","sparkline","status","vwap30d"]}},"required":["fearGreed","flowStructure","hashRate","liquidity","macroRegime","miningCost","technicalTrend"]},"timestamp":{"type":"string","description":"ISO 8601"},"unavailable":{"type":"boolean","description":"true on fallback payload"}},"required":["bullishCount","meta","signals","timestamp","totalCount","verdict"]}}},"description":"Macro trading signals"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Macro trading signals","tags":["Intel (paid duplicate)"],"x-input-schema":{"type":"object","properties":{},"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/intel/market-intelligence":{"get":{"description":"Combined dashboard of key market signals: price momentum, volume anomalies, protocol activity, and risk indicators. Paid duplicate of /api/intel/market-intelligence; same handler, paid per call instead of a session or API key. Source: cryptocurrency.cv (/api/signals, whale-alerts, narratives, anomalies, sentiment, market/fear-greed) + CoinGecko /global + DefiLlama /protocols.","operationId":"x402_intelMarketIntelligence","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"anomalies":{"type":"array","description":"Up to 10","items":{"type":"object","properties":{"asset":{"type":"string"},"description":{"type":"string"},"detectedAt":{"type":"string"},"id":{"type":"string"},"severity":{"type":"string","enum":["critical","high","medium","low"]},"type":{"type":"string"}},"required":["asset","description","detectedAt","id","severity","type"]}},"chainActivity":{"type":"array","description":"Top 5 chains; absent if DefiLlama fails","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"txCount24h":{"type":"integer","description":"Proxy: aggregated DefiLlama TVL/1000, not real tx count"}},"required":["id","name","txCount24h"]}},"defiPulse":{"type":"array","description":"Top 10 protocols (TVL>=$10M) by |1d change|; absent if DefiLlama fails","items":{"type":"object","properties":{"change24h":{"type":"number"},"id":{"type":"string"},"name":{"type":"string"},"tvl":{"type":"number"}},"required":["change24h","id","name","tvl"]}},"lastUpdated":{"type":"string","description":"ISO 8601"},"narratives":{"type":"array","description":"Up to 10","items":{"type":"object","properties":{"coins":{"type":"array","items":{"type":"string"}},"description":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"score":{"type":"number"},"trend":{"type":"string","enum":["rising","falling","stable"]},"weekChange":{"type":"number"}},"required":["coins","description","id","name","score","trend","weekChange"]}},"regime":{"type":"object","description":"Absent if CoinGecko /global fails","properties":{"btcDominance":{"type":"number"},"btcDominanceTrend":{"type":"string","enum":["rising","falling","stable"]},"ethBtcRatio":{"type":"number","description":"ETH dominance / BTC dominance"},"explanation":{"type":"string"},"marketCapChange7d":{"type":"number","description":"Estimated as 24h change x 3.5"},"regime":{"type":"string","enum":["bull","bear","sideways"]},"signals":{"type":"array","items":{"type":"string"}}},"required":["btcDominance","btcDominanceTrend","ethBtcRatio","explanation","marketCapChange7d","regime","signals"]},"sentiment":{"type":"object","properties":{"newsScore":{"type":"number"},"onChainScore":{"type":"number"},"overallScore":{"type":"number"},"socialScore":{"type":"number"},"technicalScore":{"type":"number"}},"required":["newsScore","onChainScore","overallScore","socialScore","technicalScore"]},"signals":{"type":"array","description":"Up to 20","items":{"type":"object","properties":{"coins":{"type":"array","items":{"type":"string"}},"confidence":{"type":"number"},"description":{"type":"string"},"id":{"type":"string"},"source":{"type":"string"},"timestamp":{"type":"string"},"title":{"type":"string"},"type":{"type":"string","enum":["bullish","bearish","neutral"]}},"required":["coins","confidence","description","id","source","timestamp","title","type"]}},"whaleAlerts":{"type":"array","description":"Up to 10","items":{"type":"object","properties":{"amount":{"type":"number"},"coin":{"type":"string"},"from":{"type":"string"},"id":{"type":"string"},"symbol":{"type":"string"},"timestamp":{"type":"string"},"to":{"type":"string"},"type":{"type":"string","enum":["exchange_inflow","exchange_outflow","whale_transfer"]},"valueUsd":{"type":"number"}},"required":["amount","coin","from","id","symbol","timestamp","to","type","valueUsd"]}}},"required":["anomalies","lastUpdated","narratives","sentiment","signals","whaleAlerts"]}}},"description":"Aggregated market intelligence"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Aggregated market intelligence","tags":["Intel (paid duplicate)"],"x-input-schema":{"type":"object","properties":{},"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.02","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"heavy"}},"/api/x402/intel/open-interest":{"get":{"description":"Total open interest and changes for major assets across centralized and decentralized venues. Paid duplicate of /api/intel/open-interest; same handler, paid per call instead of a session or API key. Source: Binance Futures /fapi/v1/ticker/24hr + openInterestHist, Hyperliquid info metaAndAssetCtxs.","operationId":"x402_intelOpenInterest","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"entries":{"type":"array","description":"Sorted by totalOiValue desc","items":{"type":"object","properties":{"changePct":{"type":"number","description":"Binance 24h OI change %, 0 if unknown"},"exchanges":{"type":"object","description":"Keyed by exchange name","properties":{"Binance":{"type":"object","properties":{"changePct":{"type":["number","null"],"description":"24h OI value change % (Binance only)"},"markPrice":{"type":"number"},"oiValue":{"type":"number","description":"USD notional"},"openInterest":{"type":"number","description":"Base-asset contracts"}},"required":["openInterest"]},"Hyperliquid":{"type":"object","properties":{"changePct":{"type":["number","null"],"description":"24h OI value change % (Binance only)"},"markPrice":{"type":"number"},"oiValue":{"type":"number","description":"USD notional"},"openInterest":{"type":"number","description":"Base-asset contracts"}},"required":["openInterest"]}}},"signal":{"type":"string","enum":["SURGING","RISING","STABLE","DECLINING","COLLAPSING"]},"symbol":{"type":"string"},"totalOiValue":{"type":"number","description":"USD"}},"required":["changePct","exchanges","signal","symbol","totalOiValue"]}},"summary":{"type":"object","properties":{"btcDominance":{"type":"integer","description":"BTC share of total OI, %"},"decliningCount":{"type":"integer"},"entryCount":{"type":"integer"},"surgingCount":{"type":"integer"},"totalOI":{"type":"number","description":"USD"}},"required":["btcDominance","decliningCount","entryCount","surgingCount","totalOI"]},"timestamp":{"type":"string","description":"ISO 8601"},"unavailable":{"type":"boolean"}},"required":["entries","summary","timestamp"]}}},"description":"Crypto perpetuals open interest"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Crypto perpetuals open interest","tags":["Intel (paid duplicate)"],"x-input-schema":{"type":"object","properties":{},"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/intel/options-overview":{"get":{"description":"Put/call ratio, max pain, IV surface, and notable strikes for BTC and ETH options. Paid duplicate of /api/intel/options-overview; same handler, paid per call instead of a session or API key. Source: Deribit public/get_book_summary_by_currency (kind=option).","operationId":"x402_intelOptionsOverview","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"currencies":{"type":"array","description":"BTC then ETH; empty on failure","items":{"type":"object","properties":{"callOI":{"type":"number"},"currency":{"type":"string","enum":["BTC","ETH"]},"maxPain":{"type":["number","null"],"description":"Max-pain strike"},"putCallRatio":{"type":["number","null"],"description":"putOI/callOI rounded to 2dp"},"putOI":{"type":"number"},"totalOI":{"type":"number"}},"required":["callOI","currency","maxPain","putCallRatio","putOI","totalOI"]}},"timestamp":{"type":"string","description":"ISO 8601"},"unavailable":{"type":"boolean"}},"required":["currencies","timestamp"]}}},"description":"Crypto options market overview"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Crypto options market overview","tags":["Intel (paid duplicate)"],"x-input-schema":{"type":"object","properties":{},"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/intel/polymarket":{"get":{"description":"Top prediction market contracts and probabilities from Polymarket. Paid duplicate of /api/intel/polymarket; same handler, paid per call instead of a session or API key. Source: Polymarket Gamma API /markets or /events.","operationId":"x402_intelPolymarket","parameters":[{"in":"query","name":"endpoint","required":false,"schema":{"type":"string","description":"Gamma resource; anything other than events maps to markets","enum":["markets","events"],"default":"markets"},"description":"Gamma resource; anything other than events maps to markets"},{"in":"query","name":"order","required":false,"schema":{"type":"string","description":"Sort field (invalid values fall back to volume)","enum":["volume","liquidity","startDate","endDate","spread"],"default":"volume"},"description":"Sort field (invalid values fall back to volume)"},{"in":"query","name":"limit","required":false,"schema":{"type":"integer","description":"Clamped","default":50,"minimum":1,"maximum":100},"description":"Clamped"},{"in":"query","name":"closed","required":false,"schema":{"type":"boolean","description":"Include closed markets","default":false},"description":"Include closed markets"},{"in":"query","name":"ascending","required":false,"schema":{"type":"boolean","default":false}},{"in":"query","name":"tag","required":false,"schema":{"type":"string","description":"Tag slug, events only; sanitized to [a-z0-9-], max 100 chars","maxLength":100},"description":"Tag slug, events only; sanitized to [a-z0-9-], max 100 chars"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"array","description":"Upstream JSON array passed through; [] if Gamma fails","items":{"type":"object","description":"Raw Gamma market (endpoint=markets: id, question, slug, conditionId, outcomes, outcomePrices, volume, liquidity, endDate, active, closed, ...) or event (endpoint=events: id, slug, title, description, markets[], volume, liquidity, startDate, endDate, tags[], ...) object, passed through verbatim","properties":{"id":{"type":"string"},"slug":{"type":"string"},"question":{"type":"string","description":"Markets only"},"title":{"type":"string","description":"Events only"},"outcomes":{"type":"string","description":"Markets: JSON-encoded string array"},"outcomePrices":{"type":"string","description":"Markets: JSON-encoded string array"},"volume":{"type":["string","number"]},"liquidity":{"type":["string","number"]},"endDate":{"type":"string"},"active":{"type":"boolean"},"closed":{"type":"boolean"},"markets":{"type":"array","description":"Events only","items":{"type":"object","additionalProperties":true}}},"additionalProperties":true}}}},"description":"Polymarket prediction markets"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Polymarket prediction markets","tags":["Intel (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"endpoint":{"type":"string","description":"Gamma resource; anything other than events maps to markets","enum":["markets","events"],"default":"markets"},"order":{"type":"string","description":"Sort field (invalid values fall back to volume)","enum":["volume","liquidity","startDate","endDate","spread"],"default":"volume"},"limit":{"type":"integer","description":"Clamped","default":50,"minimum":1,"maximum":100},"closed":{"type":"boolean","description":"Include closed markets","default":false},"ascending":{"type":"boolean","default":false},"tag":{"type":"string","description":"Tag slug, events only; sanitized to [a-z0-9-], max 100 chars","maxLength":100}},"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/intel/protocol-revenue":{"get":{"description":"Revenue (fees retained by protocol) vs total fees generated, sorted by 30d revenue. Paid duplicate of /api/intel/protocol-revenue; same handler, paid per call instead of a session or API key. Source: DefiLlama /overview/fees (dailyFees + dataType=dailyRevenue).","operationId":"x402_intelProtocolRevenue","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"type":"array","description":"All protocols with daily revenue > 0, sorted by dailyRevenue desc; [] on upstream failure","items":{"type":"object","properties":{"category":{"type":["string","null"]},"chains":{"type":"array","items":{"type":"string"}},"dailyFees":{"type":"number","description":"USD, 24h"},"dailyRevenue":{"type":"number","description":"USD, 24h (always > 0)"},"displayName":{"type":"string"},"logo":{"type":["string","null"]},"name":{"type":"string"},"totalAllTime":{"type":"number","description":"All-time fees USD"}},"required":["category","chains","dailyFees","dailyRevenue","displayName","logo","name","totalAllTime"]}}}},"description":"Protocol revenue breakdown"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Protocol revenue breakdown","tags":["Intel (paid duplicate)"],"x-input-schema":{"type":"object","properties":{},"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/intel/sentiment-agent":{"get":{"description":"Aggregated sentiment score computed from social media, news, and on-chain signals. Paid duplicate of /api/intel/sentiment-agent; same handler, paid per call instead of a session or API key. Source: Alternative.me FNG + cryptocurrency.cv /api/intel + CoinGecko /coins/markets (top 20).","operationId":"x402_intelSentimentAgent","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"breakingNews":{"type":"array","description":"At most 3, from high-severity anomalies and keyword-matched narratives","items":{"type":"object","properties":{"affectedTokens":{"type":"array","items":{"type":"string"}},"category":{"type":"string","enum":["hack","regulatory","etf","listing","liquidation","macro","other"]},"detectedAt":{"type":"string"},"explanation":{"type":"string"},"headline":{"type":"string"},"id":{"type":"string"},"impact":{"type":"string","enum":["critical","high","medium"]},"source":{"type":"string"}},"required":["affectedTokens","category","detectedAt","explanation","headline","id","impact"]}},"lastUpdated":{"type":"string","description":"ISO 8601"},"market":{"type":"object","properties":{"change24h":{"type":"integer","description":"Score change vs previous day"},"fearGreedRaw":{"type":"number","description":"Fear & Greed 0-100"},"label":{"type":"string","enum":["Extreme Fear","Fear","Neutral","Greed","Extreme Greed"]},"lastUpdated":{"type":"string"},"newsScore":{"type":"number"},"score":{"type":"integer","description":"-100..100 from Fear & Greed","minimum":-100,"maximum":100},"socialScore":{"type":"number"},"technicalScore":{"type":"number"}},"required":["change24h","fearGreedRaw","label","lastUpdated","newsScore","score","socialScore","technicalScore"]},"narratives":{"type":"array","description":"Up to 6","items":{"type":"object","properties":{"coins":{"type":"array","items":{"type":"string"}},"headlines":{"type":"array","items":{"type":"string"}},"id":{"type":"string"},"score":{"type":"number"},"sentiment":{"type":"string","enum":["positive","negative","mixed"]},"title":{"type":"string"},"velocity":{"type":"string","enum":["rising","stable","declining"]}},"required":["coins","headlines","id","score","sentiment","title","velocity"]}},"tokens":{"type":"array","description":"Top 15 coins by market cap","items":{"type":"object","properties":{"change24h":{"type":"integer"},"image":{"type":"string"},"keyTopics":{"type":"array","items":{"type":"string"}},"name":{"type":"string"},"newsVolume":{"type":"integer","description":"Narratives mentioning the coin"},"price":{"type":"number"},"priceChange24h":{"type":"number"},"score":{"type":"integer","description":"-100..100"},"symbol":{"type":"string","description":"Lowercase CoinGecko symbol"}},"required":["change24h","keyTopics","name","newsVolume","score","symbol"]}}},"required":["breakingNews","lastUpdated","market","narratives","tokens"]}}},"description":"AI-powered market sentiment"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"AI-powered market sentiment","tags":["Intel (paid duplicate)"],"x-input-schema":{"type":"object","properties":{},"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/intel/service-status":{"get":{"description":"Operational status of major crypto exchanges, wallets, and infrastructure providers. Paid duplicate of /api/intel/service-status; same handler, paid per call instead of a session or API key. Source: Public status pages (Statuspage.io, incident.io, status.io, Instatus, GCP incidents.json, Azure RSS, Slack, Stripe).","operationId":"x402_intelServiceStatus","parameters":[{"in":"query","name":"category","required":false,"schema":{"type":"string","description":"Service category filter (an unrecognized value yields an empty service list)","enum":["all","cloud","dev","comm","ai","saas"],"default":"all"},"description":"Service category filter (an unrecognized value yields an empty service list)"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"services":{"type":"array","description":"~30 services, sorted outage, degraded, unknown, operational","items":{"type":"object","properties":{"category":{"type":"string","enum":["cloud","dev","comm","ai","saas"]},"description":{"type":"string","description":"Human-readable status text"},"id":{"type":"string","description":"e.g. aws, github, openai"},"name":{"type":"string"},"status":{"type":"string","enum":["operational","degraded","outage","unknown"]}},"required":["category","description","id","name","status"]}},"success":{"type":"boolean","const":true},"summary":{"type":"object","properties":{"degraded":{"type":"integer"},"operational":{"type":"integer"},"outage":{"type":"integer"},"unknown":{"type":"integer"}},"required":["operational","degraded","outage","unknown"]},"timestamp":{"type":"string","description":"ISO 8601"}},"required":["services","success","summary","timestamp"]}}},"description":"Crypto service status"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Crypto service status","tags":["Intel (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"category":{"type":"string","description":"Service category filter (an unrecognized value yields an empty service list)","enum":["all","cloud","dev","comm","ai","saas"],"default":"all"}},"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/intel/stablecoin-markets":{"get":{"description":"Per-chain supply and market cap for each major stablecoin. Paid duplicate of /api/intel/stablecoin-markets; same handler, paid per call instead of a session or API key. Source: DefiLlama stablecoins.llama.fi /stablecoins?includePrices=true.","operationId":"x402_intelStablecoinMarkets","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","description":"DefiLlama /stablecoins response passed through verbatim","properties":{"peggedAssets":{"type":"array","description":"DefiLlama pegged assets; [] on upstream failure","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"},"gecko_id":{"type":["string","null"]},"pegType":{"type":"string","description":"e.g. peggedUSD"},"pegMechanism":{"type":"string","description":"fiat-backed | crypto-backed | algorithmic"},"priceSource":{"type":["string","null"]},"price":{"type":["number","null"],"description":"Present because includePrices=true"},"circulating":{"type":"object","description":"Map of peg type (e.g. peggedUSD) to circulating amount","additionalProperties":{"type":"number"}},"circulatingPrevDay":{"type":"object","description":"Map of peg type (e.g. peggedUSD) to circulating amount","additionalProperties":{"type":"number"}},"circulatingPrevWeek":{"type":"object","description":"Map of peg type (e.g. peggedUSD) to circulating amount","additionalProperties":{"type":"number"}},"circulatingPrevMonth":{"type":"object","description":"Map of peg type (e.g. peggedUSD) to circulating amount","additionalProperties":{"type":"number"}},"chains":{"type":"array","items":{"type":"string"}},"chainCirculating":{"type":"object","description":"Per-chain {current, circulatingPrevDay, ...} blobs","additionalProperties":true}},"required":["id","name","symbol"],"additionalProperties":true}},"chains":{"type":"array","description":"Per-chain totals (upstream pass-through, absent on failure)","items":{"type":"object","additionalProperties":true}}},"required":["peggedAssets"],"additionalProperties":true}}},"description":"Stablecoin chain distribution"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Stablecoin chain distribution","tags":["Intel (paid duplicate)"],"x-input-schema":{"type":"object","properties":{},"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/intel/stablecoins-dashboard":{"get":{"description":"Market cap, peg status, and distribution for top stablecoins. Paid duplicate of /api/intel/stablecoins-dashboard; same handler, paid per call instead of a session or API key. Source: DefiLlama stablecoins.llama.fi /stablecoins?includePrices=true.","operationId":"x402_intelStablecoinsDashboard","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","description":"DefiLlama /stablecoins response passed through verbatim","properties":{"peggedAssets":{"type":"array","description":"DefiLlama pegged assets; [] on upstream failure","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"},"gecko_id":{"type":["string","null"]},"pegType":{"type":"string","description":"e.g. peggedUSD"},"pegMechanism":{"type":"string","description":"fiat-backed | crypto-backed | algorithmic"},"priceSource":{"type":["string","null"]},"price":{"type":["number","null"],"description":"Present because includePrices=true"},"circulating":{"type":"object","description":"Map of peg type (e.g. peggedUSD) to circulating amount","additionalProperties":{"type":"number"}},"circulatingPrevDay":{"type":"object","description":"Map of peg type (e.g. peggedUSD) to circulating amount","additionalProperties":{"type":"number"}},"circulatingPrevWeek":{"type":"object","description":"Map of peg type (e.g. peggedUSD) to circulating amount","additionalProperties":{"type":"number"}},"circulatingPrevMonth":{"type":"object","description":"Map of peg type (e.g. peggedUSD) to circulating amount","additionalProperties":{"type":"number"}},"chains":{"type":"array","items":{"type":"string"}},"chainCirculating":{"type":"object","description":"Per-chain {current, circulatingPrevDay, ...} blobs","additionalProperties":true}},"required":["id","name","symbol"],"additionalProperties":true}},"chains":{"type":"array","description":"Per-chain totals (upstream pass-through, absent on failure)","items":{"type":"object","additionalProperties":true}}},"required":["peggedAssets"],"additionalProperties":true}}},"description":"Stablecoin market overview"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Stablecoin market overview","tags":["Intel (paid duplicate)"],"x-input-schema":{"type":"object","properties":{},"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/intel/top-protocols":{"get":{"description":"Ranked list of DeFi protocols with TVL, change, category, and chain. Paid duplicate of /api/intel/top-protocols; same handler, paid per call instead of a session or API key. Source: DefiLlama /protocols.","operationId":"x402_intelTopProtocols","parameters":[{"in":"query","name":"limit","required":false,"schema":{"type":"integer","description":"Number of protocols (clamped)","default":100,"minimum":1,"maximum":200},"description":"Number of protocols (clamped)"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"protocols":{"type":"array","description":"Sorted by TVL desc","items":{"type":"object","properties":{"slug":{"type":"string"},"name":{"type":"string"},"logo":{"type":"string"},"category":{"type":"string"},"chains":{"type":"array","items":{"type":"string"}},"tvl":{"type":"number","description":"USD"},"change24h":{"type":["number","null"],"description":"% 1d TVL change"},"change7d":{"type":["number","null"],"description":"% 7d TVL change"},"mcap":{"type":["number","null"]}},"required":["slug","name","logo","category","chains","tvl","change24h","change7d","mcap"]}},"timestamp":{"type":"string","description":"ISO 8601"},"unavailable":{"type":"boolean","description":"true (with empty protocols) on upstream failure"}},"required":["protocols","timestamp"]}}},"description":"Top DeFi protocols by TVL"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Top DeFi protocols by TVL","tags":["Intel (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"limit":{"type":"integer","description":"Number of protocols (clamped)","default":100,"minimum":1,"maximum":200}},"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/intel/wallet-tracker":{"get":{"description":"Monitor activity from labeled whale wallets and smart money addresses. Paid duplicate of /api/intel/wallet-tracker; same handler, paid per call instead of a session or API key. Source: Etherscan v2 multichain API (txlist + tokentx) for eth/arb/bsc; Solana mainnet RPC getSignaturesForAddress for sol.","operationId":"x402_intelWalletTracker","parameters":[{"in":"query","name":"wallets","required":true,"schema":{"type":"string","description":"Comma-separated addresses, max 10 used (extras dropped); EVM 0x40-hex or Solana base58 per chain"},"description":"Comma-separated addresses, max 10 used (extras dropped); EVM 0x40-hex or Solana base58 per chain"},{"in":"query","name":"chain","required":false,"schema":{"type":"string","enum":["eth","arb","bsc","sol"],"default":"eth"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string","enum":["eth","arb","bsc","sol"]},"timestamp":{"type":"string","description":"ISO 8601"},"wallets":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"chain":{"type":"string"},"error":{"type":["string","null"],"description":"\"Failed to fetch transactions\" on per-wallet failure"},"label":{"type":"string","description":"Shortened address 0x1234...abcd"},"lastActive":{"type":["integer","null"],"description":"Unix ms of newest tx"},"transactions":{"type":"array","description":"Up to 20 recent, newest first","items":{"type":"object","properties":{"direction":{"type":"string","description":"Always unknown on Solana","enum":["in","out","unknown"]},"from":{"type":"string"},"gasUsed":{"type":"string","description":"EVM only"},"hash":{"type":"string","description":"Tx hash or Solana signature"},"isError":{"type":"boolean"},"method":{"type":"string","description":"Function name, transfer, contract, memo, or transaction"},"timestamp":{"type":"integer","description":"Unix ms"},"tokenAddress":{"type":"string","description":"ERC-20 contract when tx matched a token transfer"},"tokenAmount":{"type":"string","description":"Decimal string"},"tokenSymbol":{"type":"string"},"to":{"type":"string"},"value":{"type":"string","description":"Native amount, 6dp decimal string (0 on Solana)"}},"required":["direction","from","hash","isError","method","timestamp","to","value"]}}},"required":["address","chain","error","label","lastActive","transactions"]}}},"required":["chain","timestamp","wallets"]}}},"description":"Whale wallet tracker"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Whale wallet tracker","tags":["Intel (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"wallets":{"type":"string","description":"Comma-separated addresses, max 10 used (extras dropped); EVM 0x40-hex or Solana base58 per chain"},"chain":{"type":"string","enum":["eth","arb","bsc","sol"],"default":"eth"}},"required":["wallets"],"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/intel/whale-alerts":{"get":{"description":"Large Bitcoin transfers, on-chain stats (hash rate, mempool, fees), exchange flows, and notable wallet movements. Cached 2 minutes. Paid duplicate of /api/intel/whale-alerts; same handler, paid per call instead of a session or API key. Source: blockchain.info (ticker, stats, unconfirmed-transactions), mempool.space fees/recommended, CoinGecko /exchanges.","operationId":"x402_intelWhaleAlerts","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"alerts":{"type":"array","description":"Top 30 unconfirmed BTC txs by output value","items":{"type":"object","properties":{"amount":{"type":"number","description":"BTC, 4dp"},"coin":{"type":"string","const":"BTC"},"from":{"type":"string","description":"Truncated sender address"},"id":{"type":"string","description":"Tx hash"},"inputCount":{"type":"integer"},"outputCount":{"type":"integer"},"symbol":{"type":"string","const":"BTC"},"timestamp":{"type":"string","description":"ISO 8601"},"to":{"type":"string","description":"Truncated first-output address"},"txHash":{"type":"string"},"type":{"type":"string","description":"Heuristic from input/output counts","enum":["exchange_inflow","exchange_outflow","whale_transfer"]},"valueUsd":{"type":"integer"}},"required":["amount","coin","from","id","inputCount","outputCount","symbol","timestamp","to","txHash","type","valueUsd"]}},"lastUpdated":{"type":"string","description":"ISO 8601"},"stats":{"type":"object","properties":{"btcActiveAddresses":{"type":"null"},"btcHashRate":{"type":["number","null"],"description":"blockchain.info hash_rate / 1e12"},"btcPrice":{"type":"number","description":"USD (fallback 70000)"},"ethGasPrice":{"type":["number","null"],"description":"Actually BTC mempool halfHourFee sat/vB"},"exchangeNetflow":{"type":"null"},"fastFee":{"type":["number","null"],"description":"sat/vB"},"medFee":{"type":["number","null"],"description":"sat/vB"},"mempoolTxCount":{"type":"integer","description":"Unconfirmed txs returned by blockchain.info"},"slowFee":{"type":["number","null"],"description":"sat/vB"},"stakingRate":{"type":"null"},"transactionCount24h":{"type":["number","null"]}},"required":["btcPrice","mempoolTxCount"]}},"required":["alerts","lastUpdated","stats"]}}},"description":"Whale alerts and on-chain activity"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Whale alerts and on-chain activity","tags":["Intel (paid duplicate)"],"x-input-schema":{"type":"object","properties":{},"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/intel/yahoo-finance":{"get":{"description":"Traditional financial market data: equities, indices, forex, and commodities. Paid duplicate of /api/intel/yahoo-finance; same handler, paid per call instead of a session or API key. Source: Yahoo Finance /v8/finance/chart/{symbol}.","operationId":"x402_intelYahooFinance","parameters":[{"in":"query","name":"symbol","required":true,"schema":{"type":"string","description":"Yahoo symbol, e.g. ^GSPC, GC=F, BTC-USD; sanitized to [A-Za-z0-9_.=^-], max 20 chars"},"description":"Yahoo symbol, e.g. ^GSPC, GC=F, BTC-USD; sanitized to [A-Za-z0-9_.=^-], max 20 chars"},{"in":"query","name":"range","required":false,"schema":{"type":"string","enum":["1d","5d","1mo","3mo","6mo","1y","2y","5y","10y","ytd","max"],"default":"1d"}},{"in":"query","name":"interval","required":false,"schema":{"type":"string","enum":["1m","2m","5m","15m","30m","60m","90m","1h","1d","5d","1wk","1mo","3mo"],"default":"5m"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","description":"Yahoo Finance v8 chart response passed through verbatim; on upstream failure a stub with regularMarketPrice 0","properties":{"chart":{"type":"object","properties":{"error":{"type":["object","null"],"additionalProperties":true},"result":{"type":"array","items":{"type":"object","properties":{"meta":{"type":"object","properties":{"symbol":{"type":"string"},"currency":{"type":"string"},"exchangeName":{"type":"string"},"instrumentType":{"type":"string"},"regularMarketPrice":{"type":"number"},"previousClose":{"type":"number"},"chartPreviousClose":{"type":"number"},"regularMarketTime":{"type":"integer"},"timezone":{"type":"string"},"dataGranularity":{"type":"string"},"range":{"type":"string"}},"required":["regularMarketPrice"],"additionalProperties":true},"timestamp":{"type":"array","description":"Unix seconds per candle","items":{"type":"integer"}},"indicators":{"type":"object","properties":{"quote":{"type":"array","description":"One element; empty object on failure fallback","items":{"type":"object","properties":{"open":{"type":"array","items":{"type":["number","null"]}},"high":{"type":"array","items":{"type":["number","null"]}},"low":{"type":"array","items":{"type":["number","null"]}},"close":{"type":"array","items":{"type":["number","null"]}},"volume":{"type":"array","items":{"type":["number","null"]}}}}}},"required":["quote"],"additionalProperties":true}},"required":["meta","indicators"],"additionalProperties":true}}},"required":["error","result"]}},"required":["chart"]}}},"description":"Yahoo Finance market data"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Yahoo Finance market data","tags":["Intel (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"symbol":{"type":"string","description":"Yahoo symbol, e.g. ^GSPC, GC=F, BTC-USD; sanitized to [A-Za-z0-9_.=^-], max 20 chars"},"range":{"type":"string","enum":["1d","5d","1mo","3mo","6mo","1y","2y","5y","10y","ytd","max"],"default":"1d"},"interval":{"type":"string","enum":["1m","2m","5m","15m","30m","60m","90m","1h","1d","5d","1wk","1mo","3mo"],"default":"5m"}},"required":["symbol"],"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/intel/youtube/live":{"get":{"description":"Resolve the video ID of a YouTube channel's current livestream, read from the channel's live page. Paid duplicate of /api/intel/youtube/live; same handler, paid per call instead of a session or API key. Source: YouTube channel /live page.","operationId":"x402_intelYoutubeLive","parameters":[{"in":"query","name":"channel","required":true,"schema":{"type":"string","description":"Channel @handle or channel ID (UC...); sanitized to [A-Za-z0-9_@-], max 100 chars","maxLength":100},"description":"Channel @handle or channel ID (UC...); sanitized to [A-Za-z0-9_@-], max 100 chars"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"videoId":{"type":["string","null"],"description":"11-char ID of the active livestream, or null when not live / unresolved"}},"required":["videoId"]}}},"description":"Current livestream of a YouTube channel"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Current livestream of a YouTube channel","tags":["Intel (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"channel":{"type":"string","description":"Channel @handle or channel ID (UC...); sanitized to [A-Za-z0-9_@-], max 100 chars","maxLength":100}},"required":["channel"],"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/gdelt-doc":{"get":{"description":"Search worldwide news coverage in the GDELT DOC 2.0 API: articles, timelines and tone for a query. Paid duplicate of /api/gdelt-doc; same handler, paid per call instead of a session or API key. Source: GDELT DOC 2.0 api/v2/doc/doc (or api/v2/geo/geo).","operationId":"x402_gdeltDoc","parameters":[{"in":"query","name":"query","required":true,"schema":{"type":"string","description":"GDELT search query"},"description":"GDELT search query"},{"in":"query","name":"mode","required":false,"schema":{"default":"doc","description":"DOC API (the GEO API is retired upstream)","enum":["doc"],"type":"string"},"description":"DOC API (the GEO API is retired upstream)"},{"in":"query","name":"maxrecords","required":false,"schema":{"type":"integer","maximum":250}},{"in":"query","name":"timespan","required":false,"schema":{"type":"string","description":"e.g. 1d, 24h, 1w"},"description":"e.g. 1d, 24h, 1w"},{"in":"query","name":"format","required":false,"schema":{"type":"string","default":"json"}},{"in":"query","name":"sort","required":false,"schema":{"type":"string","description":"e.g. DateDesc, DateAsc, ToneDesc, ToneAsc, HybridRel"},"description":"e.g. DateDesc, DateAsc, ToneDesc, ToneAsc, HybridRel"},{"in":"query","name":"theme","required":false,"schema":{"type":"string"}},{"in":"query","name":"near","required":false,"schema":{"type":"string"}},{"in":"query","name":"repeat","required":false,"schema":{"type":"string"}},{"in":"query","name":"tonechart","required":false,"schema":{"type":"string"}},{"in":"query","name":"startdatetime","required":false,"schema":{"type":"string","description":"YYYYMMDDHHMMSS"},"description":"YYYYMMDDHHMMSS"},{"in":"query","name":"enddatetime","required":false,"schema":{"type":"string","description":"YYYYMMDDHHMMSS"},"description":"YYYYMMDDHHMMSS"},{"in":"query","name":"sourcelang","required":false,"schema":{"type":"string"}},{"in":"query","name":"sourcecountry","required":false,"schema":{"type":"string"}},{"in":"query","name":"trans","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","description":"GDELT JSON passed through. DOC (default artlist) returns articles; GEO returns GeoJSON FeatureCollection. Non-JSON formats pass through as text.","properties":{"articles":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string"},"url_mobile":{"type":"string"},"title":{"type":"string"},"seendate":{"type":"string","description":"YYYYMMDDTHHMMSSZ"},"socialimage":{"type":"string"},"domain":{"type":"string"},"language":{"type":"string"},"sourcecountry":{"type":"string"}}}},"type":{"type":"string","description":"\"FeatureCollection\" in geo mode"},"features":{"type":"array","items":{"type":"object","additionalProperties":true}}},"additionalProperties":true}}},"description":"GDELT global news search"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"GDELT global news search","tags":["Data & AI (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"query":{"type":"string","description":"GDELT search query"},"mode":{"default":"doc","description":"DOC API (the GEO API is retired upstream)","enum":["doc"],"type":"string"},"maxrecords":{"type":"integer","maximum":250},"timespan":{"type":"string","description":"e.g. 1d, 24h, 1w"},"format":{"type":"string","default":"json"},"sort":{"type":"string","description":"e.g. DateDesc, DateAsc, ToneDesc, ToneAsc, HybridRel"},"theme":{"type":"string"},"near":{"type":"string"},"repeat":{"type":"string"},"tonechart":{"type":"string"},"startdatetime":{"type":"string","description":"YYYYMMDDHHMMSS"},"enddatetime":{"type":"string","description":"YYYYMMDDHHMMSS"},"sourcelang":{"type":"string"},"sourcecountry":{"type":"string"},"trans":{"type":"string"}},"required":["query"],"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/opensky":{"get":{"description":"Live aircraft state vectors and flight history from the OpenSky Network. Paid duplicate of /api/opensky; same handler, paid per call instead of a session or API key. Source: OpenSky Network /api/states/all, /flights/all, /flights/aircraft.","operationId":"x402_opensky","parameters":[{"in":"query","name":"endpoint","required":false,"schema":{"type":"string","enum":["states/all","flights/all","flights/aircraft"],"default":"states/all"}},{"in":"query","name":"lamin","required":false,"schema":{"type":"number"}},{"in":"query","name":"lamax","required":false,"schema":{"type":"number"}},{"in":"query","name":"lomin","required":false,"schema":{"type":"number"}},{"in":"query","name":"lomax","required":false,"schema":{"type":"number"}},{"in":"query","name":"icao24","required":false,"schema":{"type":"string","description":"Transponder hex address; required upstream for flights/aircraft"},"description":"Transponder hex address; required upstream for flights/aircraft"},{"in":"query","name":"time","required":false,"schema":{"type":"integer","description":"Unix seconds (states/all)"},"description":"Unix seconds (states/all)"},{"in":"query","name":"begin","required":false,"schema":{"type":"integer","description":"Unix seconds; required upstream for flights/*"},"description":"Unix seconds; required upstream for flights/*"},{"in":"query","name":"end","required":false,"schema":{"type":"integer","description":"Unix seconds; required upstream for flights/*"},"description":"Unix seconds; required upstream for flights/*"},{"in":"query","name":"extended","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","description":"states/all -> {time, states}; flights/* -> {flights}","properties":{"time":{"type":"integer","description":"Unix seconds (0 if absent)"},"states":{"type":"array","items":{"type":"array","maxItems":17,"description":"State vector: icao24, callsign, origin_country, time_position, last_contact, longitude, latitude, baro_altitude, on_ground, velocity, true_track, vertical_rate, sensors, geo_altitude, squawk, spi, position_source"}},"flights":{"type":"array","items":{"type":"object","properties":{"icao24":{"type":["string","null"]},"callsign":{"type":["string","null"]},"firstSeen":{"type":["integer","null"]},"lastSeen":{"type":["integer","null"]},"estDepartureAirport":{"type":["string","null"]},"estArrivalAirport":{"type":["string","null"]},"departureAirport":{"type":["string","null"]},"arrivalAirport":{"type":["string","null"]}}}}}}}},"description":"OpenSky aircraft positions and flights"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"OpenSky aircraft positions and flights","tags":["Data & AI (paid duplicate)"],"x-input-schema":{"type":"object","additionalProperties":true,"description":"All params except endpoint forwarded verbatim","properties":{"endpoint":{"type":"string","enum":["states/all","flights/all","flights/aircraft"],"default":"states/all"},"lamin":{"type":"number"},"lamax":{"type":"number"},"lomin":{"type":"number"},"lomax":{"type":"number"},"icao24":{"type":"string","description":"Transponder hex address; required upstream for flights/aircraft"},"time":{"type":"integer","description":"Unix seconds (states/all)"},"begin":{"type":"integer","description":"Unix seconds; required upstream for flights/*"},"end":{"type":"integer","description":"Unix seconds; required upstream for flights/*"},"extended":{"type":"integer"}}},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/rss-proxy":{"get":{"description":"Fetch an allowlisted RSS or Atom feed and return it unchanged. Paid duplicate of /api/rss-proxy; same handler, paid per call instead of a session or API key. Source: Arbitrary allowlisted RSS/Atom feed (ssrf-safe fetch).","operationId":"x402_rssProxy","parameters":[{"in":"query","name":"url","required":true,"schema":{"type":"string","format":"uri","description":"RSS/Atom feed URL; host must be in the domain allowlist (or a subdomain of one)"},"description":"RSS/Atom feed URL; host must be in the domain allowlist (or a subdomain of one)"}],"responses":{"200":{"content":{"application/xml":{"schema":{"type":"string","contentMediaType":"application/xml","description":"Raw feed body (not JSON), served with the upstream content-type (default application/xml). Cached 5 min in memory."}}},"description":"Allowlisted RSS and Atom feeds"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Allowlisted RSS and Atom feeds","tags":["Data & AI (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"RSS/Atom feed URL; host must be in the domain allowlist (or a subdomain of one)"}},"required":["url"],"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/groq-summarize":{"post":{"description":"Summarize text or a set of headlines with a Groq-hosted open model. Paid duplicate of /api/groq-summarize; same handler, paid per call instead of a session or API key. Source: Groq /openai/v1/chat/completions.","operationId":"x402_groqSummarize","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"text":{"type":"string","description":"Text to summarize. Required unless headlines is a non-empty array."},"headlines":{"type":"array","items":{"type":"string"},"description":"Alternative to text; joined with newlines when text is absent."},"model":{"type":"string","enum":["llama-3.1-8b-instant","llama-3.3-70b-versatile","llama3-8b-8192","llama3-70b-8192","mixtral-8x7b-32768","gemma2-9b-it"],"default":"llama-3.1-8b-instant"},"maxTokens":{"type":"integer","default":512,"description":"max_tokens sent to the provider"},"geoContext":{"type":"string","description":"Optional geographic/regional focus added to the system prompt"},"mode":{"type":"string","description":"'brief' asks for under 3 sentences (openrouter only; ignored by groq)"},"variant":{"type":"string","description":"Accepted but unused"}},"additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"summary":{"type":"string","description":"Model output text (empty string if none)"},"model":{"type":"string","description":"Model id reported by the provider"},"usage":{"type":"object","description":"OpenAI-compatible token usage passed through from the provider","properties":{"prompt_tokens":{"type":"integer"},"completion_tokens":{"type":"integer"},"total_tokens":{"type":"integer"}},"additionalProperties":true}},"required":["summary"]}}},"description":"Summarize text with Groq"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Summarize text with Groq","tags":["Data & AI (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"text":{"type":"string","description":"Text to summarize. Required unless headlines is a non-empty array."},"headlines":{"type":"array","items":{"type":"string"},"description":"Alternative to text; joined with newlines when text is absent."},"model":{"type":"string","enum":["llama-3.1-8b-instant","llama-3.3-70b-versatile","llama3-8b-8192","llama3-70b-8192","mixtral-8x7b-32768","gemma2-9b-it"],"default":"llama-3.1-8b-instant"},"maxTokens":{"type":"integer","default":512,"description":"max_tokens sent to the provider"},"geoContext":{"type":"string","description":"Optional geographic/regional focus added to the system prompt"},"mode":{"type":"string","description":"'brief' asks for under 3 sentences (openrouter only; ignored by groq)"},"variant":{"type":"string","description":"Accepted but unused"}},"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.02","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"heavy"}},"/api/x402/openrouter-summarize":{"post":{"description":"Summarize text or a set of headlines with an OpenRouter-hosted model. Paid duplicate of /api/openrouter-summarize; same handler, paid per call instead of a session or API key. Source: OpenRouter /api/v1/chat/completions.","operationId":"x402_openrouterSummarize","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"text":{"type":"string","description":"Text to summarize. Required unless headlines is a non-empty array."},"headlines":{"type":"array","items":{"type":"string"},"description":"Alternative to text; joined with newlines when text is absent."},"model":{"type":"string","enum":["meta-llama/llama-3.1-8b-instruct:free","meta-llama/llama-3.1-70b-instruct","google/gemma-2-9b-it:free","mistralai/mistral-7b-instruct:free"],"default":"meta-llama/llama-3.1-8b-instruct:free"},"maxTokens":{"type":"integer","default":512,"description":"max_tokens sent to the provider"},"geoContext":{"type":"string","description":"Optional geographic/regional focus added to the system prompt"},"mode":{"type":"string","description":"'brief' asks for under 3 sentences (openrouter only; ignored by groq)"},"variant":{"type":"string","description":"Accepted but unused"}},"additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"summary":{"type":"string","description":"Model output text (empty string if none)"},"model":{"type":"string","description":"Model id reported by the provider"},"usage":{"type":"object","description":"OpenAI-compatible token usage passed through from the provider","properties":{"prompt_tokens":{"type":"integer"},"completion_tokens":{"type":"integer"},"total_tokens":{"type":"integer"}},"additionalProperties":true}},"required":["summary"]}}},"description":"Summarize text with OpenRouter"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Summarize text with OpenRouter","tags":["Data & AI (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"text":{"type":"string","description":"Text to summarize. Required unless headlines is a non-empty array."},"headlines":{"type":"array","items":{"type":"string"},"description":"Alternative to text; joined with newlines when text is absent."},"model":{"type":"string","enum":["meta-llama/llama-3.1-8b-instruct:free","meta-llama/llama-3.1-70b-instruct","google/gemma-2-9b-it:free","mistralai/mistral-7b-instruct:free"],"default":"meta-llama/llama-3.1-8b-instruct:free"},"maxTokens":{"type":"integer","default":512,"description":"max_tokens sent to the provider"},"geoContext":{"type":"string","description":"Optional geographic/regional focus added to the system prompt"},"mode":{"type":"string","description":"'brief' asks for under 3 sentences (openrouter only; ignored by groq)"},"variant":{"type":"string","description":"Accepted but unused"}},"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.02","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"heavy"}},"/api/x402/classify-batch":{"post":{"description":"Classify up to 50 texts into your categories with a Groq-hosted model. The per-text labels are model output. Paid duplicate of /api/classify-batch; same handler, paid per call instead of a session or API key. Source: Groq /openai/v1/chat/completions (json_object).","operationId":"x402_classifyBatch","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"texts":{"type":"array","items":{"type":"string"},"minItems":1,"maxItems":50},"categories":{"type":"array","items":{"type":"string"},"maxItems":20,"default":["conflict","cyber","economic","energy","environment","geopolitical","military","political","social","technology"]},"model":{"type":"string","enum":["llama-3.1-8b-instant","llama-3.3-70b-versatile","llama3-8b-8192","llama3-70b-8192","mixtral-8x7b-32768","gemma2-9b-it"],"default":"llama-3.1-8b-instant"}},"required":["texts"],"additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"classifications":{"description":"Model JSON output parsed as-is (json_object mode, so usually an object wrapping an array of {text, category}); {raw: string} if unparseable","oneOf":[{"type":"object","additionalProperties":true},{"type":"array","items":{"type":"object","properties":{"text":{"type":"string"},"category":{"type":"string"}}}}]},"usage":{"type":"object","description":"OpenAI-compatible token usage passed through from the provider","properties":{"prompt_tokens":{"type":"integer"},"completion_tokens":{"type":"integer"},"total_tokens":{"type":"integer"}},"additionalProperties":true}},"required":["classifications"]}}},"description":"Batch text classification"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Batch text classification","tags":["Data & AI (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"texts":{"type":"array","items":{"type":"string"},"minItems":1,"maxItems":50},"categories":{"type":"array","items":{"type":"string"},"maxItems":20,"default":["conflict","cyber","economic","energy","environment","geopolitical","military","political","social","technology"]},"model":{"type":"string","enum":["llama-3.1-8b-instant","llama-3.3-70b-versatile","llama3-8b-8192","llama3-70b-8192","mixtral-8x7b-32768","gemma2-9b-it"],"default":"llama-3.1-8b-instant"}},"required":["texts"],"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.02","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"heavy"}},"/api/x402/backtest/signal-spec":{"post":{"description":"Turn a plain-language trading idea into a validated backtest signal specification (LLM, with a deterministic keyword parser when no model is available). Paid duplicate of /api/backtest/signal-spec; same handler, paid per call instead of a session or API key. Source: Groq llama-3.3-70b -> OpenRouter llama-3.3-70b -> local keyword heuristic.","operationId":"x402_backtestSignalSpec","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"prompt":{"type":"string","minLength":1,"description":"Natural-language trading strategy (trimmed)"}},"required":["prompt"],"additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"signalSpec":{"type":"object","properties":{"type":{"type":"string","enum":["dca","momentum","rebalance","meanReversion","trendFollowing","custom"]},"positionSizing":{"type":"string","enum":["equal","volatility-weighted","momentum-weighted"]},"rebalanceFrequency":{"type":"string","description":"e.g. daily, weekly, monthly"},"indicators":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["SMA","EMA","RSI","MACD","BollingerBands"]},"params":{"type":"array","items":{"type":"number"}}},"required":["id","type","params"]}},"entryConditions":{"type":"array","items":{"type":"object","properties":{"indicator":{"type":"string","enum":["price","SMA","EMA","RSI","MACD","BB_upper","BB_lower","BB_middle"]},"operator":{"type":"string","enum":[">","<",">=","<=","crossAbove","crossBelow"]},"params":{"type":"array","items":{"type":"number"}},"value":{"type":"number"}},"required":["indicator","operator","value"]}},"exitConditions":{"type":"array","items":{"type":"object","properties":{"indicator":{"type":"string","enum":["price","SMA","EMA","RSI","MACD","BB_upper","BB_lower","BB_middle"]},"operator":{"type":"string","enum":[">","<",">=","<=","crossAbove","crossBelow"]},"params":{"type":"array","items":{"type":"number"}},"value":{"type":"number"}},"required":["indicator","operator","value"]}}},"required":["type","positionSizing","indicators","entryConditions","exitConditions"]}},"required":["signalSpec"]}}},"description":"Trading idea to backtest signal spec"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Trading idea to backtest signal spec","tags":["Data & AI (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"prompt":{"type":"string","minLength":1,"description":"Natural-language trading strategy (trimmed)"}},"required":["prompt"],"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.02","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"heavy"}},"/api/x402/v1/data/chain":{"get":{"description":"Chain TVL and protocol breakdown Paid duplicate of /api/v1/data/chain; same handler, paid per call instead of a session or API key. Source: DefiLlama /v2/historicalChainTvl/{chain}, /v2/chains, /protocols.","operationId":"x402_v1DataChain","parameters":[{"in":"query","name":"chain","required":true,"schema":{"type":"string","description":"DefiLlama chain name, case-insensitive (e.g. \"Ethereum\", \"Solana\")"},"description":"DefiLlama chain name, case-insensitive (e.g. \"Ethereum\", \"Solana\")"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","const":true},"data":{"type":"object","properties":{"chain":{"type":"string","description":"Canonical chain name"},"tvl":{"type":"number","description":"Current TVL USD"},"change1d":{"type":"number","description":"% TVL change 1d"},"change7d":{"type":"number","description":"% TVL change 7d"},"change1m":{"type":"number","description":"% TVL change 30d"},"dominance":{"type":"number","description":"% of total DeFi TVL"},"geckoId":{"type":["string","null"]},"tokenSymbol":{"type":["string","null"]},"topProtocols":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"slug":{"type":"string"},"category":{"type":"string"},"tvl":{"type":"number"},"change1d":{"type":"number"},"change7d":{"type":"number"}},"required":["name","slug","category","tvl","change1d","change7d"]},"description":"Top 20 protocols on the chain by TVL"},"tvlHistory":{"type":"array","items":{"type":"object","properties":{"date":{"type":"integer","description":"Unix seconds"},"tvl":{"type":"number"}},"required":["date","tvl"]},"description":"Last 90 daily points"}},"required":["chain","tvl","change1d","change7d","change1m","dominance","geckoId","tokenSymbol","topProtocols","tvlHistory"]},"meta":{"type":"object","properties":{"timestamp":{"type":"string","description":"ISO 8601 timestamp","format":"date-time"},"creditsUsed":{"type":"integer","description":"Credits charged for this call"}},"required":["timestamp","creditsUsed"]}},"required":["success","data","meta"]}}},"description":"Chain TVL and protocol breakdown"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Chain TVL and protocol breakdown","tags":["Data API (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"chain":{"type":"string","description":"DefiLlama chain name, case-insensitive (e.g. \"Ethereum\", \"Solana\")"}},"required":["chain"],"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/v1/data/coin":{"get":{"description":"Coin detail, OHLC, chart, and tickers Paid duplicate of /api/v1/data/coin; same handler, paid per call instead of a session or API key. Source: CoinGecko /coins/{id} (+ /ohlc, /market_chart, /tickers) with CoinCap, CryptoCompare, CoinPaprika, DexScreener, CMC, Birdeye/Jupiter/Helius fallbacks.","operationId":"x402_v1DataCoin","parameters":[{"in":"query","name":"id","required":true,"schema":{"type":"string","description":"CoinGecko coin id (e.g. \"bitcoin\") or a Solana mint address"},"description":"CoinGecko coin id (e.g. \"bitcoin\") or a Solana mint address"},{"in":"query","name":"ohlc","required":false,"schema":{"type":"string","description":"Any non-empty value switches to OHLC candles mode"},"description":"Any non-empty value switches to OHLC candles mode"},{"in":"query","name":"chart","required":false,"schema":{"type":"string","description":"Any non-empty value switches to market_chart time-series mode"},"description":"Any non-empty value switches to market_chart time-series mode"},{"in":"query","name":"tickers","required":false,"schema":{"type":"string","description":"Any non-empty value switches to exchange tickers mode"},"description":"Any non-empty value switches to exchange tickers mode"},{"in":"query","name":"days","required":false,"schema":{"type":"string","description":"Lookback for ohlc/chart modes (1, 7, 14, 30, 90, 180, 365, \"max\"); parsed as int for ohlc","default":"30"},"description":"Lookback for ohlc/chart modes (1, 7, 14, 30, 90, 180, 365, \"max\"); parsed as int for ohlc"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","const":true},"data":{"description":"Shape depends on mode: detail object (default), OHLC array (ohlc), chart points (chart), tickers (tickers). Precedence ohlc > chart > tickers > detail.","oneOf":[{"type":"object","properties":{"id":{"type":"string","description":"CoinGecko id (or mint)"},"name":{"type":"string"},"symbol":{"type":"string"},"description":{"type":"string"},"currentPrice":{"type":"number","description":"USD"},"currentPriceBtc":{"type":"number"},"currentPriceEth":{"type":"number"},"marketCap":{"type":"number"},"marketCapRank":{"type":["integer","null"]},"fullyDilutedValuation":{"type":["number","null"]},"volume24h":{"type":"number"},"high24h":{"type":"number"},"low24h":{"type":"number"},"change1h":{"type":"number","description":"%"},"change24h":{"type":"number","description":"%"},"change7d":{"type":"number","description":"%"},"change14d":{"type":"number","description":"%"},"change30d":{"type":"number","description":"%"},"change1y":{"type":"number","description":"%"},"ath":{"type":"number"},"athChangePercentage":{"type":"number"},"athDate":{"type":"string"},"atl":{"type":"number"},"atlChangePercentage":{"type":"number"},"atlDate":{"type":"string"},"circulatingSupply":{"type":"number"},"totalSupply":{"type":["number","null"]},"maxSupply":{"type":["number","null"]},"categories":{"type":"array","items":{"type":"string"}},"genesisDate":{"type":"string"},"blockTimeMinutes":{"type":"number"},"image":{"type":"object","properties":{"thumb":{"type":"string"},"small":{"type":"string"},"large":{"type":"string"}}},"links":{"type":"object","properties":{"homepage":{"type":"array","items":{"type":"string"}},"blockchainExplorers":{"type":"array","items":{"type":"string"}},"github":{"type":"array","items":{"type":"string"}},"twitter":{"type":"string"},"telegram":{"type":"string"},"reddit":{"type":"string"}}},"community":{"type":"object","properties":{"twitterFollowers":{"type":"number"},"redditSubscribers":{"type":"number"},"redditAveragePosts48h":{"type":"number"},"redditAverageComments48h":{"type":"number"},"telegramMembers":{"type":["number","null"]},"facebookLikes":{"type":["number","null"]}}},"developer":{"type":"object","properties":{"forks":{"type":"number"},"stars":{"type":"number"},"totalIssues":{"type":"number"},"pullRequestsMerged":{"type":"number"},"commitCount4Weeks":{"type":"number"},"codeAdditions4Weeks":{"type":"number"},"codeDeletions4Weeks":{"type":"number"}}},"communityScore":{"type":"number"},"developerScore":{"type":"number"},"liquidityScore":{"type":"number"},"profileScore":{"type":"number"},"sentimentVotesUpPercentage":{"type":"number"},"sentimentVotesDownPercentage":{"type":"number"},"lastUpdated":{"type":"string"},"_provider":{"type":"string","description":"Provider that answered"}},"required":["id","name","symbol","currentPrice","change24h","marketCap","volume24h","_provider"]},{"type":"array","items":{"type":"object","properties":{"timestamp":{"type":"integer","description":"Unix ms"},"open":{"type":"number"},"high":{"type":"number"},"low":{"type":"number"},"close":{"type":"number"}},"required":["timestamp","open","high","low","close"]}},{"type":"array","items":{"type":"object","properties":{"timestamp":{"type":"integer","description":"Unix ms"},"price":{"type":"number","description":"USD"},"marketCap":{"type":"number","description":"USD, 0 when unavailable"},"volume":{"type":"number","description":"USD, 0 when unavailable"}},"required":["timestamp","price","marketCap","volume"]}},{"type":"array","items":{"type":"object","properties":{"base":{"type":"string"},"target":{"type":"string"},"exchangeName":{"type":"string"},"lastPriceUsd":{"type":"number"},"volumeUsd":{"type":"number"},"bidAskSpreadPercentage":{"type":"number"},"trustScore":{"type":"string","description":"green / yellow / red / grey"},"isAnomaly":{"type":"boolean"},"isStale":{"type":"boolean"},"tradeUrl":{"type":"string"}},"required":["base","target","exchangeName","lastPriceUsd","volumeUsd","bidAskSpreadPercentage","trustScore","isAnomaly","isStale","tradeUrl"]},"description":"Top 20 tickers by volume"}]},"meta":{"type":"object","properties":{"timestamp":{"type":"string","description":"ISO 8601 timestamp","format":"date-time"},"creditsUsed":{"type":"integer","description":"Credits charged for this call"}},"required":["timestamp","creditsUsed"]}},"required":["success","data","meta"]}}},"description":"Coin detail, OHLC, chart, and tickers"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Coin detail, OHLC, chart, and tickers","tags":["Data API (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"id":{"type":"string","description":"CoinGecko coin id (e.g. \"bitcoin\") or a Solana mint address"},"ohlc":{"type":"string","description":"Any non-empty value switches to OHLC candles mode"},"chart":{"type":"string","description":"Any non-empty value switches to market_chart time-series mode"},"tickers":{"type":"string","description":"Any non-empty value switches to exchange tickers mode"},"days":{"type":"string","description":"Lookback for ohlc/chart modes (1, 7, 14, 30, 90, 180, 365, \"max\"); parsed as int for ohlc","default":"30"}},"required":["id"],"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/v1/data/contract":{"get":{"description":"Smart contract ABI, read calls, events, and tx decoding Paid duplicate of /api/v1/data/contract; same handler, paid per call instead of a session or API key. Source: Etherscan-family explorer APIs (getabi, getsourcecode, getLogs, eth_getTransactionByHash) + viem RPC readContract.","operationId":"x402_v1DataContract","parameters":[{"in":"query","name":"address","required":true,"schema":{"type":"string","description":"Contract address (0x...)"},"description":"Contract address (0x...)"},{"in":"query","name":"chain","required":false,"schema":{"type":"string","description":"EVM chain","enum":["ethereum","arbitrum","avalanche","base","bsc","optimism","polygon"],"default":"ethereum"},"description":"EVM chain"},{"in":"query","name":"action","required":false,"schema":{"type":"string","description":"Operation","enum":["getContractABI","readContract","getContractEvents","decodeTransaction"],"default":"getContractABI"},"description":"Operation"},{"in":"query","name":"functionName","required":false,"schema":{"type":"string","description":"readContract: view/pure function name (required for that action)"},"description":"readContract: view/pure function name (required for that action)"},{"in":"query","name":"args","required":false,"schema":{"type":"string","description":"readContract: JSON array of positional args, e.g. [\"0xabc...\"]"},"description":"readContract: JSON array of positional args, e.g. [\"0xabc...\"]"},{"in":"query","name":"eventSignature","required":false,"schema":{"type":"string","description":"getContractEvents: event signature, e.g. \"Transfer(address,address,uint256)\" (optional topic0 filter)"},"description":"getContractEvents: event signature, e.g. \"Transfer(address,address,uint256)\" (optional topic0 filter)"},{"in":"query","name":"limit","required":false,"schema":{"type":"integer","description":"getContractEvents: max events","default":10,"maximum":50},"description":"getContractEvents: max events"},{"in":"query","name":"txHash","required":false,"schema":{"type":"string","description":"decodeTransaction: transaction hash (required for that action)"},"description":"decodeTransaction: transaction hash (required for that action)"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","const":true},"data":{"description":"Shape depends on action.","oneOf":[{"type":"object","properties":{"address":{"type":"string"},"chain":{"type":"string"},"contractName":{"type":"string"},"isVerified":{"type":"boolean","const":true},"functions":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string","enum":["function","event"]},"mutability":{"type":"string"},"inputs":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"}}}},"outputs":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"}}}}},"required":["name","type","mutability","inputs","outputs"]}},"events":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string","enum":["function","event"]},"mutability":{"type":"string"},"inputs":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"}}}},"outputs":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"}}}}},"required":["name","type","mutability","inputs","outputs"]}}},"required":["address","chain","contractName","isVerified","functions","events"],"title":"getContractABI"},{"type":"object","properties":{"address":{"type":"string"},"chain":{"type":"string"},"functionName":{"type":"string"},"args":{"type":"array","items":{}},"outputType":{"type":"string"},"result":{"type":"string","description":"Stringified result; arrays joined with \", \""}},"required":["address","chain","functionName","args","outputType","result"],"title":"readContract"},{"type":"object","properties":{"address":{"type":"string"},"chain":{"type":"string"},"eventSignature":{"type":["string","null"]},"totalFound":{"type":"integer"},"events":{"type":"array","items":{"type":"object","properties":{"blockNumber":{"type":"string"},"logIndex":{"type":"string"},"timestamp":{"type":"string","description":"ISO or empty"},"transactionHash":{"type":"string"},"data":{"type":"string"},"topics":{"type":"array","items":{"type":"string"}}},"required":["blockNumber","logIndex","timestamp","transactionHash","data","topics"]}}},"required":["address","chain","eventSignature","totalFound","events"],"title":"getContractEvents"},{"type":"object","properties":{"txHash":{"type":"string"},"chain":{"type":"string"},"contractAddress":{"type":"string"},"from":{"type":"string"},"functionName":{"type":"string"},"functionSignature":{"type":"string"},"args":{"type":"object","additionalProperties":{"type":"string"}},"valueEth":{"type":"string","description":"Value in native units, 6 decimals"}},"required":["txHash","chain","contractAddress","from","functionName","functionSignature","args","valueEth"],"title":"decodeTransaction"}]},"meta":{"type":"object","properties":{"timestamp":{"type":"string","description":"ISO 8601 timestamp","format":"date-time"},"creditsUsed":{"type":"integer","description":"Credits charged for this call"}},"required":["timestamp","creditsUsed"]}},"required":["success","data","meta"]}}},"description":"Smart contract ABI, read calls, events, and tx decoding"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Smart contract ABI, read calls, events, and tx decoding","tags":["Data API (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"address":{"type":"string","description":"Contract address (0x...)"},"chain":{"type":"string","description":"EVM chain","enum":["ethereum","arbitrum","avalanche","base","bsc","optimism","polygon"],"default":"ethereum"},"action":{"type":"string","description":"Operation","enum":["getContractABI","readContract","getContractEvents","decodeTransaction"],"default":"getContractABI"},"functionName":{"type":"string","description":"readContract: view/pure function name (required for that action)"},"args":{"type":"string","description":"readContract: JSON array of positional args, e.g. [\"0xabc...\"]"},"eventSignature":{"type":"string","description":"getContractEvents: event signature, e.g. \"Transfer(address,address,uint256)\" (optional topic0 filter)"},"limit":{"type":"integer","description":"getContractEvents: max events","default":10,"maximum":50},"txHash":{"type":"string","description":"decodeTransaction: transaction hash (required for that action)"}},"required":["address"],"additionalProperties":false,"allOf":[{"if":{"properties":{"action":{"enum":["readContract"]}},"required":["action"]},"then":{"required":["functionName"]}},{"if":{"properties":{"action":{"enum":["decodeTransaction"]}},"required":["action"]},"then":{"required":["txHash"]}}]},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/v1/data/crypto-etfs":{"get":{"description":"Crypto ETF flow data from SoSoValue Paid duplicate of /api/v1/data/crypto-etfs; same handler, paid per call instead of a session or API key. Source: SoSoValue /usapublic/etfList/en/{bitcoin|ethereum}.","operationId":"x402_v1DataCryptoEtfs","parameters":[{"in":"query","name":"type","required":false,"schema":{"type":"string","description":"ETF family; any other value treated as all","enum":["all","bitcoin","ethereum"],"default":"all"},"description":"ETF family; any other value treated as all"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","const":true},"data":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"ticker":{"type":"string"},"name":{"type":"string"},"issuer":{"type":"string"},"type":{"type":"string","enum":["bitcoin","ethereum"]},"aum":{"type":"number","description":"Assets under management USD"},"fee":{"type":"number"},"flow24h":{"type":"number","description":"Net flow 1 day USD"},"flow7d":{"type":"number"},"flow30d":{"type":"number"}},"required":["key","ticker","name","issuer","type","aum","fee","flow24h","flow7d","flow30d"]}},"meta":{"type":"object","properties":{"timestamp":{"type":"string","description":"ISO 8601 timestamp","format":"date-time"},"creditsUsed":{"type":"integer","description":"Credits charged for this call"}},"required":["timestamp","creditsUsed"]}},"required":["success","data","meta"]}}},"description":"Crypto ETF flow data from SoSoValue"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Crypto ETF flow data from SoSoValue","tags":["Data API (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"type":{"type":"string","description":"ETF family; any other value treated as all","enum":["all","bitcoin","ethereum"],"default":"all"}},"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/v1/data/daily-briefing":{"get":{"description":"Comprehensive daily DeFi briefing Paid duplicate of /api/v1/data/daily-briefing; same handler, paid per call instead of a session or API key. Source: alternative.me FNG, DefiLlama /protocols + yields /pools + /protocol/sperax, CoinGecko /simple/price.","operationId":"x402_v1DataDailyBriefing","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","const":true},"data":{"type":"object","properties":{"date":{"type":"string","description":"YYYY-MM-DD"},"sentiment":{"type":"object","properties":{"fearGreedIndex":{"type":"number","description":"0-100, default 50"},"fearGreedLabel":{"type":"string"}},"required":["fearGreedIndex","fearGreedLabel"]},"defi":{"type":"object","properties":{"totalTvl":{"type":"number"},"tvlChange24h":{"type":"number","description":"% TVL-weighted"},"topMovers":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"chain":{"type":"string"},"tvl":{"type":"number"},"tvlChange24h":{"type":"number"}},"required":["name","chain","tvl","tvlChange24h"]},"description":"Top 5 protocols >$10M TVL by |1d change|"},"yieldOpportunities":{"type":"array","items":{"type":"object","properties":{"pool":{"type":"string"},"protocol":{"type":"string"},"chain":{"type":"string"},"apy":{"type":"number"},"tvl":{"type":"number"}},"required":["pool","protocol","chain","apy","tvl"]},"description":"Top 5 pools >$1M TVL with 0<APY<100"}},"required":["totalTvl","tvlChange24h","topMovers","yieldOpportunities"]},"headlines":{"type":"array","items":{"type":"string"},"description":"Always empty in current code"},"sperax":{"type":"object","properties":{"spaPrice":{"type":"number"},"spaChange24h":{"type":"number"},"ecosystemTvl":{"type":"number"}},"required":["spaPrice","spaChange24h","ecosystemTvl"]}},"required":["date","sentiment","defi","headlines","sperax"]},"meta":{"type":"object","properties":{"timestamp":{"type":"string","description":"ISO 8601 timestamp","format":"date-time"},"creditsUsed":{"type":"integer","description":"Credits charged for this call"}},"required":["timestamp","creditsUsed"]}},"required":["success","data","meta"]}}},"description":"Comprehensive daily DeFi briefing"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Comprehensive daily DeFi briefing","tags":["Data API (paid duplicate)"],"x-input-schema":{"type":"object","properties":{},"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.02","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"heavy"}},"/api/x402/v1/data/defi-pools":{"get":{"description":"DeFi yield pools from DefiLlama Paid duplicate of /api/v1/data/defi-pools; same handler, paid per call instead of a session or API key. Source: DefiLlama yields /pools.","operationId":"x402_v1DataDefiPools","parameters":[{"in":"query","name":"limit","required":false,"schema":{"type":"integer","description":"Max pools returned","default":200},"description":"Max pools returned"},{"in":"query","name":"chain","required":false,"schema":{"type":"string","description":"Exact DefiLlama chain name match (e.g. \"Ethereum\")"},"description":"Exact DefiLlama chain name match (e.g. \"Ethereum\")"},{"in":"query","name":"protocol","required":false,"schema":{"type":"string","description":"Case-insensitive substring of DefiLlama project slug"},"description":"Case-insensitive substring of DefiLlama project slug"},{"in":"query","name":"stablecoin","required":false,"schema":{"type":"boolean","description":"Only stablecoin pools when \"true\"","default":false},"description":"Only stablecoin pools when \"true\""},{"in":"query","name":"minTvl","required":false,"schema":{"type":"integer","description":"Minimum TVL USD; default 1000000, or 10000 when protocol is set"},"description":"Minimum TVL USD; default 1000000, or 10000 when protocol is set"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","const":true},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"DefiLlama pool id"},"protocol":{"type":"string"},"chain":{"type":"string"},"symbol":{"type":"string"},"tvl":{"type":"number","description":"USD"},"apy":{"type":"number","description":"%"},"apyBase":{"type":"number"},"apyReward":{"type":"number"},"stablecoin":{"type":"boolean"}},"required":["id","protocol","chain","symbol","tvl","apy","apyBase","apyReward","stablecoin"]},"description":"Sorted by APY desc; 0<APY<1000"},"meta":{"type":"object","properties":{"timestamp":{"type":"string","description":"ISO 8601 timestamp","format":"date-time"},"creditsUsed":{"type":"integer","description":"Credits charged for this call"}},"required":["timestamp","creditsUsed"]}},"required":["success","data","meta"]}}},"description":"DeFi yield pools from DefiLlama"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"DeFi yield pools from DefiLlama","tags":["Data API (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"limit":{"type":"integer","description":"Max pools returned","default":200},"chain":{"type":"string","description":"Exact DefiLlama chain name match (e.g. \"Ethereum\")"},"protocol":{"type":"string","description":"Case-insensitive substring of DefiLlama project slug"},"stablecoin":{"type":"boolean","description":"Only stablecoin pools when \"true\"","default":false},"minTvl":{"type":"integer","description":"Minimum TVL USD; default 1000000, or 10000 when protocol is set"}},"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/v1/data/defi-stats":{"get":{"description":"Global DeFi statistics (TVL, protocols, DEX volumes, fees) Paid duplicate of /api/v1/data/defi-stats; same handler, paid per call instead of a session or API key. Source: DefiLlama /v2/historicalChainTvl, /v2/chains, /protocols, /overview/dexs, /overview/fees; CoinGecko /global.","operationId":"x402_v1DataDefiStats","parameters":[{"in":"query","name":"type","required":false,"schema":{"type":"string","description":"Dataset","enum":["global","protocols","dex","fees"],"default":"global"},"description":"Dataset"},{"in":"query","name":"limit","required":false,"schema":{"type":"integer","description":"protocols only: number of protocols","default":25,"minimum":1,"maximum":100},"description":"protocols only: number of protocols"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","const":true},"data":{"description":"Shape depends on type.","oneOf":[{"type":"object","properties":{"totalTvl":{"type":"number"},"tvlChange24h":{"type":"number"},"totalProtocols":{"type":"integer"},"defiDominance":{"type":"number"},"topChains":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"tvl":{"type":"number"},"change24h":{"type":"number"},"protocols":{"type":"integer"}},"required":["name","tvl","change24h","protocols"]}},"totalCryptoMarketCap":{"type":"number"},"marketCapChange24h":{"type":"number"},"btcDominance":{"type":"number"},"ethDominance":{"type":"number"},"activeCryptocurrencies":{"type":"integer"}},"required":["totalTvl","tvlChange24h","totalProtocols","defiDominance","topChains"],"title":"global"},{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"slug":{"type":"string"},"category":{"type":"string"},"chains":{"type":"array","items":{"type":"string"}},"logo":{"type":"string"},"tvl":{"type":"number"},"change24h":{"type":"number"},"change7d":{"type":"number"},"change1m":{"type":"number"},"mcap":{"type":"number"}},"required":["name","slug","category","chains","logo","tvl","change24h","change7d"]},"description":"protocols"},{"type":"object","properties":{"totalVolume24h":{"type":"number"},"totalVolume7d":{"type":"number"},"change24h":{"type":"number"},"topDexes":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"chains":{"type":"array","items":{"type":"string"}},"volume24h":{"type":"number"},"change24h":{"type":"number"}},"required":["name","chains","volume24h","change24h"]},"description":"Top 10"}},"required":["totalVolume24h","totalVolume7d","change24h","topDexes"],"title":"dex"},{"type":"object","properties":{"totalFees24h":{"type":"number"},"totalRevenue24h":{"type":"number"},"topProtocols":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"fees24h":{"type":"number"},"revenue24h":{"type":"number"}},"required":["name","fees24h","revenue24h"]},"description":"Top 10 by fees"}},"required":["totalFees24h","totalRevenue24h","topProtocols"],"title":"fees"}]},"meta":{"type":"object","properties":{"timestamp":{"type":"string","description":"ISO 8601 timestamp","format":"date-time"},"creditsUsed":{"type":"integer","description":"Credits charged for this call"}},"required":["timestamp","creditsUsed"]}},"required":["success","data","meta"]}}},"description":"Global DeFi statistics (TVL, protocols, DEX volumes, fees)"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Global DeFi statistics (TVL, protocols, DEX volumes, fees)","tags":["Data API (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"type":{"type":"string","description":"Dataset","enum":["global","protocols","dex","fees"],"default":"global"},"limit":{"type":"integer","description":"protocols only: number of protocols","default":25,"minimum":1,"maximum":100}},"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/v1/data/dune":{"get":{"description":"Dune Analytics queries and dashboard data Paid duplicate of /api/v1/data/dune; same handler, paid per call instead of a session or API key. Source: DefiLlama (/protocol, /protocols, /summary/fees|revenue, /v2/chains); Dune API /query/{id}/execute + /execution/{id}/results.","operationId":"x402_v1DataDune","parameters":[{"in":"query","name":"action","required":false,"schema":{"type":"string","description":"Operation","enum":["protocol","protocols","fees","chains","dashboard"],"default":"protocols"},"description":"Operation"},{"in":"query","name":"name","required":false,"schema":{"type":"string","description":"DefiLlama protocol slug; required for protocol and fees","maxLength":200},"description":"DefiLlama protocol slug; required for protocol and fees"},{"in":"query","name":"queryId","required":false,"schema":{"type":"string","description":"Dune query id (digits, up to 10); required for dashboard","pattern":"^\\d{1,10}$"},"description":"Dune query id (digits, up to 10); required for dashboard"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","const":true},"data":{"description":"Pass-through by action: protocol -> DefiLlama /protocol/{name} object; protocols -> DefiLlama /protocols array; chains -> DefiLlama /v2/chains array; fees -> {fees, revenue}; dashboard -> Dune execution results or {executionId, state:\"pending\"}.","oneOf":[{"type":"object","title":"protocol","additionalProperties":true,"properties":{"name":{"type":"string"},"slug":{"type":"string"},"category":{"type":"string"},"chains":{"type":"array","items":{"type":"string"}},"tvl":{"type":"array","items":{"type":"object","properties":{"date":{"type":"integer"},"totalLiquidityUSD":{"type":"number"}}}},"currentChainTvls":{"type":"object","additionalProperties":{"type":"number"}}}},{"type":"array","items":{"type":"object","additionalProperties":true,"properties":{"name":{"type":"string"},"slug":{"type":"string"},"category":{"type":"string"},"chains":{"type":"array","items":{"type":"string"}},"tvl":{"type":"number"},"change_1d":{"type":["number","null"]},"change_7d":{"type":["number","null"]},"mcap":{"type":["number","null"]}}},"description":"protocols"},{"type":"array","items":{"type":"object","additionalProperties":true,"properties":{"name":{"type":"string"},"tvl":{"type":"number"},"gecko_id":{"type":["string","null"]},"tokenSymbol":{"type":["string","null"]},"chainId":{"type":["integer","null"]}}},"description":"chains"},{"type":"object","properties":{"fees":{"type":["object","null"],"additionalProperties":true,"description":"DefiLlama /summary/fees/{name} (total24h, total7d, totalAllTime, ...)"},"revenue":{"type":["object","null"],"additionalProperties":true,"description":"DefiLlama /summary/revenue/{name}"}},"required":["fees","revenue"],"title":"fees"},{"type":"object","title":"dashboard","additionalProperties":true,"properties":{"execution_id":{"type":"string"},"query_id":{"type":"integer"},"state":{"type":"string"},"result":{"type":"object","properties":{"rows":{"type":"array","items":{"type":"object","additionalProperties":true}},"metadata":{"type":"object","additionalProperties":true}}},"executionId":{"type":"string","description":"Only when still pending"}}}]},"meta":{"type":"object","properties":{"timestamp":{"type":"string","description":"ISO 8601 timestamp","format":"date-time"},"creditsUsed":{"type":"integer","description":"Credits charged for this call"}},"required":["timestamp","creditsUsed"]}},"required":["success","data","meta"]}}},"description":"Dune Analytics queries and dashboard data"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Dune Analytics queries and dashboard data","tags":["Data API (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"action":{"type":"string","description":"Operation","enum":["protocol","protocols","fees","chains","dashboard"],"default":"protocols"},"name":{"type":"string","description":"DefiLlama protocol slug; required for protocol and fees","maxLength":200},"queryId":{"type":"string","description":"Dune query id (digits, up to 10); required for dashboard","pattern":"^\\d{1,10}$"}},"additionalProperties":false,"allOf":[{"if":{"properties":{"action":{"enum":["protocol","fees"]}},"required":["action"]},"then":{"required":["name"]}},{"if":{"properties":{"action":{"enum":["dashboard"]}},"required":["action"]},"then":{"required":["queryId"]}}]},"x-payment-info":{"price":{"amount":"0.02","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"heavy"}},"/api/x402/v1/data/etherscan":{"get":{"description":"Etherscan API proxy (balances, transactions, tokens) Paid duplicate of /api/v1/data/etherscan; same handler, paid per call instead of a session or API key. Source: Etherscan v2 /v2/api.","operationId":"x402_v1DataEtherscan","parameters":[{"in":"query","name":"address","required":true,"schema":{"type":"string","description":"Address (required even for stats/gastracker modules)"},"description":"Address (required even for stats/gastracker modules)"},{"in":"query","name":"chain","required":false,"schema":{"type":"string","description":"Chain","enum":["ethereum","arbitrum","base","bsc","optimism","polygon"],"default":"ethereum"},"description":"Chain"},{"in":"query","name":"module","required":false,"schema":{"type":"string","description":"Etherscan module","enum":["account","contract","stats","gastracker","logs"],"default":"account"},"description":"Etherscan module"},{"in":"query","name":"action","required":false,"schema":{"type":"string","description":"Allowlisted per module. account: balance, balancemulti, txlist, txlistinternal, tokentx, tokennfttx, token1155tx, getminedblocks; contract: getabi, getsourcecode; stats: ethprice, ethsupply, tokensupply; gastracker: gasoracle, gasestimate; logs: getLogs","default":"balance"},"description":"Allowlisted per module. account: balance, balancemulti, txlist, txlistinternal, tokentx, tokennfttx, token1155tx, getminedblocks; contract: getabi, getsourcecode; stats: ethprice, ethsupply, tokensupply; gastracker: gasoracle, gasestimate; logs: getLogs"},{"in":"query","name":"startblock","required":false,"schema":{"type":"string"}},{"in":"query","name":"endblock","required":false,"schema":{"type":"string"}},{"in":"query","name":"page","required":false,"schema":{"type":"string"}},{"in":"query","name":"offset","required":false,"schema":{"type":"string"}},{"in":"query","name":"sort","required":false,"schema":{"type":"string","description":"asc | desc"},"description":"asc | desc"},{"in":"query","name":"tag","required":false,"schema":{"type":"string"}},{"in":"query","name":"contractaddress","required":false,"schema":{"type":"string"}},{"in":"query","name":"txhash","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","const":true},"data":{"type":"object","additionalProperties":true,"description":"Raw Etherscan v2 response passed through","properties":{"status":{"type":"string","description":"\"1\" ok, \"0\" error/empty"},"message":{"type":"string"},"result":{"description":"String, array, or object depending on module/action"}}},"meta":{"type":"object","properties":{"timestamp":{"type":"string","description":"ISO 8601 timestamp","format":"date-time"},"creditsUsed":{"type":"integer","description":"Credits charged for this call"}},"required":["timestamp","creditsUsed"]}},"required":["success","data","meta"]}}},"description":"Etherscan API proxy (balances, transactions, tokens)"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Etherscan API proxy (balances, transactions, tokens)","tags":["Data API (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"address":{"type":"string","description":"Address (required even for stats/gastracker modules)"},"chain":{"type":"string","description":"Chain","enum":["ethereum","arbitrum","base","bsc","optimism","polygon"],"default":"ethereum"},"module":{"type":"string","description":"Etherscan module","enum":["account","contract","stats","gastracker","logs"],"default":"account"},"action":{"type":"string","description":"Allowlisted per module. account: balance, balancemulti, txlist, txlistinternal, tokentx, tokennfttx, token1155tx, getminedblocks; contract: getabi, getsourcecode; stats: ethprice, ethsupply, tokensupply; gastracker: gasoracle, gasestimate; logs: getLogs","default":"balance"},"startblock":{"type":"string"},"endblock":{"type":"string"},"page":{"type":"string"},"offset":{"type":"string"},"sort":{"type":"string","description":"asc | desc"},"tag":{"type":"string"},"contractaddress":{"type":"string"},"txhash":{"type":"string"}},"required":["address"],"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/v1/data/exchange":{"get":{"description":"Exchange detail from CoinGecko Paid duplicate of /api/v1/data/exchange; same handler, paid per call instead of a session or API key. Source: CoinGecko /exchanges/{id} + /exchanges/{id}/volume_chart?days=30.","operationId":"x402_v1DataExchange","parameters":[{"in":"query","name":"id","required":true,"schema":{"type":"string","description":"CoinGecko exchange id (e.g. \"binance\")"},"description":"CoinGecko exchange id (e.g. \"binance\")"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","const":true},"data":{"type":"object","properties":{"name":{"type":"string"},"country":{"type":["string","null"]},"url":{"type":"string"},"yearEstablished":{"type":["integer","null"]},"trustScore":{"type":"number","description":"CoinGecko trust score 0-10"},"tradeVolume24hBtc":{"type":"number"},"tickers":{"type":"array","items":{"type":"object","properties":{"base":{"type":"string"},"target":{"type":"string"},"last":{"type":"number"},"volume":{"type":"number"},"trust_score":{"type":"string"}},"required":["base","target","last","volume","trust_score"]},"description":"Top 50 non-anomalous, non-stale tickers by volume"},"volumeHistory":{"type":"array","items":{"type":"object","properties":{"timestamp":{"type":"number","description":"Unix ms"},"volume":{"type":"number","description":"BTC"}},"required":["timestamp","volume"]},"description":"30-day volume chart"}},"required":["name","country","url","yearEstablished","trustScore","tradeVolume24hBtc","tickers","volumeHistory"]},"meta":{"type":"object","properties":{"timestamp":{"type":"string","description":"ISO 8601 timestamp","format":"date-time"},"creditsUsed":{"type":"integer","description":"Credits charged for this call"}},"required":["timestamp","creditsUsed"]}},"required":["success","data","meta"]}}},"description":"Exchange detail from CoinGecko"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Exchange detail from CoinGecko","tags":["Data API (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"id":{"type":"string","description":"CoinGecko exchange id (e.g. \"binance\")"}},"required":["id"],"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/v1/data/helius":{"get":{"description":"Solana data via Helius (balances, transactions, NFTs) Paid duplicate of /api/v1/data/helius; same handler, paid per call instead of a session or API key. Source: Helius RPC (searchAssets, getAssetsByOwner, getAsset, getPriorityFeeEstimate) + Helius /v0/addresses/{addr}/transactions.","operationId":"x402_v1DataHelius","parameters":[{"in":"query","name":"action","required":false,"schema":{"type":"string","description":"Operation","enum":["getTokenBalances","getTransactionHistory","getAssetsByOwner","getAssetDetails","getPriorityFees"],"default":"getTokenBalances"},"description":"Operation"},{"in":"query","name":"address","required":false,"schema":{"type":"string","description":"Solana wallet address; required unless action=getPriorityFees","minLength":32,"maxLength":64},"description":"Solana wallet address; required unless action=getPriorityFees"},{"in":"query","name":"assetId","required":false,"schema":{"type":"string","description":"getAssetDetails: asset id (required for that action)","maxLength":128},"description":"getAssetDetails: asset id (required for that action)"},{"in":"query","name":"limit","required":false,"schema":{"type":"integer","description":"getTransactionHistory (capped 100) / getAssetsByOwner","minimum":1,"maximum":1000,"default":10},"description":"getTransactionHistory (capped 100) / getAssetsByOwner"},{"in":"query","name":"page","required":false,"schema":{"type":"integer","description":"getAssetsByOwner page","minimum":1,"maximum":100,"default":1},"description":"getAssetsByOwner page"},{"in":"query","name":"showZeroBalance","required":false,"schema":{"type":"boolean","description":"getTokenBalances: include zero balances","default":false},"description":"getTokenBalances: include zero balances"},{"in":"query","name":"type","required":false,"schema":{"type":"string","description":"getTransactionHistory: Helius tx type filter (e.g. SWAP, TRANSFER)","maxLength":64},"description":"getTransactionHistory: Helius tx type filter (e.g. SWAP, TRANSFER)"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","const":true},"data":{"description":"Shape depends on action.","oneOf":[{"type":"object","properties":{"totalValueUsd":{"type":"number"},"balances":{"type":"array","items":{"type":"object","properties":{"mint":{"type":"string"},"symbol":{"type":"string"},"name":{"type":"string"},"amount":{"type":"number","description":"UI amount"},"rawAmount":{"type":"string"},"decimals":{"type":"integer"},"priceUsd":{"type":"number"},"valueUsd":{"type":"number"}},"required":["mint","symbol","name","amount","rawAmount","decimals"]},"description":"SOL first entry when present; sorted by valueUsd desc"}},"required":["balances","totalValueUsd"],"title":"getTokenBalances"},{"type":"object","properties":{"transactions":{"type":"array","items":{"type":"object","properties":{"signature":{"type":"string"},"timestamp":{"type":"integer","description":"Unix seconds"},"type":{"type":"string"},"source":{"type":"string"},"description":{"type":"string"},"fee":{"type":"number","description":"SOL"},"feePayer":{"type":"string"},"success":{"type":"boolean"},"nativeTransfers":{"type":"array","items":{"type":"object","properties":{"fromUserAccount":{"type":"string"},"toUserAccount":{"type":"string"},"amount":{"type":"number","description":"SOL"}}}},"tokenTransfers":{"type":"array","items":{"type":"object","properties":{"fromUserAccount":{"type":"string"},"toUserAccount":{"type":"string"},"mint":{"type":"string"},"tokenAmount":{"type":"number"}}}}},"required":["signature","timestamp","type","source","description","fee","feePayer","success","nativeTransfers","tokenTransfers"]}}},"required":["transactions"],"title":"getTransactionHistory"},{"type":"object","properties":{"assets":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"},"description":{"type":"string"},"imageUrl":{"type":"string"},"interface":{"type":"string"},"owner":{"type":"string"},"collection":{"type":"string"},"compressed":{"type":"boolean"}},"required":["id","name","interface","owner","compressed"]}},"totalCount":{"type":"integer"}},"required":["assets","totalCount"],"title":"getAssetsByOwner"},{"type":"object","properties":{"asset":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"},"description":{"type":"string"},"imageUrl":{"type":"string"},"interface":{"type":"string"},"owner":{"type":"string"},"collection":{"type":"string"},"compressed":{"type":"boolean"}},"required":["id","name","interface","owner","compressed"]}},"required":["asset"],"title":"getAssetDetails"},{"type":"object","properties":{"fees":{"type":"object","properties":{"slot":{"type":"integer"},"estimates":{"type":"array","items":{"type":"object","properties":{"level":{"type":"string","description":"min, low, medium, high, veryHigh, unsafeMax"},"fee":{"type":"number","description":"micro-lamports per CU"},"feeSol":{"type":"number"}},"required":["level","fee","feeSol"]}}},"required":["estimates"]}},"required":["fees"],"title":"getPriorityFees"}]},"meta":{"type":"object","properties":{"timestamp":{"type":"string","description":"ISO 8601 timestamp","format":"date-time"},"creditsUsed":{"type":"integer","description":"Credits charged for this call"}},"required":["timestamp","creditsUsed"]}},"required":["success","data","meta"]}}},"description":"Solana data via Helius (balances, transactions, NFTs)"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Solana data via Helius (balances, transactions, NFTs)","tags":["Data API (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"action":{"type":"string","description":"Operation","enum":["getTokenBalances","getTransactionHistory","getAssetsByOwner","getAssetDetails","getPriorityFees"],"default":"getTokenBalances"},"address":{"type":"string","description":"Solana wallet address; required unless action=getPriorityFees","minLength":32,"maxLength":64},"assetId":{"type":"string","description":"getAssetDetails: asset id (required for that action)","maxLength":128},"limit":{"type":"integer","description":"getTransactionHistory (capped 100) / getAssetsByOwner","minimum":1,"maximum":1000,"default":10},"page":{"type":"integer","description":"getAssetsByOwner page","minimum":1,"maximum":100,"default":1},"showZeroBalance":{"type":"boolean","description":"getTokenBalances: include zero balances","default":false},"type":{"type":"string","description":"getTransactionHistory: Helius tx type filter (e.g. SWAP, TRANSFER)","maxLength":64}},"additionalProperties":false,"allOf":[{"else":{"required":["address"]},"if":{"properties":{"action":{"enum":["getPriorityFees"]}},"required":["action"]}},{"if":{"properties":{"action":{"enum":["getAssetDetails"]}},"required":["action"]},"then":{"required":["assetId"]}}]},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/v1/data/lending":{"get":{"description":"DeFi lending market data Paid duplicate of /api/v1/data/lending; same handler, paid per call instead of a session or API key. Source: DefiLlama yields /pools.","operationId":"x402_v1DataLending","parameters":[{"in":"query","name":"protocol","required":false,"schema":{"type":"string","description":"Case-insensitive substring of DefiLlama project; default set is aave-v3, compound-v3, radiant-v2, spark"},"description":"Case-insensitive substring of DefiLlama project; default set is aave-v3, compound-v3, radiant-v2, spark"},{"in":"query","name":"chain","required":false,"schema":{"type":"string","description":"Exact DefiLlama chain name (e.g. \"Arbitrum\")"},"description":"Exact DefiLlama chain name (e.g. \"Arbitrum\")"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","const":true},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"DefiLlama pool id"},"project":{"type":"string"},"chain":{"type":"string"},"symbol":{"type":"string"},"tvl":{"type":"number","description":"USD"},"apy":{"type":"number"},"apyBase":{"type":"number"},"apyReward":{"type":"number"}},"required":["id","project","chain","symbol","tvl","apy","apyBase","apyReward"]},"description":"Top 100 pools >$10k TVL by TVL desc"},"meta":{"type":"object","properties":{"timestamp":{"type":"string","description":"ISO 8601 timestamp","format":"date-time"},"creditsUsed":{"type":"integer","description":"Credits charged for this call"}},"required":["timestamp","creditsUsed"]}},"required":["success","data","meta"]}}},"description":"DeFi lending market data"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"DeFi lending market data","tags":["Data API (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"protocol":{"type":"string","description":"Case-insensitive substring of DefiLlama project; default set is aave-v3, compound-v3, radiant-v2, spark"},"chain":{"type":"string","description":"Exact DefiLlama chain name (e.g. \"Arbitrum\")"}},"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/v1/data/markets":{"get":{"description":"Global crypto market data, Fear & Greed, and search Paid duplicate of /api/v1/data/markets; same handler, paid per call instead of a session or API key. Source: CryptoCompare -> DexScreener -> Binance -> CoinGecko -> CMC (prices); alternative.me FNG; CoinGecko /search.","operationId":"x402_v1DataMarkets","parameters":[{"in":"query","name":"fng","required":false,"schema":{"type":"string","description":"Any non-empty value returns Fear & Greed index"},"description":"Any non-empty value returns Fear & Greed index"},{"in":"query","name":"search","required":false,"schema":{"type":"string","description":"Token search query (CoinGecko /search, top 10)"},"description":"Token search query (CoinGecko /search, top 10)"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","const":true},"data":{"description":"Precedence fng > search > market data.","oneOf":[{"type":"object","properties":{"value":{"type":"integer","description":"0-100"},"classification":{"type":"string"},"timestamp":{"type":"string","description":"ISO date (serialized Date)"}},"required":["value","classification","timestamp"],"title":"fng"},{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"}},"required":["id","name","symbol"]},"description":"search"},{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"symbol":{"type":"string"},"name":{"type":"string"},"price":{"type":["number","null"]},"change":{"type":["number","null"]},"changePercent":{"type":["number","null"]},"marketCap":{"type":"number"},"volume":{"type":"number"},"logo":{"type":"string"},"sparkline7d":{"type":"array","items":{"type":"number"}}},"required":["id","symbol","name","price","change","changePercent"]},"description":"market data"}]},"meta":{"type":"object","properties":{"timestamp":{"type":"string","description":"ISO 8601 timestamp","format":"date-time"},"creditsUsed":{"type":"integer","description":"Credits charged for this call"}},"required":["timestamp","creditsUsed"]}},"required":["success","data","meta"]}}},"description":"Global crypto market data, Fear & Greed, and search"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Global crypto market data, Fear & Greed, and search","tags":["Data API (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"fng":{"type":"string","description":"Any non-empty value returns Fear & Greed index"},"search":{"type":"string","description":"Token search query (CoinGecko /search, top 10)"}},"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/v1/data/news":{"get":{"description":"Crypto news headlines Paid duplicate of /api/v1/data/news; same handler, paid per call instead of a session or API key. Source: cryptocurrency.cv news API via @lobechat/cryptocurrency-cv getNews.","operationId":"x402_v1DataNews","parameters":[{"in":"query","name":"category","required":false,"schema":{"type":"string","description":"News category","default":"general"},"description":"News category"},{"in":"query","name":"limit","required":false,"schema":{"type":"integer","description":"Max articles","default":20,"maximum":50},"description":"Max articles"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","const":true},"data":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"description":{"type":"string"},"url":{"type":"string"},"source":{"type":"string"},"publishedAt":{"type":"string"}},"required":["title","description","url","source","publishedAt"]}},"meta":{"type":"object","properties":{"timestamp":{"type":"string","description":"ISO 8601 timestamp","format":"date-time"},"creditsUsed":{"type":"integer","description":"Credits charged for this call"}},"required":["timestamp","creditsUsed"]}},"required":["success","data","meta"]}}},"description":"Crypto news headlines"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Crypto news headlines","tags":["Data API (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"category":{"type":"string","description":"News category","default":"general"},"limit":{"type":"integer","description":"Max articles","default":20,"maximum":50}},"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/v1/data/plutus":{"get":{"description":"Plutus DAO vault and protocol data Paid duplicate of /api/v1/data/plutus; same handler, paid per call instead of a session or API key. Source: DefiLlama yields /pools, /protocol, /tvl; CoinGecko /simple/price.","operationId":"x402_v1DataPlutus","parameters":[{"in":"query","name":"action","required":false,"schema":{"type":"string","enum":["vaults","protocol","tvl","token"],"default":"vaults"}},{"in":"query","name":"ids","required":false,"schema":{"type":"string","default":"plutusdao","description":"CoinGecko ids (comma separated), only for action=token"},"description":"CoinGecko ids (comma separated), only for action=token"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","const":true},"data":{"description":"Shape depends on action","oneOf":[{"type":"array","items":{"type":"object","properties":{"pool":{"type":"string","description":"DefiLlama pool UUID"},"chain":{"type":"string"},"project":{"type":"string"},"symbol":{"type":"string"},"tvlUsd":{"type":"number"},"apy":{"type":["number","null"]},"apyBase":{"type":["number","null"]},"apyReward":{"type":["number","null"]},"rewardTokens":{"type":["array","null"],"items":{"type":"string"}},"underlyingTokens":{"type":["array","null"],"items":{"type":"string"}},"stablecoin":{"type":"boolean"},"ilRisk":{"type":"string"},"exposure":{"type":"string"},"apyPct1D":{"type":["number","null"]},"apyPct7D":{"type":["number","null"]},"apyPct30D":{"type":["number","null"]},"apyMean30d":{"type":["number","null"]},"poolMeta":{"type":["string","null"]},"predictions":{"type":"object","additionalProperties":true}},"required":["pool","chain","project","symbol","tvlUsd"],"additionalProperties":true},"description":"action=vaults: Plutus pools from DefiLlama yields; if fewer than 3, padded with top Arbitrum pools (TVL>500k, 5<APY<200) up to 10"},{"type":"object","description":"action=protocol: raw DefiLlama /protocol/plutus-dao (or plutusdao) body, or {error} if neither found","additionalProperties":true,"properties":{"name":{"type":"string"},"slug":{"type":"string"},"category":{"type":"string"},"chains":{"type":"array","items":{"type":"string"}},"tvl":{"type":"array","items":{"type":"object","properties":{"date":{"type":"integer"},"totalLiquidityUSD":{"type":"number"}}}},"currentChainTvls":{"type":"object","additionalProperties":{"type":"number"}},"error":{"type":"string"}}},{"type":"object","properties":{"tvl":{"type":"number","description":"DefiLlama /tvl/plutus-dao scalar (0 on failure)"}},"required":["tvl"]},{"type":"object","description":"CoinGecko /simple/price map keyed by coin id","additionalProperties":{"type":"object","properties":{"usd":{"type":"number"},"usd_market_cap":{"type":"number"},"usd_24h_change":{"type":"number"}}}}]},"meta":{"type":"object","properties":{"timestamp":{"type":"string","description":"ISO 8601 response time"},"creditsUsed":{"type":"integer","description":"Credits charged for this call"}},"required":["timestamp","creditsUsed"]}},"required":["success","data","meta"]}}},"description":"Plutus DAO vault and protocol data"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Plutus DAO vault and protocol data","tags":["Data API (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"action":{"type":"string","enum":["vaults","protocol","tvl","token"],"default":"vaults"},"ids":{"type":"string","default":"plutusdao","description":"CoinGecko ids (comma separated), only for action=token"}},"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/v1/data/portfolio":{"get":{"description":"Multi-chain wallet portfolio data Paid duplicate of /api/v1/data/portfolio; same handler, paid per call instead of a session or API key. Source: Portfolio provider chain: DeBank Pro > Ankr > Covalent > Moralis > Alchemy > Blockscout.","operationId":"x402_v1DataPortfolio","parameters":[{"in":"query","name":"address","required":true,"schema":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"EVM wallet address"},"description":"EVM wallet address"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","const":true},"data":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["token","defi"]},"symbol":{"type":"string"},"chain":{"type":"string"},"value":{"type":"number","description":"USD value"},"amount":{"type":"number","description":"Token amount (type=token only)"},"price":{"type":"number","description":"USD price (type=token only)"},"logo":{"type":"string","description":"Logo URL (type=token only)"},"protocol":{"type":"string","description":"Protocol name (type=defi only)"}},"required":["type","symbol","chain","value"]},"description":"Token holdings worth >$1 plus DeFi positions, sorted by value desc, max 50"},"meta":{"type":"object","properties":{"timestamp":{"type":"string","description":"ISO 8601 response time"},"creditsUsed":{"type":"integer","description":"Credits charged for this call"}},"required":["timestamp","creditsUsed"]}},"required":["success","data","meta"]}}},"description":"Multi-chain wallet portfolio data"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Multi-chain wallet portfolio data","tags":["Data API (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"address":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"EVM wallet address"}},"required":["address"],"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/v1/data/price-prediction":{"get":{"description":"AI-powered price prediction with technical analysis Paid duplicate of /api/v1/data/price-prediction; same handler, paid per call instead of a session or API key. Source: CoinGecko /coins/{id}/market_chart (90d) + /simple/price; heuristic TA computed locally.","operationId":"x402_v1DataPricePrediction","parameters":[{"in":"query","name":"token","required":false,"schema":{"type":"string","default":"BTC","description":"Ticker (BTC, ETH, SOL, SPA...) or CoinGecko id; alias `asset`"},"description":"Ticker (BTC, ETH, SOL, SPA...) or CoinGecko id; alias `asset`"},{"in":"query","name":"asset","required":false,"schema":{"type":"string","description":"Alias for token"},"description":"Alias for token"},{"in":"query","name":"action","required":false,"schema":{"type":"string","enum":["getPrediction","getTechnicalIndicators"],"default":"getPrediction"}},{"in":"query","name":"timeframe","required":false,"schema":{"type":"string","enum":["1h","4h","1d","7d","30d"],"default":"1d","description":"Prediction horizon (getPrediction)"},"description":"Prediction horizon (getPrediction)"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","const":true},"data":{"oneOf":[{"type":"object","properties":{"prediction":{"type":"object","properties":{"asset":{"type":"string"},"confidence":{"type":"integer","description":"40-85"},"currentPrice":{"type":"number"},"direction":{"type":"string","enum":["bullish","bearish","neutral"]},"predictedPrice":{"type":"number"},"predictionDate":{"type":"string","description":"ISO"},"priceRange":{"type":"object","properties":{"high":{"type":"number"},"low":{"type":"number"}},"required":["high","low"]},"timeframe":{"type":"string"}},"required":["asset","confidence","currentPrice","direction","predictedPrice","predictionDate","priceRange","timeframe"]},"recentPrices":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string","description":"YYYY-MM-DD"},"open":{"type":"number"},"high":{"type":"number"},"low":{"type":"number"},"close":{"type":"number"},"volume":{"type":"number"}}},"description":"Last 7 chart points"}},"required":["prediction","recentPrices"]},{"type":"object","properties":{"asset":{"type":"string"},"currentPrice":{"type":"number"},"overallSignal":{"type":"string","enum":["buy","sell","neutral"]},"indicators":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"signal":{"type":"string","enum":["buy","sell","neutral"]},"value":{"type":"number"}},"required":["name","signal","value"]}}},"required":["asset","currentPrice","indicators","overallSignal"]}]},"meta":{"type":"object","properties":{"timestamp":{"type":"string","description":"ISO 8601 response time"},"creditsUsed":{"type":"integer","description":"Credits charged for this call"}},"required":["timestamp","creditsUsed"]}},"required":["success","data","meta"]}}},"description":"AI-powered price prediction with technical analysis"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"AI-powered price prediction with technical analysis","tags":["Data API (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"token":{"type":"string","default":"BTC","description":"Ticker (BTC, ETH, SOL, SPA...) or CoinGecko id; alias `asset`"},"asset":{"type":"string","description":"Alias for token"},"action":{"type":"string","enum":["getPrediction","getTechnicalIndicators"],"default":"getPrediction"},"timeframe":{"type":"string","enum":["1h","4h","1d","7d","30d"],"default":"1d","description":"Prediction horizon (getPrediction)"}},"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.02","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"heavy"}},"/api/x402/v1/data/protocol":{"get":{"description":"DeFi protocol detail from DefiLlama Paid duplicate of /api/v1/data/protocol; same handler, paid per call instead of a session or API key. Source: DefiLlama /protocol/{slug}, /summary/fees/{slug}, /summary/revenue/{slug}.","operationId":"x402_v1DataProtocol","parameters":[{"in":"query","name":"slug","required":true,"schema":{"type":"string","description":"DefiLlama protocol slug, e.g. aave"},"description":"DefiLlama protocol slug, e.g. aave"},{"in":"query","name":"fees","required":false,"schema":{"type":"string","enum":["1"],"description":"Set to '1' to return fees/revenue summary instead of protocol info"},"description":"Set to '1' to return fees/revenue summary instead of protocol info"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","const":true},"data":{"oneOf":[{"type":"object","properties":{"category":{"type":"string"},"chains":{"type":"array","items":{"type":"string"}},"description":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string"},"tvl":{"description":"DefiLlama tvl field (historical array from /protocol) or 0","type":["array","number"]},"url":{"type":"string"}},"required":["category","chains","description","name","slug","tvl","url"]},{"type":"object","properties":{"dailyFees":{"type":["number","null"]},"dailyRevenue":{"type":["number","null"]},"monthlyFees":{"type":["number","null"]},"monthlyRevenue":{"type":["number","null"]}},"required":["dailyFees","dailyRevenue","monthlyFees","monthlyRevenue"]}]},"meta":{"type":"object","properties":{"timestamp":{"type":"string","description":"ISO 8601 response time"},"creditsUsed":{"type":"integer","description":"Credits charged for this call"}},"required":["timestamp","creditsUsed"]}},"required":["success","data","meta"]}}},"description":"DeFi protocol detail from DefiLlama"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"DeFi protocol detail from DefiLlama","tags":["Data API (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"slug":{"type":"string","description":"DefiLlama protocol slug, e.g. aave"},"fees":{"type":"string","enum":["1"],"description":"Set to '1' to return fees/revenue summary instead of protocol info"}},"required":["slug"],"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/v1/data/research":{"get":{"description":"Research intelligence — reports, trends, outlook Paid duplicate of /api/v1/data/research; same handler, paid per call instead of a session or API key. Source: DefiLlama /protocols + yields /pools; CoinGecko /search/trending + /global/decentralized_finance_defi.","operationId":"x402_v1DataResearch","parameters":[{"in":"query","name":"action","required":false,"schema":{"type":"string","enum":["getLatestReports","searchResearch","getTrendRadar","getOutlook"],"default":"getLatestReports"}},{"in":"query","name":"query","required":false,"schema":{"type":"string","description":"Search term (required for searchResearch)"},"description":"Search term (required for searchResearch)"},{"in":"query","name":"topic","required":false,"schema":{"type":"string","description":"Tag/title filter for getLatestReports"},"description":"Tag/title filter for getLatestReports"},{"in":"query","name":"limit","required":false,"schema":{"type":"integer","default":10}},{"in":"query","name":"source","required":false,"schema":{"type":"string","description":"Accepted but unused"},"description":"Accepted but unused"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","const":true},"data":{"description":"Array; item shape depends on action","oneOf":[{"type":"array","items":{"type":"object","properties":{"author":{"type":"string"},"date":{"type":"string","description":"YYYY-MM-DD"},"keyTakeaways":{"type":"array","items":{"type":"string"}},"source":{"type":"string"},"summary":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"title":{"type":"string"},"url":{"type":"string"}},"required":["author","date","keyTakeaways","source","summary","tags","title","url"]},"description":"getLatestReports / searchResearch: DefiLlama protocols (TVL>5M) sorted by |24h TVL change|"},{"type":"array","items":{"type":"object","properties":{"confidence":{"type":"number"},"description":{"type":"string"},"horizon":{"type":"string"},"maturity":{"type":"string","enum":["mainstream","growing","emerging","declining"]},"trend":{"type":"string"}},"required":["confidence","description","horizon","maturity","trend"]},"description":"getTrendRadar"},{"type":"array","items":{"type":"object","properties":{"category":{"type":"string"},"summary":{"type":"string"},"predictions":{"type":"array","items":{"type":"object","properties":{"confidence":{"type":"string","enum":["high","medium","low"]},"evidence":{"type":"string"},"prediction":{"type":"string"},"timeframe":{"type":"string"}}}}},"required":["category","summary","predictions"]},"description":"getOutlook"}]},"meta":{"type":"object","properties":{"timestamp":{"type":"string","description":"ISO 8601 response time"},"creditsUsed":{"type":"integer","description":"Credits charged for this call"}},"required":["timestamp","creditsUsed"]}},"required":["success","data","meta"]}}},"description":"Research intelligence — reports, trends, outlook"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Research intelligence — reports, trends, outlook","tags":["Data API (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"action":{"type":"string","enum":["getLatestReports","searchResearch","getTrendRadar","getOutlook"],"default":"getLatestReports"},"query":{"type":"string","description":"Search term (required for searchResearch)"},"topic":{"type":"string","description":"Tag/title filter for getLatestReports"},"limit":{"type":"integer","default":10},"source":{"type":"string","description":"Accepted but unused"}},"additionalProperties":false,"if":{"properties":{"action":{"enum":["searchResearch"]}},"required":["action"]},"then":{"required":["query"]}},"x-payment-info":{"price":{"amount":"0.02","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"heavy"}},"/api/x402/v1/data/social":{"get":{"description":"Crypto social intelligence and sentiment Paid duplicate of /api/v1/data/social; same handler, paid per call instead of a session or API key. Source: CoinGecko /simple/price + /search/trending; alternative.me Fear & Greed; cryptocurrency.cv /api/search.","operationId":"x402_v1DataSocial","parameters":[{"in":"query","name":"action","required":false,"schema":{"type":"string","enum":["getCryptoSentiment","getTrendingCrypto","searchNews","getInfluencerFeed"],"default":"getCryptoSentiment"}},{"in":"query","name":"query","required":false,"schema":{"type":"string","maxLength":200,"default":"BTC","description":"Coin id (sentiment) or news search term"},"description":"Coin id (sentiment) or news search term"},{"in":"query","name":"limit","required":false,"schema":{"type":"integer","minimum":1,"maximum":50,"default":10}},{"in":"query","name":"category","required":false,"schema":{"type":"string","enum":["all","bitcoin","ethereum","defi","trading"],"default":"all","description":"getInfluencerFeed only"},"description":"getInfluencerFeed only"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","const":true},"data":{"oneOf":[{"type":"object","properties":{"articles":{"type":"array","items":{"type":"object","properties":{"source":{"type":"string"},"text":{"type":"string","description":"Headline"},"timestamp":{"type":"string","description":"Publish time (ISO)"},"url":{"type":"string"},"sentiment":{"type":"string","enum":["bullish","bearish","neutral"]}}}},"query":{"type":"string"},"score":{"type":"integer","description":"0-100 blend of Fear&Greed and 24h price change"}},"required":["articles","query","score"]},{"type":"object","properties":{"fngValue":{"type":"number","description":"Fear & Greed index"},"topics":{"type":"array","items":{"type":"object","properties":{"rank":{"type":"integer"},"sentiment":{"type":"string","enum":["bullish","bearish","neutral"]},"topic":{"type":"string"},"volume24h":{"type":"integer"}},"required":["rank","sentiment","topic"]}}},"required":["fngValue","topics"]},{"type":"object","properties":{"articles":{"type":"array","items":{"type":"object","properties":{"source":{"type":"string"},"text":{"type":"string","description":"Headline"},"timestamp":{"type":"string","description":"Publish time (ISO)"},"url":{"type":"string"}},"required":["source","text","timestamp","url"]}},"query":{"type":"string"}},"required":["articles","query"]},{"type":"object","properties":{"category":{"type":"string"},"trendingCoins":{"type":"array","items":{"type":"object","properties":{"coinId":{"type":"string"},"marketCapRank":{"type":["integer","null"]},"name":{"type":"string"},"priceChange24h":{"type":"number"},"relatedNews":{"oneOf":[{"type":"object","properties":{"source":{"type":"string"},"text":{"type":"string","description":"Headline"},"timestamp":{"type":"string","description":"Publish time (ISO)"},"url":{"type":"string"}},"required":["source","text","timestamp","url"]},{"type":"null"}]},"symbol":{"type":"string"}}}}},"required":["category","trendingCoins"]}]},"meta":{"type":"object","properties":{"timestamp":{"type":"string","description":"ISO 8601 response time"},"creditsUsed":{"type":"integer","description":"Credits charged for this call"}},"required":["timestamp","creditsUsed"]}},"required":["success","data","meta"]}}},"description":"Crypto social intelligence and sentiment"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Crypto social intelligence and sentiment","tags":["Data API (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"action":{"type":"string","enum":["getCryptoSentiment","getTrendingCrypto","searchNews","getInfluencerFeed"],"default":"getCryptoSentiment"},"query":{"type":"string","maxLength":200,"default":"BTC","description":"Coin id (sentiment) or news search term"},"limit":{"type":"integer","minimum":1,"maximum":50,"default":10},"category":{"type":"string","enum":["all","bitcoin","ethereum","defi","trading"],"default":"all","description":"getInfluencerFeed only"}},"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/v1/data/sperax":{"get":{"description":"Sperax protocol data (USDs, SPA, farms, staking) Paid duplicate of /api/v1/data/sperax; same handler, paid per call instead of a session or API key. Source: Arbitrum RPC eth_call on Sperax contracts; DefiLlama /protocol/sperax + yields /pools; CoinGecko /simple/price.","operationId":"x402_v1DataSperax","parameters":[{"in":"query","name":"type","required":false,"schema":{"type":"string","enum":["overview","auto-yield","farms","staking","xspa","buyback"],"default":"overview","description":"Alias `metric`"},"description":"Alias `metric`"},{"in":"query","name":"metric","required":false,"schema":{"type":"string","description":"Alias for type"},"description":"Alias for type"},{"in":"query","name":"address","required":false,"schema":{"type":"string","description":"Wallet address for USDs balance (auto-yield only)"},"description":"Wallet address for USDs balance (auto-yield only)"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","const":true},"data":{"oneOf":[{"type":"object","properties":{"activeFarmsCount":{"type":"integer"},"autoYieldApy":{"type":"number"},"bestFarmApr":{"type":"number"},"farmsTvl":{"type":"number"},"spaPrice":{"type":"number"},"spaPriceChange24h":{"type":"number"},"totalBuyback":{"type":"number"},"totalProtocolTvl":{"type":"number"},"totalSpaStaked":{"type":"number"},"totalUsdsSupply":{"type":"number"},"totalVeSpa":{"type":"number"},"usdsPeg":{"type":"number"},"xspaCirculating":{"type":"number"},"yieldReserve":{"type":"number"}},"required":["activeFarmsCount","autoYieldApy","bestFarmApr","farmsTvl","spaPrice","spaPriceChange24h","totalBuyback","totalProtocolTvl","totalSpaStaked","totalUsdsSupply","totalVeSpa","usdsPeg","xspaCirculating","yieldReserve"]},{"type":"object","properties":{"aprIfRebasedNow":{"type":"number"},"autoYieldReserve":{"type":"number"},"collaterals":{"type":"array","items":{"type":"object","properties":{"mintEnabled":{"type":"boolean"},"mintFee":{"type":"number"},"redeemFee":{"type":"number"},"symbol":{"type":"string"}}}},"lastDistributionDate":{"type":"string","description":"ISO"},"latestApy":{"type":"number"},"minimumApr":{"type":"number"},"strategies":{"type":"array","items":{"type":"object","properties":{"apy":{"type":"number"},"collateral":{"type":"string"},"name":{"type":"string"},"protocol":{"type":"string"},"tvl":{"type":"number"}}}},"targetApr":{"type":"number"},"totalUsdsSupply":{"type":"number"},"tvlGeneratingYield":{"type":"number"},"usdsBalance":{"type":"string","description":"Wallet USDs balance (4dp) or '----' when no address"},"usdsSupplyReceivingYield":{"type":"number"}},"description":"type=auto-yield"},{"type":"object","properties":{"activeFarmsCount":{"type":"integer"},"bestApr":{"type":"number"},"totalTvl":{"type":"number"},"farms":{"type":"array","items":{"type":"object","properties":{"apr":{"type":"number"},"dex":{"type":"string"},"featured":{"type":"boolean"},"pair":{"type":"string"},"rewards":{"type":"array","items":{"type":"object","properties":{"amount":{"type":"number"},"token":{"type":"string"},"valueUsd":{"type":"number"}}}},"status":{"type":"string","enum":["Active","Ended"]},"tvl":{"type":"number"}}}}},"description":"type=farms"},{"type":"object","properties":{"avgLockupTime":{"type":"number","description":"years"},"emissions":{"type":"object","properties":{"rewardTokenAddress":{"type":"string"},"rewardsPerYear":{"type":"number"},"weeksFunded":{"type":"number"},"windowWeeks":{"type":"number"}}},"lastStakingApy4yr":{"type":"number"},"lastTotalSpaReward":{"type":"number"},"lockupTiers":{"type":"array","items":{"type":"object","properties":{"apy":{"type":"number"},"durationMonths":{"type":"integer"},"label":{"type":"string"}}}},"rewardPercentage":{"type":"number"},"spaInBuyback":{"type":"number"},"spaLockedToCirculatingPct":{"type":"number"},"totalSpaBuyback":{"type":"number"},"totalSpaLocked":{"type":"number"},"totalVeSpa":{"type":"number"}},"description":"type=staking"},{"type":"object","properties":{"circulatingSupply":{"type":"number"},"minVespaLockupDays":{"type":"integer"},"spaBurnt":{"type":"number"},"spaLockedInRedemption":{"type":"number"},"xspaToVespaRate":{"type":"number"}},"description":"type=xspa (static values)"},{"type":"object","properties":{"reserveBalance":{"type":"number"},"rewardPercentage":{"type":"number"},"spaPrice":{"type":"number"},"spaPriceUsds":{"type":"number"},"spaTotalSupply":{"type":"number"},"tokensAvailable":{"type":"array","items":{"type":"object","properties":{"balance":{"type":"number"},"symbol":{"type":"string"},"valueUsd":{"type":"number"}}}},"totalSpaBoughtBack":{"type":"number"},"totalUsdsPaid":{"type":"number"},"usdsInContract":{"type":"number"}},"description":"type=buyback"}]},"meta":{"type":"object","properties":{"timestamp":{"type":"string","description":"ISO 8601 response time"},"creditsUsed":{"type":"integer","description":"Credits charged for this call"}},"required":["timestamp","creditsUsed"]}},"required":["success","data","meta"]}}},"description":"Sperax protocol data (USDs, SPA, farms, staking)"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Sperax protocol data (USDs, SPA, farms, staking)","tags":["Data API (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"type":{"type":"string","enum":["overview","auto-yield","farms","staking","xspa","buyback"],"default":"overview","description":"Alias `metric`"},"metric":{"type":"string","description":"Alias for type"},"address":{"type":"string","description":"Wallet address for USDs balance (auto-yield only)"}},"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/v1/data/stablecoins":{"get":{"description":"Stablecoin supply data from DefiLlama Paid duplicate of /api/v1/data/stablecoins; same handler, paid per call instead of a session or API key. Source: DefiLlama stablecoins.llama.fi /stablecoins?includePrices=true.","operationId":"x402_v1DataStablecoins","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","const":true},"data":{"type":"object","properties":{"stablecoins":{"type":"array","items":{"type":"object","properties":{"chains":{"type":"array","items":{"type":"string"}},"id":{"type":"string"},"marketCap":{"type":"number","description":"Circulating peggedUSD"},"name":{"type":"string"},"pegMechanism":{"type":"string"},"pegType":{"type":"string"},"price":{"type":["number","null"]},"symbol":{"type":"string"}},"required":["chains","id","marketCap","name","pegMechanism","pegType","price","symbol"]},"description":"Sorted by marketCap desc; zero-supply entries dropped"},"totalMcap":{"type":"number"}},"required":["stablecoins","totalMcap"]},"meta":{"type":"object","properties":{"timestamp":{"type":"string","description":"ISO 8601 response time"},"creditsUsed":{"type":"integer","description":"Credits charged for this call"}},"required":["timestamp","creditsUsed"]}},"required":["success","data","meta"]}}},"description":"Stablecoin supply data from DefiLlama"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Stablecoin supply data from DefiLlama","tags":["Data API (paid duplicate)"],"x-input-schema":{"type":"object","properties":{},"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/v1/data/swap-quote":{"get":{"description":"DEX swap quote via LI.FI Paid duplicate of /api/v1/data/swap-quote; same handler, paid per call instead of a session or API key. Source: LI.FI /v1/quote, /v1/chains, /v1/tokens.","operationId":"x402_v1DataSwapQuote","parameters":[{"in":"query","name":"endpoint","required":false,"schema":{"type":"string","enum":["quote","chains","tokens"],"default":"quote"}},{"in":"query","name":"from","required":false,"schema":{"type":"string","maxLength":128,"description":"From token address (alias fromToken); required for quote"},"description":"From token address (alias fromToken); required for quote"},{"in":"query","name":"to","required":false,"schema":{"type":"string","maxLength":128,"description":"To token address (alias toToken); required for quote"},"description":"To token address (alias toToken); required for quote"},{"in":"query","name":"amount","required":false,"schema":{"type":"string","pattern":"^\\d+$","maxLength":78,"description":"Amount in base units (alias fromAmount); required for quote"},"description":"Amount in base units (alias fromAmount); required for quote"},{"in":"query","name":"fromChain","required":false,"schema":{"type":"string","pattern":"^\\d{1,10}$","default":"42161","description":"Chain id (alias chain)"},"description":"Chain id (alias chain)"},{"in":"query","name":"toChain","required":false,"schema":{"type":"string","pattern":"^\\d{1,10}$","description":"Defaults to fromChain"},"description":"Defaults to fromChain"},{"in":"query","name":"fromAddress","required":false,"schema":{"type":"string","maxLength":64,"default":"0x0000000000000000000000000000000000000000"}},{"in":"query","name":"chains","required":false,"schema":{"type":"string","description":"Comma-separated chain ids/keys for endpoint=tokens"},"description":"Comma-separated chain ids/keys for endpoint=tokens"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","const":true},"data":{"description":"LI.FI response passed through unchanged","oneOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"tool":{"type":"string"},"toolDetails":{"type":"object","additionalProperties":true},"action":{"type":"object","properties":{"fromChainId":{"type":"integer"},"toChainId":{"type":"integer"},"fromToken":{"type":"object","additionalProperties":true},"toToken":{"type":"object","additionalProperties":true},"fromAmount":{"type":"string"},"slippage":{"type":"number"},"fromAddress":{"type":"string"},"toAddress":{"type":"string"}},"additionalProperties":true},"estimate":{"type":"object","properties":{"fromAmount":{"type":"string"},"toAmount":{"type":"string"},"toAmountMin":{"type":"string"},"approvalAddress":{"type":"string"},"executionDuration":{"type":"number"},"feeCosts":{"type":"array","items":{"type":"object","additionalProperties":true}},"gasCosts":{"type":"array","items":{"type":"object","additionalProperties":true}},"fromAmountUSD":{"type":"string"},"toAmountUSD":{"type":"string"}},"additionalProperties":true},"includedSteps":{"type":"array","items":{"type":"object","additionalProperties":true}},"transactionRequest":{"type":"object","additionalProperties":true}},"description":"endpoint=quote: LI.FI /v1/quote step","additionalProperties":true},{"type":"object","properties":{"chains":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"key":{"type":"string"},"name":{"type":"string"},"chainType":{"type":"string"},"coin":{"type":"string"},"nativeToken":{"type":"object","additionalProperties":true}},"additionalProperties":true}}},"description":"endpoint=chains"},{"type":"object","properties":{"tokens":{"type":"object","description":"Map chainId -> token list","additionalProperties":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"integer"},"chainId":{"type":"integer"},"name":{"type":"string"},"priceUSD":{"type":"string"},"logoURI":{"type":"string"}},"additionalProperties":true}}}},"description":"endpoint=tokens"}]},"meta":{"type":"object","properties":{"timestamp":{"type":"string","description":"ISO 8601 response time"},"creditsUsed":{"type":"integer","description":"Credits charged for this call"}},"required":["timestamp","creditsUsed"]}},"required":["success","data","meta"]}}},"description":"DEX swap quote via LI.FI"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"DEX swap quote via LI.FI","tags":["Data API (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"endpoint":{"type":"string","enum":["quote","chains","tokens"],"default":"quote"},"from":{"type":"string","maxLength":128,"description":"From token address (alias fromToken); required for quote"},"to":{"type":"string","maxLength":128,"description":"To token address (alias toToken); required for quote"},"amount":{"type":"string","pattern":"^\\d+$","maxLength":78,"description":"Amount in base units (alias fromAmount); required for quote"},"fromChain":{"type":"string","pattern":"^\\d{1,10}$","default":"42161","description":"Chain id (alias chain)"},"toChain":{"type":"string","pattern":"^\\d{1,10}$","description":"Defaults to fromChain"},"fromAddress":{"type":"string","maxLength":64,"default":"0x0000000000000000000000000000000000000000"},"chains":{"type":"string","description":"Comma-separated chain ids/keys for endpoint=tokens"}},"additionalProperties":false,"else":{"required":["from","to","amount"]},"if":{"properties":{"endpoint":{"enum":["chains","tokens"]}},"required":["endpoint"]}},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/v1/data/token-holders":{"get":{"description":"Token holder data from Etherscan Paid duplicate of /api/v1/data/token-holders; same handler, paid per call instead of a session or API key. Source: Etherscan v2 token/tokenholderlist (chainid=1).","operationId":"x402_v1DataTokenHolders","parameters":[{"in":"query","name":"address","required":false,"schema":{"type":"string","description":"ERC-20 contract address on Ethereum mainnet"},"description":"ERC-20 contract address on Ethereum mainnet"},{"in":"query","name":"id","required":false,"schema":{"type":"string","enum":["aave","compound-governance-token","curve-dao-token","lido-dao","maker","uniswap"],"description":"Known token id, used when address is absent"},"description":"Known token id, used when address is absent"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","const":true},"data":{"type":"object","properties":{"contractAddress":{"type":"string"},"holderCount":{"type":"integer","description":"Number of holders returned by Etherscan (max 100); absent when upstream returned no data"},"holders":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"quantity":{"type":"string","description":"Raw token units"}},"required":["address","quantity"]},"description":"Top 50"}},"required":["contractAddress","holders"]},"meta":{"type":"object","properties":{"timestamp":{"type":"string","description":"ISO 8601 response time"},"creditsUsed":{"type":"integer","description":"Credits charged for this call"}},"required":["timestamp","creditsUsed"]}},"required":["success","data","meta"]}}},"description":"Token holder data from Etherscan"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Token holder data from Etherscan","tags":["Data API (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"address":{"type":"string","description":"ERC-20 contract address on Ethereum mainnet"},"id":{"type":"string","enum":["aave","compound-governance-token","curve-dao-token","lido-dao","maker","uniswap"],"description":"Known token id, used when address is absent"}},"additionalProperties":false,"anyOf":[{"required":["address"]},{"required":["id"]}]},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/v1/data/token-markets":{"get":{"description":"Token market data from CoinGecko Paid duplicate of /api/v1/data/token-markets; same handler, paid per call instead of a session or API key. Source: CoinGecko /coins/markets (vs_currency=usd, per_page=100, price_change_percentage=7d).","operationId":"x402_v1DataTokenMarkets","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","const":true},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"symbol":{"type":"string"},"name":{"type":"string"},"image":{"type":"string"},"current_price":{"type":["number","null"]},"market_cap":{"type":["number","null"]},"market_cap_rank":{"type":["integer","null"]},"fully_diluted_valuation":{"type":["number","null"]},"total_volume":{"type":["number","null"]},"high_24h":{"type":["number","null"]},"low_24h":{"type":["number","null"]},"price_change_24h":{"type":["number","null"]},"price_change_percentage_24h":{"type":["number","null"]},"market_cap_change_24h":{"type":["number","null"]},"market_cap_change_percentage_24h":{"type":["number","null"]},"circulating_supply":{"type":["number","null"]},"total_supply":{"type":["number","null"]},"max_supply":{"type":["number","null"]},"ath":{"type":["number","null"]},"ath_change_percentage":{"type":["number","null"]},"ath_date":{"type":"string"},"atl":{"type":["number","null"]},"atl_change_percentage":{"type":["number","null"]},"atl_date":{"type":"string"},"roi":{"type":["object","null"],"additionalProperties":true},"last_updated":{"type":"string"},"price_change_percentage_7d_in_currency":{"type":["number","null"]}},"required":["id","symbol","name"],"additionalProperties":true},"description":"Top 100 coins by market cap (USD)"},"meta":{"type":"object","properties":{"timestamp":{"type":"string","description":"ISO 8601 response time"},"creditsUsed":{"type":"integer","description":"Credits charged for this call"}},"required":["timestamp","creditsUsed"]}},"required":["success","data","meta"]}}},"description":"Token market data from CoinGecko"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Token market data from CoinGecko","tags":["Data API (paid duplicate)"],"x-input-schema":{"type":"object","properties":{},"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/v1/data/yield-pools":{"get":{"description":"Yield pool detail from DefiLlama Paid duplicate of /api/v1/data/yield-pools; same handler, paid per call instead of a session or API key. Source: DefiLlama yields /pools + /chart/{pool}.","operationId":"x402_v1DataYieldPools","parameters":[{"in":"query","name":"pool","required":true,"schema":{"type":"string","description":"DefiLlama pool UUID (alias poolId)"},"description":"DefiLlama pool UUID (alias poolId)"},{"in":"query","name":"poolId","required":false,"schema":{"type":"string","description":"Alias for pool"},"description":"Alias for pool"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","const":true},"data":{"type":"object","properties":{"pool":{"type":"object","properties":{"pool":{"type":"string","description":"DefiLlama pool UUID"},"chain":{"type":"string"},"project":{"type":"string"},"symbol":{"type":"string"},"tvlUsd":{"type":"number"},"apy":{"type":["number","null"]},"apyBase":{"type":["number","null"]},"apyReward":{"type":["number","null"]},"rewardTokens":{"type":["array","null"],"items":{"type":"string"}},"underlyingTokens":{"type":["array","null"],"items":{"type":"string"}},"stablecoin":{"type":"boolean"},"ilRisk":{"type":"string"},"exposure":{"type":"string"},"apyPct1D":{"type":["number","null"]},"apyPct7D":{"type":["number","null"]},"apyPct30D":{"type":["number","null"]},"apyMean30d":{"type":["number","null"]},"poolMeta":{"type":["string","null"]},"predictions":{"type":"object","additionalProperties":true}},"required":["pool","chain","project","symbol","tvlUsd"],"additionalProperties":true},"apyHistory":{"type":"array","items":{"type":"object","properties":{"apy":{"type":"number"},"date":{"type":"integer","description":"Unix seconds"},"tvl":{"type":"number","description":"USD"}},"required":["apy","date","tvl"]},"description":"From yields /chart/{pool}; empty if chart fetch fails"}},"required":["pool","apyHistory"]},"meta":{"type":"object","properties":{"timestamp":{"type":"string","description":"ISO 8601 response time"},"creditsUsed":{"type":"integer","description":"Credits charged for this call"}},"required":["timestamp","creditsUsed"]}},"required":["success","data","meta"]}}},"description":"Yield pool detail from DefiLlama"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Yield pool detail from DefiLlama","tags":["Data API (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"pool":{"type":"string","description":"DefiLlama pool UUID (alias poolId)"},"poolId":{"type":"string","description":"Alias for pool"}},"required":["pool"],"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/v1/data/yield-vaults":{"get":{"description":"Yield vaults from Yearn V3 and Beefy Paid duplicate of /api/v1/data/yield-vaults; same handler, paid per call instead of a session or API key. Source: Yearn yDaemon /{chainId}/vaults/all; Beefy /vaults, /apy, /tvl.","operationId":"x402_v1DataYieldVaults","parameters":[{"in":"query","name":"protocol","required":false,"schema":{"type":"string","enum":["yearn","beefy"],"description":"Filter to one source (case-insensitive); default both"},"description":"Filter to one source (case-insensitive); default both"},{"in":"query","name":"chain","required":false,"schema":{"type":"string","description":"Chain name filter, case-insensitive (Yearn supports ethereum, optimism, polygon, arbitrum, base; Beefy uses its chain keys)"},"description":"Chain name filter, case-insensitive (Yearn supports ethereum, optimism, polygon, arbitrum, base; Beefy uses its chain keys)"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","const":true},"data":{"type":"array","items":{"type":"object","properties":{"apy":{"type":"number","description":"Percent"},"chain":{"type":"string"},"id":{"type":"string","description":"yearn-<address> or beefy-<id>"},"name":{"type":"string"},"protocol":{"type":"string","enum":["yearn","beefy"]},"token":{"type":"string"},"tvl":{"type":"number","description":"USD"},"vaultAddress":{"type":"string"}},"required":["apy","chain","id","name","protocol","token","tvl","vaultAddress"]},"description":"Vaults with APY>0, sorted by TVL desc, max 200"},"meta":{"type":"object","properties":{"timestamp":{"type":"string","description":"ISO 8601 response time"},"creditsUsed":{"type":"integer","description":"Credits charged for this call"}},"required":["timestamp","creditsUsed"]}},"required":["success","data","meta"]}}},"description":"Yield vaults from Yearn V3 and Beefy"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Yield vaults from Yearn V3 and Beefy","tags":["Data API (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"protocol":{"type":"string","enum":["yearn","beefy"],"description":"Filter to one source (case-insensitive); default both"},"chain":{"type":"string","description":"Chain name filter, case-insensitive (Yearn supports ethereum, optimism, polygon, arbitrum, base; Beefy uses its chain keys)"}},"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/v1/erc8004/agents":{"get":{"description":"List agents on a chain Paid duplicate of /api/v1/erc8004/agents; same handler, paid per call instead of a session or API key. Source: ERC-8004 identity, reputation and validation registries (on-chain via RPC and The Graph).","operationId":"x402_v1Erc8004Agents","parameters":[{"in":"query","name":"chain","required":false,"schema":{"default":"arbitrum","description":"Network the ERC-8004 registries are read from","enum":["arbitrum","arbitrum-sepolia","base","base-sepolia","bsc-mainnet","bsc-testnet","ethereum","optimism","optimism-sepolia","polygon","polygon-amoy","sepolia"],"type":"string"},"description":"Network the ERC-8004 registries are read from"},{"in":"query","name":"page","required":false,"schema":{"type":"integer","minimum":1,"default":1}},{"in":"query","name":"limit","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":20}},{"in":"query","name":"owner","required":true,"schema":{"description":"Owner address whose agents to list","pattern":"^0x[a-fA-F0-9]{40}$","type":"string"},"description":"Owner address whose agents to list"}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"success":{"type":"boolean","const":true},"data":{},"meta":{"type":"object","properties":{"timestamp":{"type":"string","format":"date-time"},"cached":{"type":"boolean"},"creditsUsed":{"type":"integer"}}}},"required":["success","data","meta"]},{"type":"object","properties":{"data":{"type":"object","properties":{"agents":{"type":"array","items":{"type":"object","properties":{"agentId":{"type":"string"},"chain":{"type":"string"},"owner":{"type":"string"},"uri":{"type":"string"},"metadata":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"image":{"type":"string"},"services":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"endpoint":{"type":"string"},"method":{"type":"string"},"type":{"type":"string"}},"required":["name","endpoint"]}},"trust":{"type":"array","items":{"type":"string"}},"version":{"type":"string"}},"required":["name","description","services"]}},"required":["agentId","chain","owner","uri","metadata"]}},"page":{"type":"integer"},"limit":{"type":"integer"},"total":{"type":"integer"}},"required":["agents","page","limit","total"]}}}]}}},"description":"List agents on a chain"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"List agents on a chain","tags":["ERC-8004 (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"chain":{"default":"arbitrum","description":"Network the ERC-8004 registries are read from","enum":["arbitrum","arbitrum-sepolia","base","base-sepolia","bsc-mainnet","bsc-testnet","ethereum","optimism","optimism-sepolia","polygon","polygon-amoy","sepolia"],"type":"string"},"page":{"type":"integer","minimum":1,"default":1},"limit":{"type":"integer","minimum":1,"maximum":100,"default":20},"owner":{"description":"Owner address whose agents to list","pattern":"^0x[a-fA-F0-9]{40}$","type":"string"}},"required":["owner"],"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/v1/erc8004/agents/{agentId}":{"get":{"description":"Get an agent by ID Paid duplicate of /api/v1/erc8004/agents/{agentId}; same handler, paid per call instead of a session or API key. Source: ERC-8004 identity, reputation and validation registries (on-chain via RPC and The Graph).","operationId":"x402_v1Erc8004AgentsAgentId","parameters":[{"in":"path","name":"agentId","required":true,"schema":{"type":"string"}},{"in":"query","name":"chain","required":false,"schema":{"default":"arbitrum","description":"Network the ERC-8004 registries are read from","enum":["arbitrum","arbitrum-sepolia","base","base-sepolia","bsc-mainnet","bsc-testnet","ethereum","optimism","optimism-sepolia","polygon","polygon-amoy","sepolia"],"type":"string"},"description":"Network the ERC-8004 registries are read from"}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"success":{"type":"boolean","const":true},"data":{},"meta":{"type":"object","properties":{"timestamp":{"type":"string","format":"date-time"},"cached":{"type":"boolean"},"creditsUsed":{"type":"integer"}}}},"required":["success","data","meta"]},{"type":"object","properties":{"data":{"type":"object","properties":{"agentId":{"type":"string"},"chain":{"type":"string"},"owner":{"type":"string"},"uri":{"type":"string"},"metadata":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"image":{"type":"string"},"services":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"endpoint":{"type":"string"},"method":{"type":"string"},"type":{"type":"string"}},"required":["name","endpoint"]}},"trust":{"type":"array","items":{"type":"string"}},"version":{"type":"string"}},"required":["name","description","services"]}},"required":["agentId","chain","owner","uri","metadata"]}}}]}}},"description":"Get an agent by ID"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get an agent by ID","tags":["ERC-8004 (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"chain":{"default":"arbitrum","description":"Network the ERC-8004 registries are read from","enum":["arbitrum","arbitrum-sepolia","base","base-sepolia","bsc-mainnet","bsc-testnet","ethereum","optimism","optimism-sepolia","polygon","polygon-amoy","sepolia"],"type":"string"}},"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/v1/erc8004/agents/search":{"get":{"description":"Search agents by name or metadata Paid duplicate of /api/v1/erc8004/agents/search; same handler, paid per call instead of a session or API key. Source: ERC-8004 identity, reputation and validation registries (on-chain via RPC and The Graph).","operationId":"x402_v1Erc8004AgentsSearch","parameters":[{"in":"query","name":"q","required":true,"schema":{"type":"string"}},{"in":"query","name":"chain","required":false,"schema":{"default":"arbitrum","description":"Network the ERC-8004 registries are read from","enum":["arbitrum","arbitrum-sepolia","base","base-sepolia","bsc-mainnet","bsc-testnet","ethereum","optimism","optimism-sepolia","polygon","polygon-amoy","sepolia"],"type":"string"},"description":"Network the ERC-8004 registries are read from"},{"in":"query","name":"limit","required":false,"schema":{"type":"integer","minimum":1,"maximum":50,"default":10}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"success":{"type":"boolean","const":true},"data":{},"meta":{"type":"object","properties":{"timestamp":{"type":"string","format":"date-time"},"cached":{"type":"boolean"},"creditsUsed":{"type":"integer"}}}},"required":["success","data","meta"]},{"type":"object","properties":{"data":{"type":"object","properties":{"agents":{"type":"array","items":{"type":"object","properties":{"agentId":{"type":"string"},"chain":{"type":"string"},"owner":{"type":"string"},"uri":{"type":"string"},"metadata":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"image":{"type":"string"},"services":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"endpoint":{"type":"string"},"method":{"type":"string"},"type":{"type":"string"}},"required":["name","endpoint"]}},"trust":{"type":"array","items":{"type":"string"}},"version":{"type":"string"}},"required":["name","description","services"]}},"required":["agentId","chain","owner","uri","metadata"]}},"count":{"type":"integer"},"query":{"type":"string"}},"required":["agents","count","query"]}}}]}}},"description":"Search agents by name or metadata"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Search agents by name or metadata","tags":["ERC-8004 (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"q":{"type":"string"},"chain":{"default":"arbitrum","description":"Network the ERC-8004 registries are read from","enum":["arbitrum","arbitrum-sepolia","base","base-sepolia","bsc-mainnet","bsc-testnet","ethereum","optimism","optimism-sepolia","polygon","polygon-amoy","sepolia"],"type":"string"},"limit":{"type":"integer","minimum":1,"maximum":50,"default":10}},"required":["q"],"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/v1/erc8004/agents/search-all":{"get":{"description":"Search agents across all chains Paid duplicate of /api/v1/erc8004/agents/search-all; same handler, paid per call instead of a session or API key. Source: ERC-8004 identity, reputation and validation registries (on-chain via RPC and The Graph).","operationId":"x402_v1Erc8004AgentsSearchAll","parameters":[{"in":"query","name":"q","required":true,"schema":{"type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"type":"integer","minimum":1,"maximum":20,"default":5}},{"in":"query","name":"chain","required":false,"schema":{"default":"arbitrum","description":"Network the ERC-8004 registries are read from","enum":["arbitrum","arbitrum-sepolia","base","base-sepolia","bsc-mainnet","bsc-testnet","ethereum","optimism","optimism-sepolia","polygon","polygon-amoy","sepolia"],"type":"string"},"description":"Network the ERC-8004 registries are read from"}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"success":{"type":"boolean","const":true},"data":{},"meta":{"type":"object","properties":{"timestamp":{"type":"string","format":"date-time"},"cached":{"type":"boolean"},"creditsUsed":{"type":"integer"}}}},"required":["success","data","meta"]},{"type":"object","properties":{"data":{"type":"object","properties":{"chainsSearched":{"type":"array","items":{"type":"string"}},"results":{"type":"array","items":{"type":"object","properties":{"chain":{"type":"string"},"agents":{"type":"array","items":{"type":"object","properties":{"agentId":{"type":"string"},"chain":{"type":"string"},"owner":{"type":"string"},"uri":{"type":"string"},"metadata":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"image":{"type":"string"},"services":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"endpoint":{"type":"string"},"method":{"type":"string"},"type":{"type":"string"}},"required":["name","endpoint"]}},"trust":{"type":"array","items":{"type":"string"}},"version":{"type":"string"}},"required":["name","description","services"]}},"required":["agentId","chain","owner","uri","metadata"]}},"error":{"type":"string"}},"required":["chain","agents"]}},"totalFound":{"type":"integer"}},"required":["chainsSearched","results","totalFound"]}}}]}}},"description":"Search agents across all chains"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Search agents across all chains","tags":["ERC-8004 (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"q":{"type":"string"},"limit":{"type":"integer","minimum":1,"maximum":20,"default":5},"chain":{"default":"arbitrum","description":"Network the ERC-8004 registries are read from","enum":["arbitrum","arbitrum-sepolia","base","base-sepolia","bsc-mainnet","bsc-testnet","ethereum","optimism","optimism-sepolia","polygon","polygon-amoy","sepolia"],"type":"string"}},"required":["q"],"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/v1/erc8004/reputation/{agentId}":{"get":{"description":"Get reputation for an agent Paid duplicate of /api/v1/erc8004/reputation/{agentId}; same handler, paid per call instead of a session or API key. Source: ERC-8004 identity, reputation and validation registries (on-chain via RPC and The Graph).","operationId":"x402_v1Erc8004ReputationAgentId","parameters":[{"in":"path","name":"agentId","required":true,"schema":{"type":"string"}},{"in":"query","name":"chain","required":false,"schema":{"default":"arbitrum","description":"Network the ERC-8004 registries are read from","enum":["arbitrum","arbitrum-sepolia","base","base-sepolia","bsc-mainnet","bsc-testnet","ethereum","optimism","optimism-sepolia","polygon","polygon-amoy","sepolia"],"type":"string"},"description":"Network the ERC-8004 registries are read from"},{"in":"query","name":"limit","required":false,"schema":{"type":"integer","minimum":1,"maximum":50,"default":10}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"success":{"type":"boolean","const":true},"data":{},"meta":{"type":"object","properties":{"timestamp":{"type":"string","format":"date-time"},"cached":{"type":"boolean"},"creditsUsed":{"type":"integer"}}}},"required":["success","data","meta"]},{"type":"object","properties":{"data":{"type":"object","properties":{"agentId":{"type":"string"},"chain":{"type":"string"},"averageScore":{"type":"number"},"feedbackCount":{"type":"integer"},"positiveFeedback":{"type":"integer"},"totalFeedback":{"type":"integer"},"recentFeedback":{"type":"array","items":{"type":"object","properties":{"from":{"type":"string"},"score":{"type":"number"},"comment":{"type":"string"},"timestamp":{"type":"string"}},"required":["from","score","comment","timestamp"]}}},"required":["agentId","chain","averageScore","feedbackCount","recentFeedback"]}}}]}}},"description":"Get reputation for an agent"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get reputation for an agent","tags":["ERC-8004 (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"chain":{"default":"arbitrum","description":"Network the ERC-8004 registries are read from","enum":["arbitrum","arbitrum-sepolia","base","base-sepolia","bsc-mainnet","bsc-testnet","ethereum","optimism","optimism-sepolia","polygon","polygon-amoy","sepolia"],"type":"string"},"limit":{"type":"integer","minimum":1,"maximum":50,"default":10}},"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/v1/erc8004/validation/{agentId}":{"get":{"description":"Get validation status for an agent Paid duplicate of /api/v1/erc8004/validation/{agentId}; same handler, paid per call instead of a session or API key. Source: ERC-8004 identity, reputation and validation registries (on-chain via RPC and The Graph).","operationId":"x402_v1Erc8004ValidationAgentId","parameters":[{"in":"path","name":"agentId","required":true,"schema":{"type":"string"}},{"in":"query","name":"chain","required":false,"schema":{"default":"arbitrum","description":"Network the ERC-8004 registries are read from","enum":["arbitrum","arbitrum-sepolia","base","base-sepolia","bsc-mainnet","bsc-testnet","ethereum","optimism","optimism-sepolia","polygon","polygon-amoy","sepolia"],"type":"string"},"description":"Network the ERC-8004 registries are read from"},{"in":"query","name":"check","required":false,"schema":{"description":"\"true\" to check validation status instead of listing records","enum":["true","false"],"type":"string"},"description":"\"true\" to check validation status instead of listing records"}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"success":{"type":"boolean","const":true},"data":{},"meta":{"type":"object","properties":{"timestamp":{"type":"string","format":"date-time"},"cached":{"type":"boolean"},"creditsUsed":{"type":"integer"}}}},"required":["success","data","meta"]},{"type":"object","properties":{"data":{"type":"object","properties":{"agentId":{"type":"string"},"chain":{"type":"string"},"validated":{"type":"boolean"},"details":{}},"required":["agentId","chain","validated"]}}}]}}},"description":"Get validation status for an agent"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get validation status for an agent","tags":["ERC-8004 (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"chain":{"default":"arbitrum","description":"Network the ERC-8004 registries are read from","enum":["arbitrum","arbitrum-sepolia","base","base-sepolia","bsc-mainnet","bsc-testnet","ethereum","optimism","optimism-sepolia","polygon","polygon-amoy","sepolia"],"type":"string"},"check":{"description":"\"true\" to check validation status instead of listing records","enum":["true","false"],"type":"string"}},"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/v1/erc8004/metadata/{agentId}":{"get":{"description":"Get metadata for an agent Paid duplicate of /api/v1/erc8004/metadata/{agentId}; same handler, paid per call instead of a session or API key. Source: ERC-8004 identity, reputation and validation registries (on-chain via RPC and The Graph).","operationId":"x402_v1Erc8004MetadataAgentId","parameters":[{"in":"path","name":"agentId","required":true,"schema":{"type":"string"}},{"in":"query","name":"chain","required":false,"schema":{"default":"arbitrum","description":"Network the ERC-8004 registries are read from","enum":["arbitrum","arbitrum-sepolia","base","base-sepolia","bsc-mainnet","bsc-testnet","ethereum","optimism","optimism-sepolia","polygon","polygon-amoy","sepolia"],"type":"string"},"description":"Network the ERC-8004 registries are read from"},{"in":"query","name":"key","required":true,"schema":{"description":"Metadata key to read","minLength":1,"type":"string"},"description":"Metadata key to read"}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"success":{"type":"boolean","const":true},"data":{},"meta":{"type":"object","properties":{"timestamp":{"type":"string","format":"date-time"},"cached":{"type":"boolean"},"creditsUsed":{"type":"integer"}}}},"required":["success","data","meta"]},{"type":"object","properties":{"data":{"type":"object","properties":{"agentId":{"type":"string"},"chain":{"type":"string"},"metadata":{"type":"object","additionalProperties":true}},"required":["agentId","chain","metadata"]}}}]}}},"description":"Get metadata for an agent"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get metadata for an agent","tags":["ERC-8004 (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"chain":{"default":"arbitrum","description":"Network the ERC-8004 registries are read from","enum":["arbitrum","arbitrum-sepolia","base","base-sepolia","bsc-mainnet","bsc-testnet","ethereum","optimism","optimism-sepolia","polygon","polygon-amoy","sepolia"],"type":"string"},"key":{"description":"Metadata key to read","minLength":1,"type":"string"}},"required":["key"],"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/v1/erc8004/metadata/batch":{"post":{"description":"Batch get metadata for up to 50 agents Paid duplicate of /api/v1/erc8004/metadata/batch; same handler, paid per call instead of a session or API key. Source: ERC-8004 identity, reputation and validation registries (on-chain via RPC and The Graph).","operationId":"x402_v1Erc8004MetadataBatch","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string","default":"arbitrum"},"agentIds":{"type":"array","items":{"type":"string"},"minItems":1,"maxItems":50}},"required":["agentIds"],"additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"success":{"type":"boolean","const":true},"data":{},"meta":{"type":"object","properties":{"timestamp":{"type":"string","format":"date-time"},"cached":{"type":"boolean"},"creditsUsed":{"type":"integer"}}}},"required":["success","data","meta"]},{"type":"object","properties":{"data":{"type":"object","properties":{"chain":{"type":"string"},"entries":{"type":"array","items":{"type":"object","properties":{"agentId":{"type":"string"},"metadata":{"type":"object","additionalProperties":true}},"required":["agentId","metadata"]}}},"required":["chain","entries"]}}}]}}},"description":"Batch get metadata for up to 50 agents"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Batch get metadata for up to 50 agents","tags":["ERC-8004 (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"chain":{"type":"string","default":"arbitrum"},"agentIds":{"type":"array","items":{"type":"string"},"minItems":1,"maxItems":50}},"required":["agentIds"],"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/v1/erc8004/count":{"get":{"description":"Get on-chain agent count Paid duplicate of /api/v1/erc8004/count; same handler, paid per call instead of a session or API key. Source: ERC-8004 identity, reputation and validation registries (on-chain via RPC and The Graph).","operationId":"x402_v1Erc8004Count","parameters":[{"in":"query","name":"chain","required":false,"schema":{"default":"arbitrum","description":"Network the ERC-8004 registries are read from","enum":["arbitrum","arbitrum-sepolia","base","base-sepolia","bsc-mainnet","bsc-testnet","ethereum","optimism","optimism-sepolia","polygon","polygon-amoy","sepolia"],"type":"string"},"description":"Network the ERC-8004 registries are read from"}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"success":{"type":"boolean","const":true},"data":{},"meta":{"type":"object","properties":{"timestamp":{"type":"string","format":"date-time"},"cached":{"type":"boolean"},"creditsUsed":{"type":"integer"}}}},"required":["success","data","meta"]},{"type":"object","properties":{"data":{"type":"object","properties":{"chain":{"type":"string"},"count":{"type":"integer"}},"required":["chain","count"]}}}]}}},"description":"Get on-chain agent count"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get on-chain agent count","tags":["ERC-8004 (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"chain":{"default":"arbitrum","description":"Network the ERC-8004 registries are read from","enum":["arbitrum","arbitrum-sepolia","base","base-sepolia","bsc-mainnet","bsc-testnet","ethereum","optimism","optimism-sepolia","polygon","polygon-amoy","sepolia"],"type":"string"}},"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/v1/erc8004/register":{"post":{"description":"Build unsigned register transaction Paid duplicate of /api/v1/erc8004/register; same handler, paid per call instead of a session or API key. Source: ERC-8004 identity, reputation and validation registries (on-chain via RPC and The Graph).","operationId":"x402_v1Erc8004Register","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string","default":"arbitrum"},"name":{"type":"string","minLength":1,"maxLength":256},"description":{"type":"string","maxLength":2000},"metadataUri":{"type":"string","format":"uri"},"walletAddress":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"}},"required":["name","walletAddress"],"additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"success":{"type":"boolean","const":true},"data":{},"meta":{"type":"object","properties":{"timestamp":{"type":"string","format":"date-time"},"cached":{"type":"boolean"},"creditsUsed":{"type":"integer"}}}},"required":["success","data","meta"]},{"type":"object","properties":{"data":{"type":"object","properties":{"mode":{"type":"string","enum":["wallet-sign"]},"description":{"type":"string"},"transaction":{"type":"object","properties":{"to":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"data":{"type":"string"},"value":{"type":"string"},"chainId":{"type":"integer"}},"required":["to","data","value","chainId"]}},"required":["mode","description","transaction"]}}}]}}},"description":"Build unsigned register transaction"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Build unsigned register transaction","tags":["ERC-8004 (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"chain":{"type":"string","default":"arbitrum"},"name":{"type":"string","minLength":1,"maxLength":256},"description":{"type":"string","maxLength":2000},"metadataUri":{"type":"string","format":"uri"},"walletAddress":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"}},"required":["name","walletAddress"],"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/v1/erc8004/feedback":{"post":{"description":"Build unsigned feedback transaction Paid duplicate of /api/v1/erc8004/feedback; same handler, paid per call instead of a session or API key. Source: ERC-8004 identity, reputation and validation registries (on-chain via RPC and The Graph).","operationId":"x402_v1Erc8004Feedback","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string","default":"arbitrum"},"agentId":{"type":"string"},"score":{"type":"integer","minimum":-128,"maximum":127},"comment":{"type":"string","minLength":1,"maxLength":1000},"walletAddress":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"}},"required":["agentId","score","comment","walletAddress"],"additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"success":{"type":"boolean","const":true},"data":{},"meta":{"type":"object","properties":{"timestamp":{"type":"string","format":"date-time"},"cached":{"type":"boolean"},"creditsUsed":{"type":"integer"}}}},"required":["success","data","meta"]},{"type":"object","properties":{"data":{"type":"object","properties":{"mode":{"type":"string","enum":["wallet-sign"]},"description":{"type":"string"},"transaction":{"type":"object","properties":{"to":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"data":{"type":"string"},"value":{"type":"string"},"chainId":{"type":"integer"}},"required":["to","data","value","chainId"]}},"required":["mode","description","transaction"]}}}]}}},"description":"Build unsigned feedback transaction"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Build unsigned feedback transaction","tags":["ERC-8004 (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"chain":{"type":"string","default":"arbitrum"},"agentId":{"type":"string"},"score":{"type":"integer","minimum":-128,"maximum":127},"comment":{"type":"string","minLength":1,"maxLength":1000},"walletAddress":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"}},"required":["agentId","score","comment","walletAddress"],"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/v1/erc8004/subgraph":{"post":{"description":"Run subgraph GraphQL query Paid duplicate of /api/v1/erc8004/subgraph; same handler, paid per call instead of a session or API key. Source: ERC-8004 identity, reputation and validation registries (on-chain via RPC and The Graph).","operationId":"x402_v1Erc8004Subgraph","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"query":{"type":"string","minLength":1,"maxLength":10000},"variables":{"type":"object","additionalProperties":true}},"required":["chain","query"],"additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"success":{"type":"boolean","const":true},"data":{},"meta":{"type":"object","properties":{"timestamp":{"type":"string","format":"date-time"},"cached":{"type":"boolean"},"creditsUsed":{"type":"integer"}}}},"required":["success","data","meta"]},{"type":"object","properties":{"data":{"type":"object","properties":{"query":{"type":"string"},"data":{"type":["object","array","null"],"additionalProperties":true}},"required":["query","data"]}}}]}}},"description":"Run subgraph GraphQL query"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Run subgraph GraphQL query","tags":["ERC-8004 (paid duplicate)"],"x-input-schema":{"type":"object","properties":{"chain":{"type":"string"},"query":{"type":"string","minLength":1,"maxLength":10000},"variables":{"type":"object","additionalProperties":true}},"required":["chain","query"],"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/tools/academy/getGlossary":{"post":{"description":"Get crypto/DeFi glossary entries with definitions and categories. Optionally filter by category or request specific terms. Use when the user asks for definitions, \"what does X mean\", or wants a terminology list. Paid duplicate of tool:sperax-academy.getGlossary; same handler, paid per call instead of a session or API key. Source: computed locally from the call parameters.","operationId":"x402_toolsAcademyGetGlossary","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"category":{"description":"Filter glossary entries by category (e.g., \"DeFi Basics\", \"Trading\", \"Security\", \"Sperax Ecosystem\", \"Layer 2\")","type":"string"},"terms":{"description":"Specific terms to look up (e.g., [\"APY\", \"TVL\", \"IL\"]). If omitted, returns entries for the specified category or all entries.","items":{"type":"string"},"type":"array"}},"required":[],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get crypto/DeFi glossary entries with definitions and categories"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get crypto/DeFi glossary entries with definitions and categories","tags":["Tools (paid)"],"x-input-schema":{"properties":{"category":{"description":"Filter glossary entries by category (e.g., \"DeFi Basics\", \"Trading\", \"Security\", \"Sperax Ecosystem\", \"Layer 2\")","type":"string"},"terms":{"description":"Specific terms to look up (e.g., [\"APY\", \"TVL\", \"IL\"]). If omitted, returns entries for the specified category or all entries.","items":{"type":"string"},"type":"array"}},"required":[],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/academy/getLearningPath":{"post":{"description":"Get a structured learning path for a subject area, with ordered steps, descriptions, and estimated hours. Use when the user says \"I want to learn X from scratch\", \"give me a roadmap for X\", or requests a study curriculum. Paid duplicate of tool:sperax-academy.getLearningPath; same handler, paid per call instead of a session or API key. Source: computed locally from the call parameters.","operationId":"x402_toolsAcademyGetLearningPath","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"area":{"description":"The subject area for the learning path (e.g., \"DeFi Beginner\", \"Yield Farming Mastery\", \"Smart Contract Security\", \"Advanced Trading\", \"Governance & DAOs\", \"Building on Arbitrum\")","type":"string"}},"required":["area"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get a structured learning path for a subject area, with ordered steps, descriptions, and estimated hours"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get a structured learning path for a subject area, with ordered steps, descriptions, and estimated hours","tags":["Tools (paid)"],"x-input-schema":{"properties":{"area":{"description":"The subject area for the learning path (e.g., \"DeFi Beginner\", \"Yield Farming Mastery\", \"Smart Contract Security\", \"Advanced Trading\", \"Governance & DAOs\", \"Building on Arbitrum\")","type":"string"}},"required":["area"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/academy/getLessons":{"post":{"description":"Browse lessons by category and/or difficulty level. Returns a list of available lessons with title, category, difficulty, and description. Use when the user asks to browse lessons, filter by difficulty, or explore available educational content. Paid duplicate of tool:sperax-academy.getLessons; same handler, paid per call instead of a session or API key. Source: computed locally from the call parameters.","operationId":"x402_toolsAcademyGetLessons","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"category":{"description":"Filter lessons by category (e.g., \"DeFi Basics\", \"Yield Farming\", \"Security\")","type":"string"},"difficulty":{"description":"Filter lessons by difficulty level: beginner, intermediate, or advanced","enum":["beginner","intermediate","advanced"],"type":"string"}},"required":[],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Browse lessons by category and/or difficulty level"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Browse lessons by category and/or difficulty level","tags":["Tools (paid)"],"x-input-schema":{"properties":{"category":{"description":"Filter lessons by category (e.g., \"DeFi Basics\", \"Yield Farming\", \"Security\")","type":"string"},"difficulty":{"description":"Filter lessons by difficulty level: beginner, intermediate, or advanced","enum":["beginner","intermediate","advanced"],"type":"string"}},"required":[],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/academy/learnTopic":{"post":{"description":"Get an educational explanation of a crypto/DeFi topic, adapted to the specified difficulty level. Use when the user asks \"what is X?\", \"explain X\", \"teach me about X\", or wants to understand a specific blockchain/DeFi concept. Paid duplicate of tool:sperax-academy.learnTopic; same handler, paid per call instead of a session or API key. Source: computed locally from the call parameters.","operationId":"x402_toolsAcademyLearnTopic","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"difficulty":{"description":"Difficulty level for the explanation: beginner (simple analogies), intermediate (technical details), or advanced (protocol mechanics). Defaults to beginner.","enum":["beginner","intermediate","advanced"],"type":"string"},"topic":{"description":"The crypto/DeFi topic to explain (e.g., \"impermanent loss\", \"flash loans\", \"yield farming\", \"USDs auto-yield\")","type":"string"}},"required":["topic"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get an educational explanation of a crypto/DeFi topic, adapted to the specified difficulty level"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get an educational explanation of a crypto/DeFi topic, adapted to the specified difficulty level","tags":["Tools (paid)"],"x-input-schema":{"properties":{"difficulty":{"description":"Difficulty level for the explanation: beginner (simple analogies), intermediate (technical details), or advanced (protocol mechanics). Defaults to beginner.","enum":["beginner","intermediate","advanced"],"type":"string"},"topic":{"description":"The crypto/DeFi topic to explain (e.g., \"impermanent loss\", \"flash loans\", \"yield farming\", \"USDs auto-yield\")","type":"string"}},"required":["topic"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/academy/searchTopics":{"post":{"description":"Search available educational topics by keyword. Returns matching topics with title, category, and description. Use when the user asks \"what topics do you cover?\", \"search for X\", or browses available content. Paid duplicate of tool:sperax-academy.searchTopics; same handler, paid per call instead of a session or API key. Source: computed locally from the call parameters.","operationId":"x402_toolsAcademySearchTopics","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"query":{"description":"Search keyword or phrase to find matching topics (e.g., \"staking\", \"security\", \"Sperax\")","type":"string"}},"required":["query"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Search available educational topics by keyword"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Search available educational topics by keyword","tags":["Tools (paid)"],"x-input-schema":{"properties":{"query":{"description":"Search keyword or phrase to find matching topics (e.g., \"staking\", \"security\", \"Sperax\")","type":"string"}},"required":["query"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/backtesting/compareStrategies":{"post":{"description":"Compare up to 5 DeFi strategies side-by-side over the same time period. Returns ranked results with the same set of metrics for each strategy. Paid duplicate of tool:lobe-backtesting.compareStrategies; same handler, paid per call instead of a session or API key. Source: coins.llama.fi, yields.llama.fi.","operationId":"x402_toolsBacktestingCompareStrategies","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"endDate":{"description":"End date in ISO format. Defaults to today.","type":"string"},"initialCapital":{"description":"Initial capital in USD applied equally to each strategy.","type":"number"},"startDate":{"description":"Start date in ISO format.","type":"string"},"strategies":{"description":"Array of up to 5 strategies to compare.","items":{"properties":{"chainId":{"type":"number"},"protocol":{"type":"string"},"strategy":{"enum":["yield_farming","dca","yield_rebalancing","static_hold"],"type":"string"}},"required":["strategy","protocol","chainId"],"type":"object"},"maxItems":5,"type":"array"}},"required":["strategies","initialCapital","startDate"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Compare up to 5 DeFi strategies side-by-side over the same time period"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Compare up to 5 DeFi strategies side-by-side over the same time period","tags":["Tools (paid)"],"x-input-schema":{"properties":{"endDate":{"description":"End date in ISO format. Defaults to today.","type":"string"},"initialCapital":{"description":"Initial capital in USD applied equally to each strategy.","type":"number"},"startDate":{"description":"Start date in ISO format.","type":"string"},"strategies":{"description":"Array of up to 5 strategies to compare.","items":{"properties":{"chainId":{"type":"number"},"protocol":{"type":"string"},"strategy":{"enum":["yield_farming","dca","yield_rebalancing","static_hold"],"type":"string"}},"required":["strategy","protocol","chainId"],"type":"object"},"maxItems":5,"type":"array"}},"required":["strategies","initialCapital","startDate"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.02","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"heavy"}},"/api/x402/tools/backtesting/runBacktest":{"post":{"description":"Backtest a DeFi yield strategy against real historical data from DefiLlama. Simulates daily compounding, tracks portfolio value, and returns key metrics: total return, annualized return, max drawdown, Sharpe ratio, and a comparison vs buying ETH or holding USDC. Paid duplicate of tool:lobe-backtesting.runBacktest; same handler, paid per call instead of a session or API key. Source: coins.llama.fi, yields.llama.fi.","operationId":"x402_toolsBacktestingRunBacktest","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"chainId":{"description":"Chain ID (e.g. 1 for Ethereum, 42161 for Arbitrum).","type":"number"},"dcaFrequency":{"description":"For DCA strategy: how often to buy. One of 'daily', 'weekly', 'monthly'.","enum":["daily","weekly","monthly"],"type":"string"},"endDate":{"description":"End date in ISO format (YYYY-MM-DD). Defaults to today. Max 2 years of history.","type":"string"},"initialCapital":{"description":"Initial capital in USD (e.g. 10000).","type":"number"},"protocol":{"description":"Protocol name to backtest (e.g. 'Aave V3', 'Curve Finance', 'Yearn Finance').","type":"string"},"reinvestEarnings":{"description":"Whether to compound (reinvest) earnings daily. Default: true.","type":"boolean"},"startDate":{"description":"Start date in ISO format (YYYY-MM-DD). Maximum 2 years in the past.","type":"string"},"strategy":{"description":"Strategy type: 'yield_farming' (deploy into protocol and collect yield), 'dca' (dollar-cost average into a token), 'yield_rebalancing' (yield farm with periodic rebalancing), 'static_hold' (buy and hold token).","enum":["yield_farming","dca","yield_rebalancing","static_hold"],"type":"string"},"targetToken":{"description":"For DCA strategy: the CoinGecko token ID to accumulate (e.g. 'ethereum', 'bitcoin').","type":"string"}},"required":["strategy","protocol","chainId","initialCapital","startDate"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Backtest a DeFi yield strategy against real historical data from DefiLlama"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Backtest a DeFi yield strategy against real historical data from DefiLlama","tags":["Tools (paid)"],"x-input-schema":{"properties":{"chainId":{"description":"Chain ID (e.g. 1 for Ethereum, 42161 for Arbitrum).","type":"number"},"dcaFrequency":{"description":"For DCA strategy: how often to buy. One of 'daily', 'weekly', 'monthly'.","enum":["daily","weekly","monthly"],"type":"string"},"endDate":{"description":"End date in ISO format (YYYY-MM-DD). Defaults to today. Max 2 years of history.","type":"string"},"initialCapital":{"description":"Initial capital in USD (e.g. 10000).","type":"number"},"protocol":{"description":"Protocol name to backtest (e.g. 'Aave V3', 'Curve Finance', 'Yearn Finance').","type":"string"},"reinvestEarnings":{"description":"Whether to compound (reinvest) earnings daily. Default: true.","type":"boolean"},"startDate":{"description":"Start date in ISO format (YYYY-MM-DD). Maximum 2 years in the past.","type":"string"},"strategy":{"description":"Strategy type: 'yield_farming' (deploy into protocol and collect yield), 'dca' (dollar-cost average into a token), 'yield_rebalancing' (yield farm with periodic rebalancing), 'static_hold' (buy and hold token).","enum":["yield_farming","dca","yield_rebalancing","static_hold"],"type":"string"},"targetToken":{"description":"For DCA strategy: the CoinGecko token ID to accumulate (e.g. 'ethereum', 'bitcoin').","type":"string"}},"required":["strategy","protocol","chainId","initialCapital","startDate"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.02","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"heavy"}},"/api/x402/tools/binance-market/getFundingRate":{"post":{"description":"Get the funding rate for a USDⓈ-M perpetual future: the current period rate, recent history, the average across that history, mark and index price, and the next funding time. Positive funding means longs pay shorts (crowded long); negative means shorts pay longs. Only perpetual symbols have funding. Paid duplicate of tool:sperax-binance-market.getFundingRate; same handler, paid per call instead of a session or API key. Source: api.binance.com, fapi.binance.com.","operationId":"x402_toolsBinanceMarketGetFundingRate","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"limit":{"default":8,"description":"Number of historical funding periods to include (1–100).","type":"number"},"symbol":{"description":"Trading pair in any common form: \"BTCUSDT\", \"BTC/USDT\" or a bare \"BTC\" (a USDT quote is assumed).","type":"string"}},"required":["symbol"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get the funding rate for a USDⓈ-M perpetual future: the current period rate, recent history, the average across that history, mark and index price, and the next funding time"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get the funding rate for a USDⓈ-M perpetual future: the current period rate, recent history, the average across that history, mark and index price, and the next funding time","tags":["Tools (paid)"],"x-input-schema":{"properties":{"limit":{"default":8,"description":"Number of historical funding periods to include (1–100).","type":"number"},"symbol":{"description":"Trading pair in any common form: \"BTCUSDT\", \"BTC/USDT\" or a bare \"BTC\" (a USDT quote is assumed).","type":"string"}},"required":["symbol"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/binance-market/getKlines":{"post":{"description":"Get OHLCV candles for a pair at a given interval, plus the period high/low and net change across the returned window. Use for trend, volatility and range analysis. Paid duplicate of tool:sperax-binance-market.getKlines; same handler, paid per call instead of a session or API key. Source: api.binance.com, fapi.binance.com.","operationId":"x402_toolsBinanceMarketGetKlines","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"interval":{"default":"1h","description":"Candle interval: 1m, 3m, 5m, 15m, 30m, 1h, 2h, 4h, 6h, 8h, 12h, 1d, 3d, 1w or 1M.","type":"string"},"limit":{"default":100,"description":"Number of candles to return (1–500).","type":"number"},"symbol":{"description":"Trading pair in any common form: \"BTCUSDT\", \"BTC/USDT\" or a bare \"BTC\" (a USDT quote is assumed).","type":"string"}},"required":["symbol"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get OHLCV candles for a pair at a given interval, plus the period high/low and net change across the returned window"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get OHLCV candles for a pair at a given interval, plus the period high/low and net change across the returned window","tags":["Tools (paid)"],"x-input-schema":{"properties":{"interval":{"default":"1h","description":"Candle interval: 1m, 3m, 5m, 15m, 30m, 1h, 2h, 4h, 6h, 8h, 12h, 1d, 3d, 1w or 1M.","type":"string"},"limit":{"default":100,"description":"Number of candles to return (1–500).","type":"number"},"symbol":{"description":"Trading pair in any common form: \"BTCUSDT\", \"BTC/USDT\" or a bare \"BTC\" (a USDT quote is assumed).","type":"string"}},"required":["symbol"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/binance-market/getOpenInterest":{"post":{"description":"Get open interest for a USDⓈ-M perpetual future — current contracts outstanding plus a historical series with USD notional, and the percentage change across the window. Read alongside price direction: rising open interest with rising price means new long money, rising open interest with falling price means shorts building. Only perpetual symbols report open interest. Paid duplicate of tool:sperax-binance-market.getOpenInterest; same handler, paid per call instead of a session or API key. Source: api.binance.com, fapi.binance.com.","operationId":"x402_toolsBinanceMarketGetOpenInterest","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"period":{"default":"1h","description":"Aggregation period for the historical series: 5m, 15m, 30m, 1h, 2h, 4h, 6h, 12h or 1d.","type":"string"},"symbol":{"description":"Trading pair in any common form: \"BTCUSDT\", \"BTC/USDT\" or a bare \"BTC\" (a USDT quote is assumed).","type":"string"}},"required":["symbol"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get open interest for a USDⓈ-M perpetual future — current contracts outstanding plus a historical series with USD notional, and the percentage change across the window"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get open interest for a USDⓈ-M perpetual future — current contracts outstanding plus a historical series with USD notional, and the percentage change across the window","tags":["Tools (paid)"],"x-input-schema":{"properties":{"period":{"default":"1h","description":"Aggregation period for the historical series: 5m, 15m, 30m, 1h, 2h, 4h, 6h, 12h or 1d.","type":"string"},"symbol":{"description":"Trading pair in any common form: \"BTCUSDT\", \"BTC/USDT\" or a bare \"BTC\" (a USDT quote is assumed).","type":"string"}},"required":["symbol"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/binance-market/getOrderBook":{"post":{"description":"Get the current spot order book for a pair, with bid and ask levels, the spread in absolute and percentage terms, the mid price, and total resting size per side. Use this to judge liquidity and slippage risk on a centralised venue. Paid duplicate of tool:sperax-binance-market.getOrderBook; same handler, paid per call instead of a session or API key. Source: api.binance.com, fapi.binance.com.","operationId":"x402_toolsBinanceMarketGetOrderBook","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"limit":{"default":20,"description":"Number of price levels per side (1–100).","type":"number"},"symbol":{"description":"Trading pair in any common form: \"BTCUSDT\", \"BTC/USDT\" or a bare \"BTC\" (a USDT quote is assumed).","type":"string"}},"required":["symbol"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get the current spot order book for a pair, with bid and ask levels, the spread in absolute and percentage terms, the mid price, and total resting size per side"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get the current spot order book for a pair, with bid and ask levels, the spread in absolute and percentage terms, the mid price, and total resting size per side","tags":["Tools (paid)"],"x-input-schema":{"properties":{"limit":{"default":20,"description":"Number of price levels per side (1–100).","type":"number"},"symbol":{"description":"Trading pair in any common form: \"BTCUSDT\", \"BTC/USDT\" or a bare \"BTC\" (a USDT quote is assumed).","type":"string"}},"required":["symbol"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/binance-market/getTicker":{"post":{"description":"Get 24-hour spot market statistics for a Binance pair: last price, absolute and percentage change, high/low, weighted average price, base and quote volume, trade count, and best bid/ask. Read-only public data. Paid duplicate of tool:sperax-binance-market.getTicker; same handler, paid per call instead of a session or API key. Source: api.binance.com, fapi.binance.com.","operationId":"x402_toolsBinanceMarketGetTicker","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"symbol":{"description":"Trading pair in any common form: \"BTCUSDT\", \"BTC/USDT\" or a bare \"BTC\" (a USDT quote is assumed).","type":"string"}},"required":["symbol"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get 24-hour spot market statistics for a Binance pair: last price, absolute and percentage change, high/low, weighted average price, base and quote volume, trade count, and best bid/ask"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get 24-hour spot market statistics for a Binance pair: last price, absolute and percentage change, high/low, weighted average price, base and quote volume, trade count, and best bid/ask","tags":["Tools (paid)"],"x-input-schema":{"properties":{"symbol":{"description":"Trading pair in any common form: \"BTCUSDT\", \"BTC/USDT\" or a bare \"BTC\" (a USDT quote is assumed).","type":"string"}},"required":["symbol"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/bridges/getBridgeSummary":{"post":{"description":"Get a summary of the cross-chain bridge ecosystem: total volume, top bridges by volume, and top chains by inflow/outflow. Paid duplicate of tool:sperax-bridges.getBridgeSummary; same handler, paid per call instead of a session or API key. Source: bridges.llama.fi.","operationId":"x402_toolsBridgesGetBridgeSummary","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{},"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get a summary of the cross-chain bridge ecosystem: total volume, top bridges by volume, and top chains by inflow/outflow"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get a summary of the cross-chain bridge ecosystem: total volume, top bridges by volume, and top chains by inflow/outflow","tags":["Tools (paid)"],"x-input-schema":{"properties":{},"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/tools/bridges/getBridgeVolume":{"post":{"description":"Get daily bridge deposit and withdrawal volumes for a specific chain. Shows 30-day history with net flow direction (inflow vs outflow). Paid duplicate of tool:sperax-bridges.getBridgeVolume; same handler, paid per call instead of a session or API key. Source: bridges.llama.fi.","operationId":"x402_toolsBridgesGetBridgeVolume","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"chain":{"description":"Chain name (e.g. \"Ethereum\", \"Arbitrum\", \"Optimism\", \"Polygon\")","type":"string"}},"required":["chain"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get daily bridge deposit and withdrawal volumes for a specific chain"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get daily bridge deposit and withdrawal volumes for a specific chain","tags":["Tools (paid)"],"x-input-schema":{"properties":{"chain":{"description":"Chain name (e.g. \"Ethereum\", \"Arbitrum\", \"Optimism\", \"Polygon\")","type":"string"}},"required":["chain"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/bridges/getBridges":{"post":{"description":"List all cross-chain bridges with 24h and 7d volume data. Filter by chain and sort by volume or name. Paid duplicate of tool:sperax-bridges.getBridges; same handler, paid per call instead of a session or API key. Source: bridges.llama.fi.","operationId":"x402_toolsBridgesGetBridges","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"chain":{"description":"Filter bridges by supported chain (e.g. \"Ethereum\", \"Arbitrum\")","type":"string"},"limit":{"default":25,"description":"Max number of bridges to return (default 25)","type":"number"},"sortBy":{"description":"Sort order: \"volume\" (default) or \"name\"","enum":["volume","name"],"type":"string"}},"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"List all cross-chain bridges with 24h and 7d volume data"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"List all cross-chain bridges with 24h and 7d volume data","tags":["Tools (paid)"],"x-input-schema":{"properties":{"chain":{"description":"Filter bridges by supported chain (e.g. \"Ethereum\", \"Arbitrum\")","type":"string"},"limit":{"default":25,"description":"Max number of bridges to return (default 25)","type":"number"},"sortBy":{"description":"Sort order: \"volume\" (default) or \"name\"","enum":["volume","name"],"type":"string"}},"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/chainlink/getPrice":{"post":{"description":"Read the current Chainlink oracle price for a pair on a given chain, straight from the AggregatorV3Interface proxy on-chain. Returns the scaled price, the unscaled answer, feed address and decimals, round ID, when it was last updated, and whether the answer is stale. This is the price source DeFi protocols use for collateral valuation and liquidations. Paid duplicate of tool:sperax-chainlink.getPrice; same handler, paid per call instead of a session or API key. Source: llamarpc/publicnode/official RPCs (eth, arb, base, op, poly, bsc), public RPCs.","operationId":"x402_toolsChainlinkGetPrice","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"chain":{"description":"Chain to read from: ethereum, arbitrum, base, bsc, polygon or optimism. Defaults to ethereum.","type":"string"},"pair":{"description":"Pair to read, e.g. \"ETH/USD\", \"BTC-USD\", or a bare \"ETH\" (USD is assumed).","type":"string"}},"required":["pair"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Read the current Chainlink oracle price for a pair on a given chain, straight from the AggregatorV3Interface proxy on-chain"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Read the current Chainlink oracle price for a pair on a given chain, straight from the AggregatorV3Interface proxy on-chain","tags":["Tools (paid)"],"x-input-schema":{"properties":{"chain":{"description":"Chain to read from: ethereum, arbitrum, base, bsc, polygon or optimism. Defaults to ethereum.","type":"string"},"pair":{"description":"Pair to read, e.g. \"ETH/USD\", \"BTC-USD\", or a bare \"ETH\" (USD is assumed).","type":"string"}},"required":["pair"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/chainlink/getRoundData":{"post":{"description":"Read a specific Chainlink aggregator round for a pair, or the latest round when no round ID is given. Round IDs are per-aggregator, so rounds from before a feed upgraded its aggregator are not readable through the proxy. Paid duplicate of tool:sperax-chainlink.getRoundData; same handler, paid per call instead of a session or API key. Source: llamarpc/publicnode/official RPCs (eth, arb, base, op, poly, bsc), public RPCs.","operationId":"x402_toolsChainlinkGetRoundData","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"chain":{"description":"Chain to read from: ethereum, arbitrum, base, bsc, polygon or optimism. Defaults to ethereum.","type":"string"},"pair":{"description":"Pair to read, e.g. \"ETH/USD\", \"BTC-USD\", or a bare \"ETH\" (USD is assumed).","type":"string"},"roundId":{"description":"Aggregator round ID to read, as an integer string. Omit for the latest round.","type":"string"}},"required":["pair"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Read a specific Chainlink aggregator round for a pair, or the latest round when no round ID is given"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Read a specific Chainlink aggregator round for a pair, or the latest round when no round ID is given","tags":["Tools (paid)"],"x-input-schema":{"properties":{"chain":{"description":"Chain to read from: ethereum, arbitrum, base, bsc, polygon or optimism. Defaults to ethereum.","type":"string"},"pair":{"description":"Pair to read, e.g. \"ETH/USD\", \"BTC-USD\", or a bare \"ETH\" (USD is assumed).","type":"string"},"roundId":{"description":"Aggregator round ID to read, as an integer string. Omit for the latest round.","type":"string"}},"required":["pair"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/chainlink/listFeeds":{"post":{"description":"List the Chainlink price feeds this tool can read, with their on-chain addresses. Omit `chain` to list every supported chain. Use this before telling a user a pair is unavailable — a pair missing on one chain often exists on another. Paid duplicate of tool:sperax-chainlink.listFeeds; same handler, paid per call instead of a session or API key. Source: llamarpc/publicnode/official RPCs (eth, arb, base, op, poly, bsc), public RPCs.","operationId":"x402_toolsChainlinkListFeeds","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"chain":{"description":"Chain to enumerate: ethereum, arbitrum, base, bsc, polygon or optimism. Omit to list all.","type":"string"}},"required":[],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"List the Chainlink price feeds this tool can read, with their on-chain addresses"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"List the Chainlink price feeds this tool can read, with their on-chain addresses","tags":["Tools (paid)"],"x-input-schema":{"properties":{"chain":{"description":"Chain to enumerate: ethereum, arbitrum, base, bsc, polygon or optimism. Omit to list all.","type":"string"}},"required":[],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/coingecko/getGlobalData":{"post":{"description":"Get global crypto market data: total market cap, BTC dominance, total volume, number of active cryptocurrencies. Paid duplicate of tool:sperax-coingecko.getGlobalData; same handler, paid per call instead of a session or API key. Source: api.coingecko.com.","operationId":"x402_toolsCoingeckoGetGlobalData","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{},"required":[],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get global crypto market data: total market cap, BTC dominance, total volume, number of active cryptocurrencies"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get global crypto market data: total market cap, BTC dominance, total volume, number of active cryptocurrencies","tags":["Tools (paid)"],"x-input-schema":{"properties":{},"required":[],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/coingecko/getMarketChart":{"post":{"description":"Get historical price data for a token to display a price chart. Returns timestamps and prices. Paid duplicate of tool:sperax-coingecko.getMarketChart; same handler, paid per call instead of a session or API key. Source: api.coingecko.com.","operationId":"x402_toolsCoingeckoGetMarketChart","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"coinId":{"description":"CoinGecko coin ID (e.g. \"bitcoin\").","type":"string"},"days":{"description":"Number of days of history (e.g. 1, 7, 30, 90, 365). Default: 7.","type":"number"}},"required":["coinId"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get historical price data for a token to display a price chart"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get historical price data for a token to display a price chart","tags":["Tools (paid)"],"x-input-schema":{"properties":{"coinId":{"description":"CoinGecko coin ID (e.g. \"bitcoin\").","type":"string"},"days":{"description":"Number of days of history (e.g. 1, 7, 30, 90, 365). Default: 7.","type":"number"}},"required":["coinId"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/coingecko/getTokenPrice":{"post":{"description":"Get current price, market cap, 24h volume, and 24h price change for a cryptocurrency token. Pass coinId (e.g. \"bitcoin\") or symbol (e.g. \"BTC\"). Paid duplicate of tool:sperax-coingecko.getTokenPrice; same handler, paid per call instead of a session or API key. Source: api.coingecko.com.","operationId":"x402_toolsCoingeckoGetTokenPrice","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"coinId":{"description":"CoinGecko coin ID (e.g. \"bitcoin\", \"ethereum\", \"solana\"). Preferred over symbol.","type":"string"},"symbol":{"description":"Token symbol (e.g. \"BTC\", \"ETH\"). Used as fallback if coinId is not provided.","type":"string"}},"required":[],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get current price, market cap, 24h volume, and 24h price change for a cryptocurrency token"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get current price, market cap, 24h volume, and 24h price change for a cryptocurrency token","tags":["Tools (paid)"],"x-input-schema":{"properties":{"coinId":{"description":"CoinGecko coin ID (e.g. \"bitcoin\", \"ethereum\", \"solana\"). Preferred over symbol.","type":"string"},"symbol":{"description":"Token symbol (e.g. \"BTC\", \"ETH\"). Used as fallback if coinId is not provided.","type":"string"}},"required":[],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/coingecko/getTrendingTokens":{"post":{"description":"Get top 7 trending tokens on CoinGecko right now. Paid duplicate of tool:sperax-coingecko.getTrendingTokens; same handler, paid per call instead of a session or API key. Source: api.coingecko.com.","operationId":"x402_toolsCoingeckoGetTrendingTokens","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{},"required":[],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get top 7 trending tokens on CoinGecko right now"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get top 7 trending tokens on CoinGecko right now","tags":["Tools (paid)"],"x-input-schema":{"properties":{},"required":[],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/coingecko/searchTokens":{"post":{"description":"Search for tokens by name or symbol. Returns a list of matching tokens. Paid duplicate of tool:sperax-coingecko.searchTokens; same handler, paid per call instead of a session or API key. Source: api.coingecko.com.","operationId":"x402_toolsCoingeckoSearchTokens","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"query":{"description":"Search query — token name or symbol (e.g. \"uniswap\", \"LINK\").","type":"string"}},"required":["query"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Search for tokens by name or symbol"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Search for tokens by name or symbol","tags":["Tools (paid)"],"x-input-schema":{"properties":{"query":{"description":"Search query — token name or symbol (e.g. \"uniswap\", \"LINK\").","type":"string"}},"required":["query"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/company-holdings/getBtcHoldings":{"post":{"description":"List all public companies holding Bitcoin on their balance sheet. Shows total holdings, entry value, current value, and % of BTC supply. Paid duplicate of tool:sperax-company-holdings.getBtcHoldings; same handler, paid per call instead of a session or API key. Source: api.coingecko.com.","operationId":"x402_toolsCompanyHoldingsGetBtcHoldings","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{},"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"List all public companies holding Bitcoin on their balance sheet"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"List all public companies holding Bitcoin on their balance sheet","tags":["Tools (paid)"],"x-input-schema":{"properties":{},"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/company-holdings/getEthHoldings":{"post":{"description":"List all public companies holding Ethereum on their balance sheet. Shows total holdings, entry value, current value. Paid duplicate of tool:sperax-company-holdings.getEthHoldings; same handler, paid per call instead of a session or API key. Source: api.coingecko.com.","operationId":"x402_toolsCompanyHoldingsGetEthHoldings","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{},"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"List all public companies holding Ethereum on their balance sheet"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"List all public companies holding Ethereum on their balance sheet","tags":["Tools (paid)"],"x-input-schema":{"properties":{},"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/company-holdings/getHoldingsSummary":{"post":{"description":"Get a summary of corporate crypto holdings: total BTC/ETH held by companies, top holders, and aggregate value. Paid duplicate of tool:sperax-company-holdings.getHoldingsSummary; same handler, paid per call instead of a session or API key. Source: api.coingecko.com.","operationId":"x402_toolsCompanyHoldingsGetHoldingsSummary","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{},"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get a summary of corporate crypto holdings: total BTC/ETH held by companies, top holders, and aggregate value"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get a summary of corporate crypto holdings: total BTC/ETH held by companies, top holders, and aggregate value","tags":["Tools (paid)"],"x-input-schema":{"properties":{},"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/tools/contract-explorer/decodeTransaction":{"post":{"description":"Decode a transaction hash — shows which contract function was called, with what arguments, and the ETH value sent. Paid duplicate of tool:sperax-contract-explorer.decodeTransaction; same handler, paid per call instead of a session or API key. Source: api.etherscan.io, arbiscan, basescan, bscscan, polygonscan, optimistic, snowtrace, explorers + public RPCs, explorers/RPCs.","operationId":"x402_toolsContractExplorerDecodeTransaction","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"chain":{"description":"Chain name: ethereum, arbitrum, polygon, base, optimism, avalanche, bsc. Defaults to ethereum.","type":"string"},"txHash":{"description":"Transaction hash (0x…)","type":"string"}},"required":["txHash"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Decode a transaction hash — shows which contract function was called, with what arguments, and the ETH value sent"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Decode a transaction hash — shows which contract function was called, with what arguments, and the ETH value sent","tags":["Tools (paid)"],"x-input-schema":{"properties":{"chain":{"description":"Chain name: ethereum, arbitrum, polygon, base, optimism, avalanche, bsc. Defaults to ethereum.","type":"string"},"txHash":{"description":"Transaction hash (0x…)","type":"string"}},"required":["txHash"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/tools/contract-explorer/getContractABI":{"post":{"description":"Fetch the verified ABI for a smart contract. Returns all callable functions and events with their signatures. Use this first before readContract. Paid duplicate of tool:sperax-contract-explorer.getContractABI; same handler, paid per call instead of a session or API key. Source: api.etherscan.io, arbiscan, basescan, bscscan, polygonscan, optimistic, snowtrace, explorers + public RPCs, explorers/RPCs.","operationId":"x402_toolsContractExplorerGetContractABI","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"address":{"description":"EVM contract address (0x…)","type":"string"},"chain":{"description":"Chain name: ethereum, arbitrum, polygon, base, optimism, avalanche, bsc. Defaults to ethereum.","type":"string"}},"required":["address"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Fetch the verified ABI for a smart contract"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Fetch the verified ABI for a smart contract","tags":["Tools (paid)"],"x-input-schema":{"properties":{"address":{"description":"EVM contract address (0x…)","type":"string"},"chain":{"description":"Chain name: ethereum, arbitrum, polygon, base, optimism, avalanche, bsc. Defaults to ethereum.","type":"string"}},"required":["address"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/contract-explorer/getContractEvents":{"post":{"description":"Fetch recent event logs emitted by a smart contract. Optionally filter by event signature. Paid duplicate of tool:sperax-contract-explorer.getContractEvents; same handler, paid per call instead of a session or API key. Source: api.etherscan.io, arbiscan, basescan, bscscan, polygonscan, optimistic, snowtrace, explorers + public RPCs, explorers/RPCs.","operationId":"x402_toolsContractExplorerGetContractEvents","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"address":{"description":"EVM contract address (0x…)","type":"string"},"chain":{"description":"Chain name: ethereum, arbitrum, polygon, base, optimism, avalanche, bsc. Defaults to ethereum.","type":"string"},"eventSignature":{"description":"Optional: filter by event signature topic (e.g. \"Transfer(address,address,uint256)\")","type":"string"},"limit":{"description":"Max number of events to return (default 10)","type":"number"}},"required":["address"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Fetch recent event logs emitted by a smart contract"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Fetch recent event logs emitted by a smart contract","tags":["Tools (paid)"],"x-input-schema":{"properties":{"address":{"description":"EVM contract address (0x…)","type":"string"},"chain":{"description":"Chain name: ethereum, arbitrum, polygon, base, optimism, avalanche, bsc. Defaults to ethereum.","type":"string"},"eventSignature":{"description":"Optional: filter by event signature topic (e.g. \"Transfer(address,address,uint256)\")","type":"string"},"limit":{"description":"Max number of events to return (default 10)","type":"number"}},"required":["address"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/tools/contract-explorer/readContract":{"post":{"description":"Call a view or pure function on a smart contract and return the on-chain result. The contract must be verified. Use getContractABI first to find available functions. Paid duplicate of tool:sperax-contract-explorer.readContract; same handler, paid per call instead of a session or API key. Source: api.etherscan.io, arbiscan, basescan, bscscan, polygonscan, optimistic, snowtrace, explorers + public RPCs, explorers/RPCs.","operationId":"x402_toolsContractExplorerReadContract","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"address":{"description":"EVM contract address (0x…)","type":"string"},"args":{"description":"Arguments for the function call as an array of strings","items":{"type":"string"},"type":"array"},"chain":{"description":"Chain name: ethereum, arbitrum, polygon, base, optimism, avalanche, bsc. Defaults to ethereum.","type":"string"},"functionName":{"description":"Name of the view/pure function to call (e.g. \"totalSupply\", \"balanceOf\", \"owner\")","type":"string"}},"required":["address","functionName"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Call a view or pure function on a smart contract and return the on-chain result"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Call a view or pure function on a smart contract and return the on-chain result","tags":["Tools (paid)"],"x-input-schema":{"properties":{"address":{"description":"EVM contract address (0x…)","type":"string"},"args":{"description":"Arguments for the function call as an array of strings","items":{"type":"string"},"type":"array"},"chain":{"description":"Chain name: ethereum, arbitrum, polygon, base, optimism, avalanche, bsc. Defaults to ethereum.","type":"string"},"functionName":{"description":"Name of the view/pure function to call (e.g. \"totalSupply\", \"balanceOf\", \"owner\")","type":"string"}},"required":["address","functionName"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/tools/daily-report/getDefiPulse":{"post":{"description":"Get DeFi pulse data: top protocols by TVL change and current yield opportunities. Paid duplicate of tool:sperax-daily-report.getDefiPulse; same handler, paid per call instead of a session or API key. Source: api.llama.fi, yields.llama.fi.","operationId":"x402_toolsDailyReportGetDefiPulse","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{},"required":[],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get DeFi pulse data: top protocols by TVL change and current yield opportunities"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get DeFi pulse data: top protocols by TVL change and current yield opportunities","tags":["Tools (paid)"],"x-input-schema":{"properties":{},"required":[],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/tools/dca/cancelPosition":{"post":{"description":"Cancel an active DCA position and reclaim all remaining (unswapped) funds. This stops all future scheduled swaps. Returns transaction data for wallet signing. ALWAYS confirm with the user before cancelling. Paid duplicate of tool:sperax-dca.cancelPosition; same handler, paid per call instead of a session or API key. Source: gateway-arbitrum.network.thegraph.com, api.thegraph.com, thegraph (lookup).","operationId":"x402_toolsDcaCancelPosition","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"chain":{"description":"Chain where the position exists.","type":"string"},"positionId":{"description":"The Mean Finance position ID to cancel.","type":"string"},"walletAddress":{"description":"The user's wallet address to receive refunded tokens. If available, pass from the connected wallet context.","type":"string"}},"required":["positionId"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Cancel an active DCA position and reclaim all remaining (unswapped) funds"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Cancel an active DCA position and reclaim all remaining (unswapped) funds","tags":["Tools (paid)"],"x-input-schema":{"properties":{"chain":{"description":"Chain where the position exists.","type":"string"},"positionId":{"description":"The Mean Finance position ID to cancel.","type":"string"},"walletAddress":{"description":"The user's wallet address to receive refunded tokens. If available, pass from the connected wallet context.","type":"string"}},"required":["positionId"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/dca/createDCA":{"post":{"description":"Create a new DCA (Dollar Cost Averaging) position via Mean Finance. Splits a total amount into scheduled recurring swaps over time. Returns a preview first, then transaction data for wallet signing upon confirmation. ALWAYS show the preview to the user before executing. Paid duplicate of tool:sperax-dca.createDCA; same handler, paid per call instead of a session or API key. Source: gateway-arbitrum.network.thegraph.com, api.thegraph.com, thegraph (lookup).","operationId":"x402_toolsDcaCreateDCA","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"chain":{"description":"Chain name or ID (e.g. \"arbitrum\", \"42161\"). Default: arbitrum.","type":"string"},"frequency":{"description":"How often each swap executes: \"daily\", \"weekly\", \"biweekly\", or \"monthly\".","type":"string"},"numSwaps":{"description":"Number of individual swaps to split the total amount into (e.g. 12 for 12 weekly buys).","type":"number"},"tokenIn":{"description":"Source token symbol (e.g. \"USDC\", \"USDs\", \"DAI\").","type":"string"},"tokenOut":{"description":"Destination token symbol (e.g. \"ETH\", \"ARB\", \"SPA\").","type":"string"},"totalAmount":{"description":"Total amount to DCA (human-readable, e.g. \"500\" for 500 USDC).","type":"string"}},"required":["tokenIn","tokenOut","totalAmount","frequency","numSwaps"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Create a new DCA (Dollar Cost Averaging) position via Mean Finance"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Create a new DCA (Dollar Cost Averaging) position via Mean Finance","tags":["Tools (paid)"],"x-input-schema":{"properties":{"chain":{"description":"Chain name or ID (e.g. \"arbitrum\", \"42161\"). Default: arbitrum.","type":"string"},"frequency":{"description":"How often each swap executes: \"daily\", \"weekly\", \"biweekly\", or \"monthly\".","type":"string"},"numSwaps":{"description":"Number of individual swaps to split the total amount into (e.g. 12 for 12 weekly buys).","type":"number"},"tokenIn":{"description":"Source token symbol (e.g. \"USDC\", \"USDs\", \"DAI\").","type":"string"},"tokenOut":{"description":"Destination token symbol (e.g. \"ETH\", \"ARB\", \"SPA\").","type":"string"},"totalAmount":{"description":"Total amount to DCA (human-readable, e.g. \"500\" for 500 USDC).","type":"string"}},"required":["tokenIn","tokenOut","totalAmount","frequency","numSwaps"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/dca/listPositions":{"post":{"description":"List all active DCA positions for the connected wallet. Shows progress, average price, remaining swaps, and next execution time. Optionally filter by chain. Paid duplicate of tool:sperax-dca.listPositions; same handler, paid per call instead of a session or API key. Source: gateway-arbitrum.network.thegraph.com, api.thegraph.com, thegraph (lookup).","operationId":"x402_toolsDcaListPositions","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"chain":{"description":"Filter positions by chain name or ID (optional). If omitted, shows positions across all chains.","type":"string"},"walletAddress":{"description":"The user's wallet address to query DCA positions. If available, pass from the connected wallet context. If omitted, user will be prompted to connect.","type":"string"}},"required":[],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"List all active DCA positions for the connected wallet"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"List all active DCA positions for the connected wallet","tags":["Tools (paid)"],"x-input-schema":{"properties":{"chain":{"description":"Filter positions by chain name or ID (optional). If omitted, shows positions across all chains.","type":"string"},"walletAddress":{"description":"The user's wallet address to query DCA positions. If available, pass from the connected wallet context. If omitted, user will be prompted to connect.","type":"string"}},"required":[],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/dca/withdrawPosition":{"post":{"description":"Withdraw accumulated (already-swapped) tokens from an active DCA position. The position continues running for remaining swaps. Returns transaction data for wallet signing. Paid duplicate of tool:sperax-dca.withdrawPosition; same handler, paid per call instead of a session or API key. Source: gateway-arbitrum.network.thegraph.com, api.thegraph.com, thegraph (lookup).","operationId":"x402_toolsDcaWithdrawPosition","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"chain":{"description":"Chain where the position exists.","type":"string"},"positionId":{"description":"The Mean Finance position ID to withdraw from.","type":"string"},"walletAddress":{"description":"The user's wallet address to receive withdrawn tokens. If available, pass from the connected wallet context.","type":"string"}},"required":["positionId"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Withdraw accumulated (already-swapped) tokens from an active DCA position"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Withdraw accumulated (already-swapped) tokens from an active DCA position","tags":["Tools (paid)"],"x-input-schema":{"properties":{"chain":{"description":"Chain where the position exists.","type":"string"},"positionId":{"description":"The Mean Finance position ID to withdraw from.","type":"string"},"walletAddress":{"description":"The user's wallet address to receive withdrawn tokens. If available, pass from the connected wallet context.","type":"string"}},"required":["positionId"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/defi-analytics/getFearGreedIndex":{"post":{"description":"Get the Crypto Fear & Greed Index from alternative.me. Shows current value, classification, and recent history. Paid duplicate of tool:sperax-defi-analytics.getFearGreedIndex; same handler, paid per call instead of a session or API key. Source: api.alternative.me, api.coingecko.com, api.llama.fi.","operationId":"x402_toolsDefiAnalyticsGetFearGreedIndex","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{},"required":[],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get the Crypto Fear & Greed Index from alternative.me"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get the Crypto Fear & Greed Index from alternative.me","tags":["Tools (paid)"],"x-input-schema":{"properties":{},"required":[],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/defi-analytics/getMarketOverview":{"post":{"description":"Get a comprehensive market overview aggregating data from multiple sources: market cap, volume, fear & greed, top gainers/losers, and top TVL protocols. Paid duplicate of tool:sperax-defi-analytics.getMarketOverview; same handler, paid per call instead of a session or API key. Source: api.alternative.me, api.coingecko.com, api.llama.fi.","operationId":"x402_toolsDefiAnalyticsGetMarketOverview","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{},"required":[],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get a comprehensive market overview aggregating data from multiple sources: market cap, volume, fear & greed, top gainers/losers, and top TVL protocols"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get a comprehensive market overview aggregating data from multiple sources: market cap, volume, fear & greed, top gainers/losers, and top TVL protocols","tags":["Tools (paid)"],"x-input-schema":{"properties":{},"required":[],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/tools/defi-analytics/getSocialSentiment":{"post":{"description":"Get social sentiment scores for top crypto tokens. Shows mentions, sentiment classification, and sentiment scores. Paid duplicate of tool:sperax-defi-analytics.getSocialSentiment; same handler, paid per call instead of a session or API key. Source: api.alternative.me, api.coingecko.com, api.llama.fi.","operationId":"x402_toolsDefiAnalyticsGetSocialSentiment","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{},"required":[],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get social sentiment scores for top crypto tokens"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get social sentiment scores for top crypto tokens","tags":["Tools (paid)"],"x-input-schema":{"properties":{},"required":[],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/tools/defi-analytics/getTrendingAnalysis":{"post":{"description":"Get combined trending analysis: CoinGecko trending tokens + DefiLlama TVL movers for a comprehensive market pulse. Paid duplicate of tool:sperax-defi-analytics.getTrendingAnalysis; same handler, paid per call instead of a session or API key. Source: api.alternative.me, api.coingecko.com, api.llama.fi.","operationId":"x402_toolsDefiAnalyticsGetTrendingAnalysis","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{},"required":[],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get combined trending analysis: CoinGecko trending tokens + DefiLlama TVL movers for a comprehensive market pulse"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get combined trending analysis: CoinGecko trending tokens + DefiLlama TVL movers for a comprehensive market pulse","tags":["Tools (paid)"],"x-input-schema":{"properties":{},"required":[],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/tools/defi-hacks/getHackSummary":{"post":{"description":"Get a yearly summary of DeFi hacks including total lost, top attack techniques, most-targeted chains, and the largest single hack. Paid duplicate of tool:sperax-defi-hacks.getHackSummary; same handler, paid per call instead of a session or API key. Source: api.llama.fi.","operationId":"x402_toolsDefiHacksGetHackSummary","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"year":{"description":"Year to summarize (defaults to current year)","type":"number"}},"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get a yearly summary of DeFi hacks including total lost, top attack techniques, most-targeted chains, and the largest single hack"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get a yearly summary of DeFi hacks including total lost, top attack techniques, most-targeted chains, and the largest single hack","tags":["Tools (paid)"],"x-input-schema":{"properties":{"year":{"description":"Year to summarize (defaults to current year)","type":"number"}},"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/tools/defi-hacks/getHacksByProtocol":{"post":{"description":"Get all known hack events for a specific protocol by name. Shows complete hack history including techniques used and amounts stolen/recovered. Paid duplicate of tool:sperax-defi-hacks.getHacksByProtocol; same handler, paid per call instead of a session or API key. Source: api.llama.fi.","operationId":"x402_toolsDefiHacksGetHacksByProtocol","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"protocol":{"description":"Protocol name to search for (case-insensitive)","type":"string"}},"required":["protocol"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get all known hack events for a specific protocol by name"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get all known hack events for a specific protocol by name","tags":["Tools (paid)"],"x-input-schema":{"properties":{"protocol":{"description":"Protocol name to search for (case-insensitive)","type":"string"}},"required":["protocol"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/defi-hacks/getRecentHacks":{"post":{"description":"Get recent DeFi hacks and exploits, filtered by time window and minimum loss. Returns protocol, chain, technique, and loss/recovery amounts. Paid duplicate of tool:sperax-defi-hacks.getRecentHacks; same handler, paid per call instead of a session or API key. Source: api.llama.fi.","operationId":"x402_toolsDefiHacksGetRecentHacks","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"days":{"default":90,"description":"Number of days to look back (default 90)","type":"number"},"minAmountUsd":{"default":100000,"description":"Minimum loss in USD to include (default 100000)","type":"number"}},"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get recent DeFi hacks and exploits, filtered by time window and minimum loss"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get recent DeFi hacks and exploits, filtered by time window and minimum loss","tags":["Tools (paid)"],"x-input-schema":{"properties":{"days":{"default":90,"description":"Number of days to look back (default 90)","type":"number"},"minAmountUsd":{"default":100000,"description":"Minimum loss in USD to include (default 100000)","type":"number"}},"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/defillama/getChainTvl":{"post":{"description":"Get TVL breakdown across all blockchains. Shows which chains hold the most TVL. Paid duplicate of tool:sperax-defillama.getChainTvl; same handler, paid per call instead of a session or API key. Source: api.llama.fi, yields.llama.fi.","operationId":"x402_toolsDefillamaGetChainTvl","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{},"required":[],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get TVL breakdown across all blockchains"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get TVL breakdown across all blockchains","tags":["Tools (paid)"],"x-input-schema":{"properties":{},"required":[],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/defillama/getDexVolumes":{"post":{"description":"Get DEX trading volumes. Optionally filter by chain to see DEX activity on a specific blockchain. Paid duplicate of tool:sperax-defillama.getDexVolumes; same handler, paid per call instead of a session or API key. Source: api.llama.fi, yields.llama.fi.","operationId":"x402_toolsDefillamaGetDexVolumes","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"chain":{"description":"Filter by blockchain (e.g. \"Ethereum\", \"Solana\").","type":"string"}},"required":[],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get DEX trading volumes"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get DEX trading volumes","tags":["Tools (paid)"],"x-input-schema":{"properties":{"chain":{"description":"Filter by blockchain (e.g. \"Ethereum\", \"Solana\").","type":"string"}},"required":[],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/defillama/getProtocolTvl":{"post":{"description":"Get TVL and TVL history for a specific DeFi protocol. Pass the protocol slug (e.g. \"aave\", \"lido\", \"uniswap\"). Paid duplicate of tool:sperax-defillama.getProtocolTvl; same handler, paid per call instead of a session or API key. Source: api.llama.fi, yields.llama.fi.","operationId":"x402_toolsDefillamaGetProtocolTvl","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"protocolSlug":{"description":"DefiLlama protocol slug (e.g. \"aave\", \"lido\", \"uniswap\", \"maker\").","type":"string"}},"required":["protocolSlug"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get TVL and TVL history for a specific DeFi protocol"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get TVL and TVL history for a specific DeFi protocol","tags":["Tools (paid)"],"x-input-schema":{"properties":{"protocolSlug":{"description":"DefiLlama protocol slug (e.g. \"aave\", \"lido\", \"uniswap\", \"maker\").","type":"string"}},"required":["protocolSlug"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/defillama/getTopProtocols":{"post":{"description":"Get top DeFi protocols ranked by TVL. Optionally filter by chain and limit results. Paid duplicate of tool:sperax-defillama.getTopProtocols; same handler, paid per call instead of a session or API key. Source: api.llama.fi, yields.llama.fi.","operationId":"x402_toolsDefillamaGetTopProtocols","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"chain":{"description":"Filter by blockchain (e.g. \"Ethereum\", \"Solana\", \"Arbitrum\").","type":"string"},"limit":{"description":"Maximum number of protocols to return (default: 10).","type":"number"}},"required":[],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get top DeFi protocols ranked by TVL"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get top DeFi protocols ranked by TVL","tags":["Tools (paid)"],"x-input-schema":{"properties":{"chain":{"description":"Filter by blockchain (e.g. \"Ethereum\", \"Solana\", \"Arbitrum\").","type":"string"},"limit":{"description":"Maximum number of protocols to return (default: 10).","type":"number"}},"required":[],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/defillama/getYields":{"post":{"description":"Get top yield/farming pools across DeFi. Optionally filter by chain, stablecoin-only, or minimum TVL. Paid duplicate of tool:sperax-defillama.getYields; same handler, paid per call instead of a session or API key. Source: api.llama.fi, yields.llama.fi.","operationId":"x402_toolsDefillamaGetYields","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"chain":{"description":"Filter by blockchain (e.g. \"Ethereum\", \"Arbitrum\").","type":"string"},"minTvl":{"description":"Minimum pool TVL in USD.","type":"number"},"stablecoin":{"description":"If true, only show stablecoin pools.","type":"boolean"}},"required":[],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get top yield/farming pools across DeFi"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get top yield/farming pools across DeFi","tags":["Tools (paid)"],"x-input-schema":{"properties":{"chain":{"description":"Filter by blockchain (e.g. \"Ethereum\", \"Arbitrum\").","type":"string"},"minTvl":{"description":"Minimum pool TVL in USD.","type":"number"},"stablecoin":{"description":"If true, only show stablecoin pools.","type":"boolean"}},"required":[],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/dex-aggregators/getAggregatorSummary":{"post":{"description":"Get an overall DEX aggregator market summary. Paid duplicate of tool:sperax-dex-aggregators.getAggregatorSummary; same handler, paid per call instead of a session or API key. Source: api.llama.fi.","operationId":"x402_toolsDexAggregatorsGetAggregatorSummary","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{},"required":[],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get an overall DEX aggregator market summary"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get an overall DEX aggregator market summary","tags":["Tools (paid)"],"x-input-schema":{"properties":{},"required":[],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/tools/dex-aggregators/getAggregatorVolume":{"post":{"description":"Get historical daily volume data for a specific DEX aggregator. Paid duplicate of tool:sperax-dex-aggregators.getAggregatorVolume; same handler, paid per call instead of a session or API key. Source: api.llama.fi.","operationId":"x402_toolsDexAggregatorsGetAggregatorVolume","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"aggregator":{"description":"Aggregator slug (e.g. \"1inch\", \"paraswap\", \"cow-swap\")","type":"string"}},"required":["aggregator"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get historical daily volume data for a specific DEX aggregator"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get historical daily volume data for a specific DEX aggregator","tags":["Tools (paid)"],"x-input-schema":{"properties":{"aggregator":{"description":"Aggregator slug (e.g. \"1inch\", \"paraswap\", \"cow-swap\")","type":"string"}},"required":["aggregator"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/dex-aggregators/getAggregators":{"post":{"description":"List all DEX aggregators ranked by 24h trading volume. Paid duplicate of tool:sperax-dex-aggregators.getAggregators; same handler, paid per call instead of a session or API key. Source: api.llama.fi.","operationId":"x402_toolsDexAggregatorsGetAggregators","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"limit":{"default":20,"description":"Max results to return","type":"number"}},"required":[],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"List all DEX aggregators ranked by 24h trading volume"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"List all DEX aggregators ranked by 24h trading volume","tags":["Tools (paid)"],"x-input-schema":{"properties":{"limit":{"default":20,"description":"Max results to return","type":"number"}},"required":[],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/dune-analytics/getPopularQueries":{"post":{"description":"List trending Dune queries and dashboards. Optionally filter by category. Returns a curated list. Paid duplicate of tool:sperax-dune-analytics.getPopularQueries; same handler, paid per call instead of a session or API key. Source: computed locally from the call parameters.","operationId":"x402_toolsDuneAnalyticsGetPopularQueries","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"category":{"description":"Filter by category (DeFi, NFTs, Network, Scaling, Lending, Staking)","type":"string"}},"required":[],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"List trending Dune queries and dashboards"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"List trending Dune queries and dashboards","tags":["Tools (paid)"],"x-input-schema":{"properties":{"category":{"description":"Filter by category (DeFi, NFTs, Network, Scaling, Lending, Staking)","type":"string"}},"required":[],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/erc8004/batchGetMetadata":{"post":{"description":"Read multiple on-chain metadata values for a registered agent in a single call. Returns a map of key → { value, rawBytes }. Paid duplicate of tool:sperax-erc8004.batchGetMetadata; same handler, paid per call instead of a session or API key. Source: public RPCs (eth/arb/base/op/poly/bsc + testnets), RPCs/subgraph, gateway.thegraph.com, api.studio.thegraph.com, public RPCs, RPCs/subgraphs.","operationId":"x402_toolsErc8004BatchGetMetadata","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"agentId":{"description":"The token ID of the agent","type":"number"},"chain":{"default":"bsc-testnet","description":"Blockchain to query. Options: bsc-testnet, bsc-mainnet, ethereum, sepolia","type":"string"},"keys":{"description":"Array of metadata keys to retrieve","items":{"type":"string"},"type":"array"}},"required":["agentId","keys"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Read multiple on-chain metadata values for a registered agent in a single call"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Read multiple on-chain metadata values for a registered agent in a single call","tags":["Tools (paid)"],"x-input-schema":{"properties":{"agentId":{"description":"The token ID of the agent","type":"number"},"chain":{"default":"bsc-testnet","description":"Blockchain to query. Options: bsc-testnet, bsc-mainnet, ethereum, sepolia","type":"string"},"keys":{"description":"Array of metadata keys to retrieve","items":{"type":"string"},"type":"array"}},"required":["agentId","keys"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/tools/erc8004/checkValidation":{"post":{"description":"Check whether an agent has been validated for a specific attestation type. Returns a simple boolean result. Only available on testnets (bsc-testnet, sepolia). Paid duplicate of tool:sperax-erc8004.checkValidation; same handler, paid per call instead of a session or API key. Source: public RPCs (eth/arb/base/op/poly/bsc + testnets), RPCs/subgraph, gateway.thegraph.com, api.studio.thegraph.com, public RPCs, RPCs/subgraphs.","operationId":"x402_toolsErc8004CheckValidation","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"agentId":{"description":"The token ID of the agent","type":"string"},"attestationType":{"description":"The attestation type to check (e.g., identity, capability, security, compliance)","type":"string"},"chain":{"default":"bsc-testnet","description":"Blockchain to query (testnet only: bsc-testnet, sepolia)","type":"string"}},"required":["agentId","attestationType"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Check whether an agent has been validated for a specific attestation type"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Check whether an agent has been validated for a specific attestation type","tags":["Tools (paid)"],"x-input-schema":{"properties":{"agentId":{"description":"The token ID of the agent","type":"string"},"attestationType":{"description":"The attestation type to check (e.g., identity, capability, security, compliance)","type":"string"},"chain":{"default":"bsc-testnet","description":"Blockchain to query (testnet only: bsc-testnet, sepolia)","type":"string"}},"required":["agentId","attestationType"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/erc8004/getAgent":{"post":{"description":"Look up a registered agent by its token ID. Returns the owner address, metadata URI, decoded metadata (name, description, services), and chain. Paid duplicate of tool:sperax-erc8004.getAgent; same handler, paid per call instead of a session or API key. Source: public RPCs (eth/arb/base/op/poly/bsc + testnets), RPCs/subgraph, gateway.thegraph.com, api.studio.thegraph.com, public RPCs, RPCs/subgraphs.","operationId":"x402_toolsErc8004GetAgent","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"agentId":{"description":"The token ID of the agent to look up","type":"string"},"chain":{"default":"bsc-testnet","description":"Blockchain to query. Options: bsc-testnet, bsc-mainnet, ethereum, sepolia, arbitrum, base, optimism, polygon, arbitrum-sepolia, base-sepolia, optimism-sepolia, polygon-amoy","type":"string"}},"required":["agentId"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Look up a registered agent by its token ID"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Look up a registered agent by its token ID","tags":["Tools (paid)"],"x-input-schema":{"properties":{"agentId":{"description":"The token ID of the agent to look up","type":"string"},"chain":{"default":"bsc-testnet","description":"Blockchain to query. Options: bsc-testnet, bsc-mainnet, ethereum, sepolia, arbitrum, base, optimism, polygon, arbitrum-sepolia, base-sepolia, optimism-sepolia, polygon-amoy","type":"string"}},"required":["agentId"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/erc8004/getAgentCount":{"post":{"description":"Get the total number of AI agents registered on a chain by binary-searching sequential token IDs. Useful for analytics and understanding overall protocol adoption. Read-only — no wallet required. Paid duplicate of tool:sperax-erc8004.getAgentCount; same handler, paid per call instead of a session or API key. Source: public RPCs (eth/arb/base/op/poly/bsc + testnets), RPCs/subgraph, gateway.thegraph.com, api.studio.thegraph.com, public RPCs, RPCs/subgraphs.","operationId":"x402_toolsErc8004GetAgentCount","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"chain":{"default":"bsc-testnet","description":"Blockchain to query. Options: bsc-testnet, bsc-mainnet, ethereum, sepolia","type":"string"}},"required":[],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get the total number of AI agents registered on a chain by binary-searching sequential token IDs"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get the total number of AI agents registered on a chain by binary-searching sequential token IDs","tags":["Tools (paid)"],"x-input-schema":{"properties":{"chain":{"default":"bsc-testnet","description":"Blockchain to query. Options: bsc-testnet, bsc-mainnet, ethereum, sepolia","type":"string"}},"required":[],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.02","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"heavy"}},"/api/x402/tools/erc8004/getMetadata":{"post":{"description":"Read a single on-chain metadata value for a registered agent by key. Returns the decoded UTF-8 value and the raw hex bytes. Paid duplicate of tool:sperax-erc8004.getMetadata; same handler, paid per call instead of a session or API key. Source: public RPCs (eth/arb/base/op/poly/bsc + testnets), RPCs/subgraph, gateway.thegraph.com, api.studio.thegraph.com, public RPCs, RPCs/subgraphs.","operationId":"x402_toolsErc8004GetMetadata","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"agentId":{"description":"The token ID of the agent","type":"number"},"chain":{"default":"bsc-testnet","description":"Blockchain to query. Options: bsc-testnet, bsc-mainnet, ethereum, sepolia","type":"string"},"key":{"description":"Metadata key to look up (e.g., \"version\", \"a2a.endpoint\")","type":"string"}},"required":["agentId","key"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Read a single on-chain metadata value for a registered agent by key"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Read a single on-chain metadata value for a registered agent by key","tags":["Tools (paid)"],"x-input-schema":{"properties":{"agentId":{"description":"The token ID of the agent","type":"number"},"chain":{"default":"bsc-testnet","description":"Blockchain to query. Options: bsc-testnet, bsc-mainnet, ethereum, sepolia","type":"string"},"key":{"description":"Metadata key to look up (e.g., \"version\", \"a2a.endpoint\")","type":"string"}},"required":["agentId","key"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/erc8004/getReputation":{"post":{"description":"Get an agent's on-chain reputation data including total feedback count, average score, and recent reviews. Paid duplicate of tool:sperax-erc8004.getReputation; same handler, paid per call instead of a session or API key. Source: public RPCs (eth/arb/base/op/poly/bsc + testnets), RPCs/subgraph, gateway.thegraph.com, api.studio.thegraph.com, public RPCs, RPCs/subgraphs.","operationId":"x402_toolsErc8004GetReputation","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"agentId":{"description":"The token ID of the agent","type":"string"},"chain":{"default":"bsc-testnet","description":"Blockchain to query","type":"string"},"limit":{"default":10,"description":"Number of recent feedback entries to return","type":"number"}},"required":["agentId"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get an agent's on-chain reputation data including total feedback count, average score, and recent reviews"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get an agent's on-chain reputation data including total feedback count, average score, and recent reviews","tags":["Tools (paid)"],"x-input-schema":{"properties":{"agentId":{"description":"The token ID of the agent","type":"string"},"chain":{"default":"bsc-testnet","description":"Blockchain to query","type":"string"},"limit":{"default":10,"description":"Number of recent feedback entries to return","type":"number"}},"required":["agentId"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/tools/erc8004/getValidation":{"post":{"description":"Get the full validation details for an agent attestation type, including the validator address, attestation data, and timestamp. Only available on testnets (bsc-testnet, sepolia). Paid duplicate of tool:sperax-erc8004.getValidation; same handler, paid per call instead of a session or API key. Source: public RPCs (eth/arb/base/op/poly/bsc + testnets), RPCs/subgraph, gateway.thegraph.com, api.studio.thegraph.com, public RPCs, RPCs/subgraphs.","operationId":"x402_toolsErc8004GetValidation","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"agentId":{"description":"The token ID of the agent","type":"string"},"attestationType":{"description":"The attestation type to query (e.g., identity, capability, security, compliance)","type":"string"},"chain":{"default":"bsc-testnet","description":"Blockchain to query (testnet only: bsc-testnet, sepolia)","type":"string"}},"required":["agentId","attestationType"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get the full validation details for an agent attestation type, including the validator address, attestation data, and timestamp"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get the full validation details for an agent attestation type, including the validator address, attestation data, and timestamp","tags":["Tools (paid)"],"x-input-schema":{"properties":{"agentId":{"description":"The token ID of the agent","type":"string"},"attestationType":{"description":"The attestation type to query (e.g., identity, capability, security, compliance)","type":"string"},"chain":{"default":"bsc-testnet","description":"Blockchain to query (testnet only: bsc-testnet, sepolia)","type":"string"}},"required":["agentId","attestationType"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/erc8004/listAgents":{"post":{"description":"List all agents owned by a specific wallet address. Returns an array of registered agents with their metadata. Paid duplicate of tool:sperax-erc8004.listAgents; same handler, paid per call instead of a session or API key. Source: public RPCs (eth/arb/base/op/poly/bsc + testnets), RPCs/subgraph, gateway.thegraph.com, api.studio.thegraph.com, public RPCs, RPCs/subgraphs.","operationId":"x402_toolsErc8004ListAgents","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"chain":{"default":"bsc-testnet","description":"Blockchain to query","type":"string"},"limit":{"default":20,"description":"Maximum number of agents to return","type":"number"},"owner":{"description":"Wallet address to list agents for (0x...)","type":"string"}},"required":["owner"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"List all agents owned by a specific wallet address"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"List all agents owned by a specific wallet address","tags":["Tools (paid)"],"x-input-schema":{"properties":{"chain":{"default":"bsc-testnet","description":"Blockchain to query","type":"string"},"limit":{"default":20,"description":"Maximum number of agents to return","type":"number"},"owner":{"description":"Wallet address to list agents for (0x...)","type":"string"}},"required":["owner"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/erc8004/querySubgraph":{"post":{"description":"Query the ERC-8004 subgraph for indexed on-chain data — agent registrations, ownership transfers, feedback events, and aggregate statistics. Uses The Graph protocol for efficient historical queries. Paid duplicate of tool:sperax-erc8004.querySubgraph; same handler, paid per call instead of a session or API key. Source: public RPCs (eth/arb/base/op/poly/bsc + testnets), RPCs/subgraph, gateway.thegraph.com, api.studio.thegraph.com, public RPCs, RPCs/subgraphs.","operationId":"x402_toolsErc8004QuerySubgraph","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"entity":{"description":"The subgraph entity to query: agents (registered agents), transfers (ownership changes), feedbacks (reputation feedback events), stats (aggregate protocol statistics)","enum":["agents","transfers","feedbacks","stats"],"type":"string"},"first":{"default":10,"description":"Number of results to return (max 100)","maximum":100,"type":"number"},"orderBy":{"description":"Field to order results by (e.g., createdAt, score, tokenId)","type":"string"},"orderDirection":{"default":"desc","description":"Sort direction: asc or desc","enum":["asc","desc"],"type":"string"},"where":{"description":"Optional filter as JSON string (e.g., {\"owner\": \"0x...\"} or {\"agentId\": \"5\"})","type":"string"}},"required":["entity"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Query the ERC-8004 subgraph for indexed on-chain data — agent registrations, ownership transfers, feedback events, and aggregate statistics"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Query the ERC-8004 subgraph for indexed on-chain data — agent registrations, ownership transfers, feedback events, and aggregate statistics","tags":["Tools (paid)"],"x-input-schema":{"properties":{"entity":{"description":"The subgraph entity to query: agents (registered agents), transfers (ownership changes), feedbacks (reputation feedback events), stats (aggregate protocol statistics)","enum":["agents","transfers","feedbacks","stats"],"type":"string"},"first":{"default":10,"description":"Number of results to return (max 100)","maximum":100,"type":"number"},"orderBy":{"description":"Field to order results by (e.g., createdAt, score, tokenId)","type":"string"},"orderDirection":{"default":"desc","description":"Sort direction: asc or desc","enum":["asc","desc"],"type":"string"},"where":{"description":"Optional filter as JSON string (e.g., {\"owner\": \"0x...\"} or {\"agentId\": \"5\"})","type":"string"}},"required":["entity"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/erc8004/registerAgent":{"post":{"description":"Register (deploy) a new AI agent on-chain as an ERC-721 NFT. Creates a permanent, verifiable identity for the agent on the selected blockchain. Triggered by \"deploy [name] to [chain]\", \"register agent\", or \"put [name] on-chain\". Returns the agent ID, transaction hash, and explorer URL. Paid duplicate of tool:sperax-erc8004.registerAgent; same handler, paid per call instead of a session or API key. Source: public RPCs (eth/arb/base/op/poly/bsc + testnets), RPCs/subgraph, gateway.thegraph.com, api.studio.thegraph.com, public RPCs, RPCs/subgraphs.","operationId":"x402_toolsErc8004RegisterAgent","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"chain":{"default":"bsc-testnet","description":"Blockchain to register on. Accepts full names (bsc-mainnet, ethereum, arbitrum) or shortcuts (bsc, eth, arb, base, op, polygon, matic). Options: bsc-testnet, bsc-mainnet, ethereum, sepolia, arbitrum, base, optimism, polygon, arbitrum-sepolia, base-sepolia, optimism-sepolia, polygon-amoy","type":"string"},"description":{"description":"A description of the agent and its purpose","type":"string"},"imageUrl":{"description":"Optional URL to an avatar/image for the agent","type":"string"},"name":{"description":"The name of the agent to register","type":"string"},"serviceRegistryHash":{"description":"IPFS CID (CIDv1 or CIDv0) of the agent's commerce service manifest. When provided, the hash is stored in on-chain metadata under the key \"a2a.serviceRegistry\" so that peer agents can discover and verify paid capabilities without trusting a centralised database.","type":"string"},"services":{"description":"Array of service endpoints the agent provides (A2A, MCP, etc.)","items":{"properties":{"endpoint":{"description":"Service endpoint URL","type":"string"},"name":{"description":"Service name (e.g., A2A, MCP, inference)","type":"string"}},"required":["name","endpoint"],"type":"object"},"type":"array"},"trust":{"description":"Trust mechanisms (e.g., reputation, crypto-economic, institutional)","items":{"type":"string"},"type":"array"}},"required":["name","description"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Register (deploy) a new AI agent on-chain as an ERC-721 NFT"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Register (deploy) a new AI agent on-chain as an ERC-721 NFT","tags":["Tools (paid)"],"x-input-schema":{"properties":{"chain":{"default":"bsc-testnet","description":"Blockchain to register on. Accepts full names (bsc-mainnet, ethereum, arbitrum) or shortcuts (bsc, eth, arb, base, op, polygon, matic). Options: bsc-testnet, bsc-mainnet, ethereum, sepolia, arbitrum, base, optimism, polygon, arbitrum-sepolia, base-sepolia, optimism-sepolia, polygon-amoy","type":"string"},"description":{"description":"A description of the agent and its purpose","type":"string"},"imageUrl":{"description":"Optional URL to an avatar/image for the agent","type":"string"},"name":{"description":"The name of the agent to register","type":"string"},"serviceRegistryHash":{"description":"IPFS CID (CIDv1 or CIDv0) of the agent's commerce service manifest. When provided, the hash is stored in on-chain metadata under the key \"a2a.serviceRegistry\" so that peer agents can discover and verify paid capabilities without trusting a centralised database.","type":"string"},"services":{"description":"Array of service endpoints the agent provides (A2A, MCP, etc.)","items":{"properties":{"endpoint":{"description":"Service endpoint URL","type":"string"},"name":{"description":"Service name (e.g., A2A, MCP, inference)","type":"string"}},"required":["name","endpoint"],"type":"object"},"type":"array"},"trust":{"description":"Trust mechanisms (e.g., reputation, crypto-economic, institutional)","items":{"type":"string"},"type":"array"}},"required":["name","description"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/erc8004/searchAgents":{"post":{"description":"Search for registered agents by name, description, or service type. Discovers agents across the on-chain registry. Paid duplicate of tool:sperax-erc8004.searchAgents; same handler, paid per call instead of a session or API key. Source: public RPCs (eth/arb/base/op/poly/bsc + testnets), RPCs/subgraph, gateway.thegraph.com, api.studio.thegraph.com, public RPCs, RPCs/subgraphs.","operationId":"x402_toolsErc8004SearchAgents","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"chain":{"default":"bsc-testnet","description":"Blockchain to search on","type":"string"},"limit":{"default":10,"description":"Maximum results to return","type":"number"},"query":{"description":"Search term to match against agent names and descriptions","type":"string"},"serviceType":{"description":"Filter by service type (e.g., A2A, MCP, inference)","type":"string"}},"required":["query"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Search for registered agents by name, description, or service type"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Search for registered agents by name, description, or service type","tags":["Tools (paid)"],"x-input-schema":{"properties":{"chain":{"default":"bsc-testnet","description":"Blockchain to search on","type":"string"},"limit":{"default":10,"description":"Maximum results to return","type":"number"},"query":{"description":"Search term to match against agent names and descriptions","type":"string"},"serviceType":{"description":"Filter by service type (e.g., A2A, MCP, inference)","type":"string"}},"required":["query"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/erc8004/searchAllChains":{"post":{"description":"Search for registered AI agents across ALL supported blockchains simultaneously. Runs parallel queries on bsc-testnet, bsc-mainnet, ethereum, sepolia, arbitrum, base, optimism, polygon and more, then merges results grouped by chain. Read-only — no wallet required. Paid duplicate of tool:sperax-erc8004.searchAllChains; same handler, paid per call instead of a session or API key. Source: public RPCs (eth/arb/base/op/poly/bsc + testnets), RPCs/subgraph, gateway.thegraph.com, api.studio.thegraph.com, public RPCs, RPCs/subgraphs.","operationId":"x402_toolsErc8004SearchAllChains","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"limit":{"default":5,"description":"Maximum results to return per chain (total results = limit × number of chains)","maximum":20,"type":"number"},"query":{"description":"Search term to match against agent names and descriptions across all chains","type":"string"}},"required":[],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Search for registered AI agents across ALL supported blockchains simultaneously"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Search for registered AI agents across ALL supported blockchains simultaneously","tags":["Tools (paid)"],"x-input-schema":{"properties":{"limit":{"default":5,"description":"Maximum results to return per chain (total results = limit × number of chains)","maximum":20,"type":"number"},"query":{"description":"Search term to match against agent names and descriptions across all chains","type":"string"}},"required":[],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.02","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"heavy"}},"/api/x402/tools/erc8004/setMetadata":{"post":{"description":"Set on-chain key-value metadata for a registered agent. Common keys: \"version\", \"a2a.endpoint\", \"mcp.endpoint\", \"did\", \"ens\", \"x402.enabled\", \"a2a.serviceRegistry\" (IPFS CID of the commerce service manifest). Value is stored as UTF-8 bytes. Requires a wallet signature and gas. Paid duplicate of tool:sperax-erc8004.setMetadata; same handler, paid per call instead of a session or API key. Source: public RPCs (eth/arb/base/op/poly/bsc + testnets), RPCs/subgraph, gateway.thegraph.com, api.studio.thegraph.com, public RPCs, RPCs/subgraphs.","operationId":"x402_toolsErc8004SetMetadata","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"agentId":{"description":"The token ID of the agent to update","type":"number"},"chain":{"default":"bsc-testnet","description":"Blockchain where the agent is registered. Options: bsc-testnet, bsc-mainnet, ethereum, sepolia","type":"string"},"key":{"description":"Metadata key (e.g., \"version\", \"a2a.endpoint\", \"mcp.endpoint\", \"did\", \"ens\", \"x402.enabled\")","type":"string"},"value":{"description":"Metadata value as a UTF-8 string","type":"string"}},"required":["agentId","key","value"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Set on-chain key-value metadata for a registered agent"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Set on-chain key-value metadata for a registered agent","tags":["Tools (paid)"],"x-input-schema":{"properties":{"agentId":{"description":"The token ID of the agent to update","type":"number"},"chain":{"default":"bsc-testnet","description":"Blockchain where the agent is registered. Options: bsc-testnet, bsc-mainnet, ethereum, sepolia","type":"string"},"key":{"description":"Metadata key (e.g., \"version\", \"a2a.endpoint\", \"mcp.endpoint\", \"did\", \"ens\", \"x402.enabled\")","type":"string"},"value":{"description":"Metadata value as a UTF-8 string","type":"string"}},"required":["agentId","key","value"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/erc8004/setURI":{"post":{"description":"Update the metadata URI for an agent you own. Calls setAgentURI(agentId, newURI) on the identity registry. Requires the caller to be the current owner of the agent NFT. Paid duplicate of tool:sperax-erc8004.setURI; same handler, paid per call instead of a session or API key. Source: public RPCs (eth/arb/base/op/poly/bsc + testnets), RPCs/subgraph, gateway.thegraph.com, api.studio.thegraph.com, public RPCs, RPCs/subgraphs.","operationId":"x402_toolsErc8004SetURI","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"agentId":{"description":"The token ID of the agent whose URI will be updated","type":"number"},"chain":{"default":"bsc-testnet","description":"Blockchain where the agent is registered. Options: bsc-testnet, bsc-mainnet, ethereum, sepolia","type":"string"},"newURI":{"description":"The new metadata URI. Can be a data:application/json;base64,… URI or an HTTPS URL pointing to a JSON metadata file.","type":"string"}},"required":["agentId","newURI"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Update the metadata URI for an agent you own"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Update the metadata URI for an agent you own","tags":["Tools (paid)"],"x-input-schema":{"properties":{"agentId":{"description":"The token ID of the agent whose URI will be updated","type":"number"},"chain":{"default":"bsc-testnet","description":"Blockchain where the agent is registered. Options: bsc-testnet, bsc-mainnet, ethereum, sepolia","type":"string"},"newURI":{"description":"The new metadata URI. Can be a data:application/json;base64,… URI or an HTTPS URL pointing to a JSON metadata file.","type":"string"}},"required":["agentId","newURI"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/erc8004/submitFeedback":{"post":{"description":"Submit on-chain reputation feedback for an agent. Score ranges from -128 to +127. Requires gas fees. Paid duplicate of tool:sperax-erc8004.submitFeedback; same handler, paid per call instead of a session or API key. Source: public RPCs (eth/arb/base/op/poly/bsc + testnets), RPCs/subgraph, gateway.thegraph.com, api.studio.thegraph.com, public RPCs, RPCs/subgraphs.","operationId":"x402_toolsErc8004SubmitFeedback","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"agentId":{"description":"The token ID of the agent to rate","type":"string"},"chain":{"default":"bsc-testnet","description":"Blockchain where the agent is registered","type":"string"},"comment":{"description":"Text feedback/review for the agent","type":"string"},"score":{"description":"Reputation score from -128 to 127","maximum":127,"minimum":-128,"type":"number"}},"required":["agentId","score","comment"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Submit on-chain reputation feedback for an agent"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Submit on-chain reputation feedback for an agent","tags":["Tools (paid)"],"x-input-schema":{"properties":{"agentId":{"description":"The token ID of the agent to rate","type":"string"},"chain":{"default":"bsc-testnet","description":"Blockchain where the agent is registered","type":"string"},"comment":{"description":"Text feedback/review for the agent","type":"string"},"score":{"description":"Reputation score from -128 to 127","maximum":127,"minimum":-128,"type":"number"}},"required":["agentId","score","comment"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/flash-loan-scanner/analyzeHistoricalFlashLoans":{"post":{"description":"Analyze historical flash loan activity on a chain. Shows trends in profitability, common strategies, and success rates. Paid duplicate of tool:sperax-flash-loan-scanner.analyzeHistoricalFlashLoans; same handler, paid per call instead of a session or API key. Source: yields.llama.fi, api.llama.fi, llama.fi.","operationId":"x402_toolsFlashLoanScannerAnalyzeHistoricalFlashLoans","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"chain":{"description":"Chain to analyze.","type":"string"},"limit":{"description":"Maximum number of results. Default: 50.","type":"number"},"minProfitUsd":{"description":"Minimum profit filter.","type":"number"},"periodDays":{"description":"Historical period in days.","type":"number"},"type":{"description":"Filter by type: \"arbitrage\", \"liquidation\", or \"all\".","type":"string"}},"required":["chain","periodDays"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Analyze historical flash loan activity on a chain"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Analyze historical flash loan activity on a chain","tags":["Tools (paid)"],"x-input-schema":{"properties":{"chain":{"description":"Chain to analyze.","type":"string"},"limit":{"description":"Maximum number of results. Default: 50.","type":"number"},"minProfitUsd":{"description":"Minimum profit filter.","type":"number"},"periodDays":{"description":"Historical period in days.","type":"number"},"type":{"description":"Filter by type: \"arbitrage\", \"liquidation\", or \"all\".","type":"string"}},"required":["chain","periodDays"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.02","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"heavy"}},"/api/x402/tools/flash-loan-scanner/estimateFlashLoanProfit":{"post":{"description":"Estimate exact profitability of a flash loan opportunity. Calculates all costs (gas, flash loan fee, slippage) and shows step-by-step execution plan. Paid duplicate of tool:sperax-flash-loan-scanner.estimateFlashLoanProfit; same handler, paid per call instead of a session or API key. Source: yields.llama.fi, api.llama.fi, llama.fi.","operationId":"x402_toolsFlashLoanScannerEstimateFlashLoanProfit","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"loanAmountUsd":{"description":"Flash loan amount in USD.","type":"number"},"opportunityId":{"description":"Opportunity ID from scan results.","type":"string"},"preferredProvider":{"description":"Preferred flash loan provider (aave, dydx, balancer, etc.).","type":"string"}},"required":["loanAmountUsd"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Estimate exact profitability of a flash loan opportunity"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Estimate exact profitability of a flash loan opportunity","tags":["Tools (paid)"],"x-input-schema":{"properties":{"loanAmountUsd":{"description":"Flash loan amount in USD.","type":"number"},"opportunityId":{"description":"Opportunity ID from scan results.","type":"string"},"preferredProvider":{"description":"Preferred flash loan provider (aave, dydx, balancer, etc.).","type":"string"}},"required":["loanAmountUsd"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/tools/flash-loan-scanner/findLiquidationTargets":{"post":{"description":"Find lending protocol positions near liquidation. Monitors health factors and calculates potential liquidation profits. Paid duplicate of tool:sperax-flash-loan-scanner.findLiquidationTargets; same handler, paid per call instead of a session or API key. Source: yields.llama.fi, api.llama.fi, llama.fi.","operationId":"x402_toolsFlashLoanScannerFindLiquidationTargets","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"chains":{"description":"Chains to scan.","items":{"type":"string"},"type":"array"},"maxHealthFactor":{"description":"Maximum health factor to consider (e.g. 1.1 for positions near liquidation).","type":"number"},"minProfitUsd":{"description":"Minimum profit threshold in USD.","type":"number"},"onlyLiquidatable":{"description":"Only show positions that are currently liquidatable. Default: false.","type":"boolean"},"protocols":{"description":"Lending protocols to scan (e.g. [\"aave\", \"compound\"]).","items":{"type":"string"},"type":"array"}},"required":["maxHealthFactor","minProfitUsd"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Find lending protocol positions near liquidation"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Find lending protocol positions near liquidation","tags":["Tools (paid)"],"x-input-schema":{"properties":{"chains":{"description":"Chains to scan.","items":{"type":"string"},"type":"array"},"maxHealthFactor":{"description":"Maximum health factor to consider (e.g. 1.1 for positions near liquidation).","type":"number"},"minProfitUsd":{"description":"Minimum profit threshold in USD.","type":"number"},"onlyLiquidatable":{"description":"Only show positions that are currently liquidatable. Default: false.","type":"boolean"},"protocols":{"description":"Lending protocols to scan (e.g. [\"aave\", \"compound\"]).","items":{"type":"string"},"type":"array"}},"required":["maxHealthFactor","minProfitUsd"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/tools/flash-loan-scanner/getFlashLoanProviders":{"post":{"description":"Compare flash loan providers. Shows fees, available liquidity, supported tokens, and recommendations. Paid duplicate of tool:sperax-flash-loan-scanner.getFlashLoanProviders; same handler, paid per call instead of a session or API key. Source: yields.llama.fi, api.llama.fi, llama.fi.","operationId":"x402_toolsFlashLoanScannerGetFlashLoanProviders","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"chain":{"description":"Chain to query.","type":"string"},"minAmountUsd":{"description":"Minimum borrowable amount needed.","type":"number"},"token":{"description":"Specific token to borrow.","type":"string"}},"required":["chain"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Compare flash loan providers"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Compare flash loan providers","tags":["Tools (paid)"],"x-input-schema":{"properties":{"chain":{"description":"Chain to query.","type":"string"},"minAmountUsd":{"description":"Minimum borrowable amount needed.","type":"number"},"token":{"description":"Specific token to borrow.","type":"string"}},"required":["chain"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/flash-loan-scanner/scanArbitrageOpportunities":{"post":{"description":"Scan DEXes for real-time arbitrage opportunities. Detects price discrepancies across multiple DEXes and chains, calculates net profitability after gas and flash loan fees. Paid duplicate of tool:sperax-flash-loan-scanner.scanArbitrageOpportunities; same handler, paid per call instead of a session or API key. Source: yields.llama.fi, api.llama.fi, llama.fi.","operationId":"x402_toolsFlashLoanScannerScanArbitrageOpportunities","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"chains":{"description":"Chains to scan (e.g. [\"ethereum\", \"arbitrum\"]). Default: all major chains.","items":{"type":"string"},"type":"array"},"includeCrossChain":{"description":"Include cross-chain arbitrage opportunities. Default: false.","type":"boolean"},"maxHops":{"description":"Maximum hops in multi-hop arb. Default: 3.","type":"number"},"minConfidence":{"description":"Minimum confidence score (0-100). Default: 50.","type":"number"},"minProfitUsd":{"description":"Minimum net profit threshold in USD.","type":"number"},"tokens":{"description":"Specific tokens to scan. Use \"top50\" for top tokens by volume.","items":{"type":"string"},"type":"array"}},"required":["minProfitUsd"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Scan DEXes for real-time arbitrage opportunities"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Scan DEXes for real-time arbitrage opportunities","tags":["Tools (paid)"],"x-input-schema":{"properties":{"chains":{"description":"Chains to scan (e.g. [\"ethereum\", \"arbitrum\"]). Default: all major chains.","items":{"type":"string"},"type":"array"},"includeCrossChain":{"description":"Include cross-chain arbitrage opportunities. Default: false.","type":"boolean"},"maxHops":{"description":"Maximum hops in multi-hop arb. Default: 3.","type":"number"},"minConfidence":{"description":"Minimum confidence score (0-100). Default: 50.","type":"number"},"minProfitUsd":{"description":"Minimum net profit threshold in USD.","type":"number"},"tokens":{"description":"Specific tokens to scan. Use \"top50\" for top tokens by volume.","items":{"type":"string"},"type":"array"}},"required":["minProfitUsd"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.02","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"heavy"}},"/api/x402/tools/four-meme/getConfig":{"post":{"description":"Get Four.meme public platform config — raisedToken address, TokenManager2 and Helper3 contract addresses. Read-only, no auth required. Paid duplicate of tool:sperax-four-meme.getConfig; same handler, paid per call instead of a session or API key. Source: four.meme, bsc-dataseed1.binance.org, BSC RPC, four.meme/BSC RPC.","operationId":"x402_toolsFourMemeGetConfig","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{},"required":[],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get Four.meme public platform config — raisedToken address, TokenManager2 and Helper3 contract addresses"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get Four.meme public platform config — raisedToken address, TokenManager2 and Helper3 contract addresses","tags":["Tools (paid)"],"x-input-schema":{"properties":{},"required":[],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/four-meme/getCreatorTokens":{"post":{"description":"Profile a token creator on Four.meme. Returns all tokens launched by the creator with risk flags: abandonment rate, graduation rate, average bonding progress, and creator age. Use to assess rug-pull risk before trading. Paid duplicate of tool:sperax-four-meme.getCreatorTokens; same handler, paid per call instead of a session or API key. Source: four.meme, bsc-dataseed1.binance.org, BSC RPC, four.meme/BSC RPC.","operationId":"x402_toolsFourMemeGetCreatorTokens","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"creatorAddress":{"description":"Creator wallet address (BSC, 0x…).","type":"string"},"limit":{"description":"Max tokens to return (default 20).","type":"number"}},"required":["creatorAddress"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Profile a token creator on Four.meme"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Profile a token creator on Four.meme","tags":["Tools (paid)"],"x-input-schema":{"properties":{"creatorAddress":{"description":"Creator wallet address (BSC, 0x…).","type":"string"},"limit":{"description":"Max tokens to return (default 20).","type":"number"}},"required":["creatorAddress"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/four-meme/getEvents":{"post":{"description":"Fetch recent on-chain events from Four.meme TokenManager2: TokenCreate, TokenPurchase, TokenSale, LiquidityAdded. Specify a block range on BSC. Paid duplicate of tool:sperax-four-meme.getEvents; same handler, paid per call instead of a session or API key. Source: four.meme, bsc-dataseed1.binance.org, BSC RPC, four.meme/BSC RPC.","operationId":"x402_toolsFourMemeGetEvents","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"fromBlock":{"description":"Start block number on BSC.","type":"number"},"toBlock":{"description":"End block number (optional, defaults to latest block).","type":"number"}},"required":["fromBlock"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Fetch recent on-chain events from Four.meme TokenManager2: TokenCreate, TokenPurchase, TokenSale, LiquidityAdded"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Fetch recent on-chain events from Four.meme TokenManager2: TokenCreate, TokenPurchase, TokenSale, LiquidityAdded","tags":["Tools (paid)"],"x-input-schema":{"properties":{"fromBlock":{"description":"Start block number on BSC.","type":"number"},"toBlock":{"description":"End block number (optional, defaults to latest block).","type":"number"}},"required":["fromBlock"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/four-meme/getTaxInfo":{"post":{"description":"Get tax/fee info for a Four.meme TaxToken — feeRate, burnRate, divideRate, liquidityRate, recipientRate, recipientAddress, minSharing. Paid duplicate of tool:sperax-four-meme.getTaxInfo; same handler, paid per call instead of a session or API key. Source: four.meme, bsc-dataseed1.binance.org, BSC RPC, four.meme/BSC RPC.","operationId":"x402_toolsFourMemeGetTaxInfo","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"tokenAddress":{"description":"BSC token contract address (0x…).","type":"string"}},"required":["tokenAddress"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get tax/fee info for a Four.meme TaxToken — feeRate, burnRate, divideRate, liquidityRate, recipientRate, recipientAddress, minSharing"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get tax/fee info for a Four.meme TaxToken — feeRate, burnRate, divideRate, liquidityRate, recipientRate, recipientAddress, minSharing","tags":["Tools (paid)"],"x-input-schema":{"properties":{"tokenAddress":{"description":"BSC token contract address (0x…).","type":"string"}},"required":["tokenAddress"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/four-meme/getTokenInfo":{"post":{"description":"Look up a Four.meme token by BSC contract address. Returns on-chain version, tokenManager, current price, total supply, and remaining offers via Helper3. Paid duplicate of tool:sperax-four-meme.getTokenInfo; same handler, paid per call instead of a session or API key. Source: four.meme, bsc-dataseed1.binance.org, BSC RPC, four.meme/BSC RPC.","operationId":"x402_toolsFourMemeGetTokenInfo","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"tokenAddress":{"description":"BSC token contract address (0x…).","type":"string"}},"required":["tokenAddress"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Look up a Four.meme token by BSC contract address"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Look up a Four.meme token by BSC contract address","tags":["Tools (paid)"],"x-input-schema":{"properties":{"tokenAddress":{"description":"BSC token contract address (0x…).","type":"string"}},"required":["tokenAddress"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/four-meme/getTopHolders":{"post":{"description":"Analyze token holder concentration on BSC. Returns top holders with balances and percentages, plus a risk assessment (low/medium/high/critical) based on top-5 and top-10 concentration. Use to detect whale risk or rug-pull setups. Paid duplicate of tool:sperax-four-meme.getTopHolders; same handler, paid per call instead of a session or API key. Source: four.meme, bsc-dataseed1.binance.org, BSC RPC, four.meme/BSC RPC.","operationId":"x402_toolsFourMemeGetTopHolders","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"limit":{"description":"Max holders to return (default 10).","type":"number"},"tokenAddress":{"description":"BSC token contract address (0x…).","type":"string"}},"required":["tokenAddress"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Analyze token holder concentration on BSC"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Analyze token holder concentration on BSC","tags":["Tools (paid)"],"x-input-schema":{"properties":{"limit":{"description":"Max holders to return (default 10).","type":"number"},"tokenAddress":{"description":"BSC token contract address (0x…).","type":"string"}},"required":["tokenAddress"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/four-meme/quoteBuy":{"post":{"description":"Get a buy price quote for a Four.meme token. Estimate only — no transaction is executed. Pass amountWei (token amount to buy) or fundsWei (BNB to spend). Paid duplicate of tool:sperax-four-meme.quoteBuy; same handler, paid per call instead of a session or API key. Source: four.meme, bsc-dataseed1.binance.org, BSC RPC, four.meme/BSC RPC.","operationId":"x402_toolsFourMemeQuoteBuy","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"amountWei":{"description":"Token amount to buy in wei (use \"0\" if buying by funds instead).","type":"string"},"fundsWei":{"description":"BNB amount to spend in wei (use \"0\" or omit if buying by amount).","type":"string"},"tokenAddress":{"description":"BSC token contract address (0x…).","type":"string"}},"required":["tokenAddress","amountWei"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get a buy price quote for a Four.meme token"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get a buy price quote for a Four.meme token","tags":["Tools (paid)"],"x-input-schema":{"properties":{"amountWei":{"description":"Token amount to buy in wei (use \"0\" if buying by funds instead).","type":"string"},"fundsWei":{"description":"BNB amount to spend in wei (use \"0\" or omit if buying by amount).","type":"string"},"tokenAddress":{"description":"BSC token contract address (0x…).","type":"string"}},"required":["tokenAddress","amountWei"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/four-meme/quoteSell":{"post":{"description":"Get a sell price quote for a Four.meme token. Estimate only — no transaction is executed. Paid duplicate of tool:sperax-four-meme.quoteSell; same handler, paid per call instead of a session or API key. Source: four.meme, bsc-dataseed1.binance.org, BSC RPC, four.meme/BSC RPC.","operationId":"x402_toolsFourMemeQuoteSell","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"amountWei":{"description":"Token amount to sell in wei.","type":"string"},"tokenAddress":{"description":"BSC token contract address (0x…).","type":"string"}},"required":["tokenAddress","amountWei"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get a sell price quote for a Four.meme token"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get a sell price quote for a Four.meme token","tags":["Tools (paid)"],"x-input-schema":{"properties":{"amountWei":{"description":"Token amount to sell in wei.","type":"string"},"tokenAddress":{"description":"BSC token contract address (0x…).","type":"string"}},"required":["tokenAddress","amountWei"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/four-meme/tokenGet":{"post":{"description":"Get full detail and trading info for a specific Four.meme token by address. Returns name, symbol, description, image, trading data via REST API. Paid duplicate of tool:sperax-four-meme.tokenGet; same handler, paid per call instead of a session or API key. Source: four.meme, bsc-dataseed1.binance.org, BSC RPC, four.meme/BSC RPC.","operationId":"x402_toolsFourMemeTokenGet","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"tokenAddress":{"description":"BSC token contract address (0x…).","type":"string"}},"required":["tokenAddress"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get full detail and trading info for a specific Four.meme token by address"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get full detail and trading info for a specific Four.meme token by address","tags":["Tools (paid)"],"x-input-schema":{"properties":{"tokenAddress":{"description":"BSC token contract address (0x…).","type":"string"}},"required":["tokenAddress"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/four-meme/tokenList":{"post":{"description":"Browse Four.meme tokens with filters (name, symbol, label, graduated) and pagination. Returns a paginated list of tokens. Paid duplicate of tool:sperax-four-meme.tokenList; same handler, paid per call instead of a session or API key. Source: four.meme, bsc-dataseed1.binance.org, BSC RPC, four.meme/BSC RPC.","operationId":"x402_toolsFourMemeTokenList","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"labels":{"description":"Filter by label: Meme, AI, Defi, Games, Infra, De-Sci, Social, Depin, Charity, Others.","type":"string"},"listedPancake":{"description":"Filter to tokens that graduated to PancakeSwap.","type":"boolean"},"orderBy":{"description":"Sort: Hot (trending), Time (newest), ProgressDesc (bonding progress), TradingDesc (24h volume), Graduated.","type":"string"},"pageIndex":{"description":"Page number (1-based, default 1).","type":"number"},"pageSize":{"description":"Results per page (default 30, max 100).","type":"number"},"symbol":{"description":"Filter by token symbol.","type":"string"},"tokenName":{"description":"Filter by token name.","type":"string"}},"required":[],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Browse Four.meme tokens with filters (name, symbol, label, graduated) and pagination"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Browse Four.meme tokens with filters (name, symbol, label, graduated) and pagination","tags":["Tools (paid)"],"x-input-schema":{"properties":{"labels":{"description":"Filter by label: Meme, AI, Defi, Games, Infra, De-Sci, Social, Depin, Charity, Others.","type":"string"},"listedPancake":{"description":"Filter to tokens that graduated to PancakeSwap.","type":"boolean"},"orderBy":{"description":"Sort: Hot (trending), Time (newest), ProgressDesc (bonding progress), TradingDesc (24h volume), Graduated.","type":"string"},"pageIndex":{"description":"Page number (1-based, default 1).","type":"number"},"pageSize":{"description":"Results per page (default 30, max 100).","type":"number"},"symbol":{"description":"Filter by token symbol.","type":"string"},"tokenName":{"description":"Filter by token name.","type":"string"}},"required":[],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/four-meme/tokenRankings":{"post":{"description":"Get Four.meme token rankings. Supports: Hot (trending), TradingDesc (24h volume), Time (newest), ProgressDesc (bonding progress), Graduated. Paid duplicate of tool:sperax-four-meme.tokenRankings; same handler, paid per call instead of a session or API key. Source: four.meme, bsc-dataseed1.binance.org, BSC RPC, four.meme/BSC RPC.","operationId":"x402_toolsFourMemeTokenRankings","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"barType":{"description":"Time window for TradingDesc ranking: HOUR24 (default). Only used with TradingDesc orderBy.","type":"string"},"orderBy":{"description":"Ranking type: Hot | TradingDesc | Time | ProgressDesc | Graduated.","type":"string"}},"required":["orderBy"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get Four.meme token rankings"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get Four.meme token rankings","tags":["Tools (paid)"],"x-input-schema":{"properties":{"barType":{"description":"Time window for TradingDesc ranking: HOUR24 (default). Only used with TradingDesc orderBy.","type":"string"},"orderBy":{"description":"Ranking type: Hot | TradingDesc | Time | ProgressDesc | Graduated.","type":"string"}},"required":["orderBy"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/giza/getAgentOverview":{"post":{"description":"Get an overview of on-chain AI agents deployed on Giza, including their status, total inferences, and proofs generated. Supports filtering by chain, status, and result limit. Paid duplicate of tool:sperax-giza.getAgentOverview; same handler, paid per call instead of a session or API key. Source: api.gizatech.xyz.","operationId":"x402_toolsGizaGetAgentOverview","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"chain":{"description":"Filter agents by blockchain (e.g. \"ethereum\", \"starknet\", \"arbitrum\")","type":"string"},"limit":{"description":"Maximum number of agents to return (default: 10)","type":"number"},"status":{"description":"Filter by agent status: \"active\", \"inactive\", or \"pending\"","enum":["active","inactive","pending"],"type":"string"}},"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get an overview of on-chain AI agents deployed on Giza, including their status, total inferences, and proofs generated"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get an overview of on-chain AI agents deployed on Giza, including their status, total inferences, and proofs generated","tags":["Tools (paid)"],"x-input-schema":{"properties":{"chain":{"description":"Filter agents by blockchain (e.g. \"ethereum\", \"starknet\", \"arbitrum\")","type":"string"},"limit":{"description":"Maximum number of agents to return (default: 10)","type":"number"},"status":{"description":"Filter by agent status: \"active\", \"inactive\", or \"pending\"","enum":["active","inactive","pending"],"type":"string"}},"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/giza/getModelPerformance":{"post":{"description":"Get detailed performance metrics for a specific AI model including inference latency, proof generation time, accuracy, and historical inference volume chart data. Paid duplicate of tool:sperax-giza.getModelPerformance; same handler, paid per call instead of a session or API key. Source: api.gizatech.xyz.","operationId":"x402_toolsGizaGetModelPerformance","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"modelId":{"description":"The model ID to fetch performance data for","type":"string"}},"required":["modelId"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get detailed performance metrics for a specific AI model including inference latency, proof generation time, accuracy, and historical inference volume chart data"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get detailed performance metrics for a specific AI model including inference latency, proof generation time, accuracy, and historical inference volume chart data","tags":["Tools (paid)"],"x-input-schema":{"properties":{"modelId":{"description":"The model ID to fetch performance data for","type":"string"}},"required":["modelId"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/giza/getProofHistory":{"post":{"description":"Get ZKML proof history showing verification status, proof type (Cairo/Noir/RISC Zero), duration, and on-chain transaction details. Great for visualizing proof verification trends. Paid duplicate of tool:sperax-giza.getProofHistory; same handler, paid per call instead of a session or API key. Source: api.gizatech.xyz.","operationId":"x402_toolsGizaGetProofHistory","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"agentId":{"description":"Filter proofs by specific agent ID","type":"string"},"limit":{"description":"Maximum number of proofs to return (default: 20)","type":"number"},"proofType":{"description":"Filter by proof system: \"cairo\", \"noir\", or \"risc0\"","enum":["cairo","noir","risc0"],"type":"string"}},"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get ZKML proof history showing verification status, proof type (Cairo/Noir/RISC Zero), duration, and on-chain transaction details"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get ZKML proof history showing verification status, proof type (Cairo/Noir/RISC Zero), duration, and on-chain transaction details","tags":["Tools (paid)"],"x-input-schema":{"properties":{"agentId":{"description":"Filter proofs by specific agent ID","type":"string"},"limit":{"description":"Maximum number of proofs to return (default: 20)","type":"number"},"proofType":{"description":"Filter by proof system: \"cairo\", \"noir\", or \"risc0\"","enum":["cairo","noir","risc0"],"type":"string"}},"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/giza/getProtocolAnalytics":{"post":{"description":"Get protocol-wide analytics for the Giza ecosystem including total agents, proofs, inference counts, chain breakdown, and trend visualization data. Paid duplicate of tool:sperax-giza.getProtocolAnalytics; same handler, paid per call instead of a session or API key. Source: api.gizatech.xyz.","operationId":"x402_toolsGizaGetProtocolAnalytics","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{},"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get protocol-wide analytics for the Giza ecosystem including total agents, proofs, inference counts, chain breakdown, and trend visualization data"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get protocol-wide analytics for the Giza ecosystem including total agents, proofs, inference counts, chain breakdown, and trend visualization data","tags":["Tools (paid)"],"x-input-schema":{"properties":{},"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/tools/governance/getActiveProposals":{"post":{"description":"List currently active governance proposals across all major DAOs on Snapshot. Returns titles, vote choices, scores, and deadlines. Paid duplicate of tool:sperax-governance.getActiveProposals; same handler, paid per call instead of a session or API key. Source: hub.snapshot.org, api.tally.xyz, snapshot, tally.","operationId":"x402_toolsGovernanceGetActiveProposals","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"limit":{"default":20,"description":"Max proposals to return (default 20)","type":"number"}},"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"List currently active governance proposals across all major DAOs on Snapshot"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"List currently active governance proposals across all major DAOs on Snapshot","tags":["Tools (paid)"],"x-input-schema":{"properties":{"limit":{"default":20,"description":"Max proposals to return (default 20)","type":"number"}},"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/tools/governance/getGovernanceSummary":{"post":{"description":"Get a summary of governance activity: total active proposals, top DAOs by activity, and recently closed votes. Paid duplicate of tool:sperax-governance.getGovernanceSummary; same handler, paid per call instead of a session or API key. Source: hub.snapshot.org, api.tally.xyz, snapshot, tally.","operationId":"x402_toolsGovernanceGetGovernanceSummary","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{},"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get a summary of governance activity: total active proposals, top DAOs by activity, and recently closed votes"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get a summary of governance activity: total active proposals, top DAOs by activity, and recently closed votes","tags":["Tools (paid)"],"x-input-schema":{"properties":{},"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/tools/governance/getProposalDetails":{"post":{"description":"Get full details for a specific proposal including body text and AI-generated analysis with risk assessment, impact summary, and vote recommendation. Paid duplicate of tool:sperax-governance.getProposalDetails; same handler, paid per call instead of a session or API key. Source: hub.snapshot.org, api.tally.xyz, snapshot, tally.","operationId":"x402_toolsGovernanceGetProposalDetails","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"analyzeForWallet":{"description":"Optional wallet address to check if proposal affects user positions","type":"string"},"proposalId":{"description":"The Snapshot proposal ID","type":"string"}},"required":["proposalId"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get full details for a specific proposal including body text and AI-generated analysis with risk assessment, impact summary, and vote recommendation"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get full details for a specific proposal including body text and AI-generated analysis with risk assessment, impact summary, and vote recommendation","tags":["Tools (paid)"],"x-input-schema":{"properties":{"analyzeForWallet":{"description":"Optional wallet address to check if proposal affects user positions","type":"string"},"proposalId":{"description":"The Snapshot proposal ID","type":"string"}},"required":["proposalId"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/governance/getProtocolGovernance":{"post":{"description":"Get governance proposals for a specific protocol/DAO on Snapshot. Shows active and recently closed proposals. Paid duplicate of tool:sperax-governance.getProtocolGovernance; same handler, paid per call instead of a session or API key. Source: hub.snapshot.org, api.tally.xyz, snapshot, tally.","operationId":"x402_toolsGovernanceGetProtocolGovernance","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"protocol":{"description":"Protocol or Snapshot space name (e.g. \"aave.eth\", \"uniswap\", \"arbitrumfoundation.eth\")","type":"string"}},"required":["protocol"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get governance proposals for a specific protocol/DAO on Snapshot"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get governance proposals for a specific protocol/DAO on Snapshot","tags":["Tools (paid)"],"x-input-schema":{"properties":{"protocol":{"description":"Protocol or Snapshot space name (e.g. \"aave.eth\", \"uniswap\", \"arbitrumfoundation.eth\")","type":"string"}},"required":["protocol"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/tools/governance/getVotingHistory":{"post":{"description":"Get governance participation history for a wallet. Shows past votes, choices made, and overall participation rate. Paid duplicate of tool:sperax-governance.getVotingHistory; same handler, paid per call instead of a session or API key. Source: hub.snapshot.org, api.tally.xyz, snapshot, tally.","operationId":"x402_toolsGovernanceGetVotingHistory","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"limit":{"default":20,"description":"Max votes to return (default 20)","type":"number"},"protocol":{"description":"Optional Snapshot space ID to filter by","type":"string"},"wallet":{"description":"Wallet address (0x...)","type":"string"}},"required":["wallet"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get governance participation history for a wallet"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get governance participation history for a wallet","tags":["Tools (paid)"],"x-input-schema":{"properties":{"limit":{"default":20,"description":"Max votes to return (default 20)","type":"number"},"protocol":{"description":"Optional Snapshot space ID to filter by","type":"string"},"wallet":{"description":"Wallet address (0x...)","type":"string"}},"required":["wallet"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/governance/getVotingPower":{"post":{"description":"Get voting power for a wallet across protocols on Snapshot. Shows delegation status and total voting weight per DAO. Paid duplicate of tool:sperax-governance.getVotingPower; same handler, paid per call instead of a session or API key. Source: hub.snapshot.org, api.tally.xyz, snapshot, tally.","operationId":"x402_toolsGovernanceGetVotingPower","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"protocols":{"description":"Optional list of Snapshot space IDs to filter (e.g. [\"aave.eth\", \"uniswap\"])","items":{"type":"string"},"type":"array"},"wallet":{"description":"Wallet address (0x...)","type":"string"}},"required":["wallet"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get voting power for a wallet across protocols on Snapshot"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get voting power for a wallet across protocols on Snapshot","tags":["Tools (paid)"],"x-input-schema":{"properties":{"protocols":{"description":"Optional list of Snapshot space IDs to filter (e.g. [\"aave.eth\", \"uniswap\"])","items":{"type":"string"},"type":"array"},"wallet":{"description":"Wallet address (0x...)","type":"string"}},"required":["wallet"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/governance/prepareTx":{"post":{"description":"Prepare a vote on a Snapshot proposal. Returns the Snapshot voting URL and instructions. The user must sign the vote via their wallet — never auto-vote. Paid duplicate of tool:sperax-governance.prepareTx; same handler, paid per call instead of a session or API key. Source: hub.snapshot.org, api.tally.xyz, snapshot, tally.","operationId":"x402_toolsGovernancePrepareTx","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"choice":{"description":"Choice index (1-indexed, matching the proposal choices array)","type":"number"},"proposalId":{"description":"The Snapshot proposal ID","type":"string"},"wallet":{"description":"Wallet address (0x...)","type":"string"}},"required":["proposalId","choice","wallet"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Prepare a vote on a Snapshot proposal"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Prepare a vote on a Snapshot proposal","tags":["Tools (paid)"],"x-input-schema":{"properties":{"choice":{"description":"Choice index (1-indexed, matching the proposal choices array)","type":"number"},"proposalId":{"description":"The Snapshot proposal ID","type":"string"},"wallet":{"description":"Wallet address (0x...)","type":"string"}},"required":["proposalId","choice","wallet"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/il-calculator/calculateIL":{"post":{"description":"Calculate impermanent loss for a token pair LP position. Supports both standard AMM (x*y=k) and concentrated liquidity (Uni V3). Shows IL, fee earnings offset, net P&L, and break-even timeline. Paid duplicate of tool:sperax-il-calculator.calculateIL; same handler, paid per call instead of a session or API key. Source: api.coingecko.com, yields.llama.fi, coingecko.","operationId":"x402_toolsIlCalculatorCalculateIL","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"currentPriceRatio":{"description":"Current price ratio (token0/token1). If omitted, fetched from live data.","type":"number"},"daysActive":{"description":"Days the position has been active (for fee earnings estimation).","type":"number"},"entryPriceRatio":{"description":"Entry price ratio (token0/token1) when the position was opened.","type":"number"},"feeTier":{"description":"Fee tier as decimal (e.g. 0.003 for 0.3%). Used for fee earnings estimation.","type":"number"},"investmentUsd":{"description":"Total investment in USD.","type":"number"},"priceLower":{"description":"For concentrated liquidity: lower price bound of the range.","type":"number"},"priceUpper":{"description":"For concentrated liquidity: upper price bound of the range.","type":"number"},"token0":{"description":"First token symbol (e.g. \"ETH\").","type":"string"},"token1":{"description":"Second token symbol (e.g. \"USDC\").","type":"string"}},"required":["token0","token1","investmentUsd","entryPriceRatio"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Calculate impermanent loss for a token pair LP position"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Calculate impermanent loss for a token pair LP position","tags":["Tools (paid)"],"x-input-schema":{"properties":{"currentPriceRatio":{"description":"Current price ratio (token0/token1). If omitted, fetched from live data.","type":"number"},"daysActive":{"description":"Days the position has been active (for fee earnings estimation).","type":"number"},"entryPriceRatio":{"description":"Entry price ratio (token0/token1) when the position was opened.","type":"number"},"feeTier":{"description":"Fee tier as decimal (e.g. 0.003 for 0.3%). Used for fee earnings estimation.","type":"number"},"investmentUsd":{"description":"Total investment in USD.","type":"number"},"priceLower":{"description":"For concentrated liquidity: lower price bound of the range.","type":"number"},"priceUpper":{"description":"For concentrated liquidity: upper price bound of the range.","type":"number"},"token0":{"description":"First token symbol (e.g. \"ETH\").","type":"string"},"token1":{"description":"Second token symbol (e.g. \"USDC\").","type":"string"}},"required":["token0","token1","investmentUsd","entryPriceRatio"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/il-calculator/getHedgeRecommendation":{"post":{"description":"Get hedge recommendations to offset impermanent loss. Suggests options, perp shorts, structured products, and calculates cost vs coverage tradeoff. Paid duplicate of tool:sperax-il-calculator.getHedgeRecommendation; same handler, paid per call instead of a session or API key. Source: api.coingecko.com, yields.llama.fi, coingecko.","operationId":"x402_toolsIlCalculatorGetHedgeRecommendation","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"chain":{"description":"Preferred chain for on-chain hedge venues.","type":"string"},"currentILUsd":{"description":"Current IL in USD (or estimated future IL).","type":"number"},"positionSizeUsd":{"description":"LP position size in USD.","type":"number"},"riskTolerance":{"description":"Risk tolerance: \"conservative\", \"moderate\", or \"aggressive\".","type":"string"},"token0":{"description":"First token of the pair.","type":"string"},"token1":{"description":"Second token of the pair.","type":"string"}},"required":["token0","token1","positionSizeUsd","currentILUsd","riskTolerance"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get hedge recommendations to offset impermanent loss"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get hedge recommendations to offset impermanent loss","tags":["Tools (paid)"],"x-input-schema":{"properties":{"chain":{"description":"Preferred chain for on-chain hedge venues.","type":"string"},"currentILUsd":{"description":"Current IL in USD (or estimated future IL).","type":"number"},"positionSizeUsd":{"description":"LP position size in USD.","type":"number"},"riskTolerance":{"description":"Risk tolerance: \"conservative\", \"moderate\", or \"aggressive\".","type":"string"},"token0":{"description":"First token of the pair.","type":"string"},"token1":{"description":"Second token of the pair.","type":"string"}},"required":["token0","token1","positionSizeUsd","currentILUsd","riskTolerance"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/tools/il-calculator/getHistoricalILAttribution":{"post":{"description":"Get historical IL attribution breakdown across all wallet LP positions. Shows cumulative IL, fee earnings, and net P&L with daily breakdown. Paid duplicate of tool:sperax-il-calculator.getHistoricalILAttribution; same handler, paid per call instead of a session or API key. Source: api.coingecko.com, yields.llama.fi, coingecko.","operationId":"x402_toolsIlCalculatorGetHistoricalILAttribution","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"chain":{"description":"Chain to analyze (or \"all\" for cross-chain).","type":"string"},"periodDays":{"description":"Historical period in days. Default: 30.","type":"number"},"protocol":{"description":"Filter to specific protocol.","type":"string"},"walletAddress":{"description":"Wallet address to analyze.","type":"string"}},"required":["walletAddress","chain","periodDays"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get historical IL attribution breakdown across all wallet LP positions"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get historical IL attribution breakdown across all wallet LP positions","tags":["Tools (paid)"],"x-input-schema":{"properties":{"chain":{"description":"Chain to analyze (or \"all\" for cross-chain).","type":"string"},"periodDays":{"description":"Historical period in days. Default: 30.","type":"number"},"protocol":{"description":"Filter to specific protocol.","type":"string"},"walletAddress":{"description":"Wallet address to analyze.","type":"string"}},"required":["walletAddress","chain","periodDays"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.02","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"heavy"}},"/api/x402/tools/il-calculator/simulateILScenarios":{"post":{"description":"Run Monte Carlo simulation of future impermanent loss scenarios. Shows probability distributions, worst/best/expected cases, and confidence intervals. Paid duplicate of tool:sperax-il-calculator.simulateILScenarios; same handler, paid per call instead of a session or API key. Source: api.coingecko.com, yields.llama.fi, coingecko.","operationId":"x402_toolsIlCalculatorSimulateILScenarios","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"currentPriceRatio":{"description":"Current price ratio. If omitted, fetched live.","type":"number"},"feeTier":{"description":"Fee tier for fee earning simulation.","type":"number"},"investmentUsd":{"description":"Investment amount in USD.","type":"number"},"numSimulations":{"description":"Number of Monte Carlo paths. Default: 1000.","type":"number"},"priceLower":{"description":"For concentrated liquidity: lower price bound.","type":"number"},"priceUpper":{"description":"For concentrated liquidity: upper price bound.","type":"number"},"timeHorizonDays":{"description":"Simulation time horizon in days.","type":"number"},"token0":{"description":"First token symbol.","type":"string"},"token1":{"description":"Second token symbol.","type":"string"}},"required":["token0","token1","investmentUsd","timeHorizonDays"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Run Monte Carlo simulation of future impermanent loss scenarios"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Run Monte Carlo simulation of future impermanent loss scenarios","tags":["Tools (paid)"],"x-input-schema":{"properties":{"currentPriceRatio":{"description":"Current price ratio. If omitted, fetched live.","type":"number"},"feeTier":{"description":"Fee tier for fee earning simulation.","type":"number"},"investmentUsd":{"description":"Investment amount in USD.","type":"number"},"numSimulations":{"description":"Number of Monte Carlo paths. Default: 1000.","type":"number"},"priceLower":{"description":"For concentrated liquidity: lower price bound.","type":"number"},"priceUpper":{"description":"For concentrated liquidity: upper price bound.","type":"number"},"timeHorizonDays":{"description":"Simulation time horizon in days.","type":"number"},"token0":{"description":"First token symbol.","type":"string"},"token1":{"description":"Second token symbol.","type":"string"}},"required":["token0","token1","investmentUsd","timeHorizonDays"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.02","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"heavy"}},"/api/x402/tools/il-calculator/trackPositionIL":{"post":{"description":"Track real-time impermanent loss for an on-chain LP position. Fetches live data and shows current IL, fee earnings, and net position value. Paid duplicate of tool:sperax-il-calculator.trackPositionIL; same handler, paid per call instead of a session or API key. Source: api.coingecko.com, yields.llama.fi, coingecko.","operationId":"x402_toolsIlCalculatorTrackPositionIL","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"chain":{"description":"Chain name (e.g. \"ethereum\", \"arbitrum\").","type":"string"},"poolAddress":{"description":"Pool contract address (alternative to positionId).","type":"string"},"positionId":{"description":"On-chain position ID or NFT token ID (for Uni V3).","type":"string"},"protocol":{"description":"Protocol name (e.g. \"uniswap_v3\", \"curve\", \"balancer\").","type":"string"},"walletAddress":{"description":"Wallet address that owns the position.","type":"string"}},"required":["chain","protocol"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Track real-time impermanent loss for an on-chain LP position"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Track real-time impermanent loss for an on-chain LP position","tags":["Tools (paid)"],"x-input-schema":{"properties":{"chain":{"description":"Chain name (e.g. \"ethereum\", \"arbitrum\").","type":"string"},"poolAddress":{"description":"Pool contract address (alternative to positionId).","type":"string"},"positionId":{"description":"On-chain position ID or NFT token ID (for Uni V3).","type":"string"},"protocol":{"description":"Protocol name (e.g. \"uniswap_v3\", \"curve\", \"balancer\").","type":"string"},"walletAddress":{"description":"Wallet address that owns the position.","type":"string"}},"required":["chain","protocol"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/tools/internal-txs/getInternalTxs":{"post":{"description":"Get internal transactions for an address on any EVM chain. Shows value flows between contracts. Paid duplicate of tool:sperax-internal-txs.getInternalTxs; same handler, paid per call instead of a session or API key. Source: api.etherscan.io (v2), api.etherscan.io.","operationId":"x402_toolsInternalTxsGetInternalTxs","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"address":{"description":"Wallet or contract address","type":"string"},"chain":{"default":"ethereum","description":"Chain: ethereum, arbitrum, polygon, optimism, base","type":"string"},"endBlock":{"description":"End block number","type":"number"},"limit":{"default":20,"description":"Max results (default 20)","type":"number"},"startBlock":{"default":0,"description":"Start block number","type":"number"}},"required":["address"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get internal transactions for an address on any EVM chain"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get internal transactions for an address on any EVM chain","tags":["Tools (paid)"],"x-input-schema":{"properties":{"address":{"description":"Wallet or contract address","type":"string"},"chain":{"default":"ethereum","description":"Chain: ethereum, arbitrum, polygon, optimism, base","type":"string"},"endBlock":{"description":"End block number","type":"number"},"limit":{"default":20,"description":"Max results (default 20)","type":"number"},"startBlock":{"default":0,"description":"Start block number","type":"number"}},"required":["address"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/internal-txs/getInternalTxsByHash":{"post":{"description":"Get all internal transactions within a specific transaction by hash. Paid duplicate of tool:sperax-internal-txs.getInternalTxsByHash; same handler, paid per call instead of a session or API key. Source: api.etherscan.io (v2), api.etherscan.io.","operationId":"x402_toolsInternalTxsGetInternalTxsByHash","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"chain":{"default":"ethereum","description":"Chain","type":"string"},"txHash":{"description":"Transaction hash","type":"string"}},"required":["txHash"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get all internal transactions within a specific transaction by hash"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get all internal transactions within a specific transaction by hash","tags":["Tools (paid)"],"x-input-schema":{"properties":{"chain":{"default":"ethereum","description":"Chain","type":"string"},"txHash":{"description":"Transaction hash","type":"string"}},"required":["txHash"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/internal-txs/getInternalTxsSummary":{"post":{"description":"Get a summary of internal transaction activity for an address. Paid duplicate of tool:sperax-internal-txs.getInternalTxsSummary; same handler, paid per call instead of a session or API key. Source: api.etherscan.io (v2), api.etherscan.io.","operationId":"x402_toolsInternalTxsGetInternalTxsSummary","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"address":{"description":"Wallet or contract address","type":"string"},"chain":{"default":"ethereum","description":"Chain","type":"string"}},"required":["address"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get a summary of internal transaction activity for an address"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get a summary of internal transaction activity for an address","tags":["Tools (paid)"],"x-input-schema":{"properties":{"address":{"description":"Wallet or contract address","type":"string"},"chain":{"default":"ethereum","description":"Chain","type":"string"}},"required":["address"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/tools/limitless/claimResolved":{"post":{"description":"Claim winnings on a resolved market. Paid duplicate of tool:sperax-limitless.claimResolved; same handler, paid per call instead of a session or API key. Source: api.limitless.exchange.","operationId":"x402_toolsLimitlessClaimResolved","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"marketId":{"type":"string"}},"required":["marketId"],"additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Claim winnings on a resolved market"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Claim winnings on a resolved market","tags":["Tools (paid)"],"x-input-schema":{"type":"object","properties":{"marketId":{"type":"string"}},"required":["marketId"],"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/limitless/getLeaderboard":{"post":{"description":"Top traders by PnL, volume, or winrate over the chosen range. Paid duplicate of tool:sperax-limitless.getLeaderboard; same handler, paid per call instead of a session or API key. Source: api.limitless.exchange.","operationId":"x402_toolsLimitlessGetLeaderboard","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"range":{"type":"string","enum":["24h","7d","30d","all"],"description":"Default 30d."},"sort":{"type":"string","enum":["pnl","volume","winrate"],"description":"Default pnl."},"limit":{"type":"number","description":"Default 50."}},"required":[],"additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Top traders by PnL, volume, or winrate over the chosen range"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Top traders by PnL, volume, or winrate over the chosen range","tags":["Tools (paid)"],"x-input-schema":{"type":"object","properties":{"range":{"type":"string","enum":["24h","7d","30d","all"],"description":"Default 30d."},"sort":{"type":"string","enum":["pnl","volume","winrate"],"description":"Default pnl."},"limit":{"type":"number","description":"Default 50."}},"required":[],"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/limitless/getMarket":{"post":{"description":"Fetch a single Limitless market including current AMM curve parameters (qYes, qNo, b). Paid duplicate of tool:sperax-limitless.getMarket; same handler, paid per call instead of a session or API key. Source: api.limitless.exchange.","operationId":"x402_toolsLimitlessGetMarket","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"marketId":{"type":"string","description":"Limitless market id."}},"required":["marketId"],"additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Fetch a single Limitless market including current AMM curve parameters (qYes, qNo, b)"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Fetch a single Limitless market including current AMM curve parameters (qYes, qNo, b)","tags":["Tools (paid)"],"x-input-schema":{"type":"object","properties":{"marketId":{"type":"string","description":"Limitless market id."}},"required":["marketId"],"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/limitless/getPriceCurve":{"post":{"description":"Return the YES/NO price curve sampled across hypothetical buy sizes for chart preview. Paid duplicate of tool:sperax-limitless.getPriceCurve; same handler, paid per call instead of a session or API key. Source: api.limitless.exchange.","operationId":"x402_toolsLimitlessGetPriceCurve","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"marketId":{"type":"string"},"samples":{"type":"number","description":"Curve resolution. Default 50."},"maxUsd":{"type":"number","description":"Max USD to step out. Default 1000."}},"required":["marketId"],"additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Return the YES/NO price curve sampled across hypothetical buy sizes for chart preview"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Return the YES/NO price curve sampled across hypothetical buy sizes for chart preview","tags":["Tools (paid)"],"x-input-schema":{"type":"object","properties":{"marketId":{"type":"string"},"samples":{"type":"number","description":"Curve resolution. Default 50."},"maxUsd":{"type":"number","description":"Max USD to step out. Default 1000."}},"required":["marketId"],"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/limitless/getUserPositions":{"post":{"description":"List open positions for a user. Omit address to use the authenticated session. Paid duplicate of tool:sperax-limitless.getUserPositions; same handler, paid per call instead of a session or API key. Source: api.limitless.exchange.","operationId":"x402_toolsLimitlessGetUserPositions","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"address":{"type":"string","description":"EVM address. Optional."}},"required":["address"],"additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"List open positions for a user"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"List open positions for a user","tags":["Tools (paid)"],"x-input-schema":{"type":"object","properties":{"address":{"type":"string","description":"EVM address. Optional."}},"required":["address"],"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/limitless/listMarkets":{"post":{"description":"List Limitless markets. Optionally filter by status (active|closed|resolved|paused) or category. Paid duplicate of tool:sperax-limitless.listMarkets; same handler, paid per call instead of a session or API key. Source: api.limitless.exchange.","operationId":"x402_toolsLimitlessListMarkets","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["active","closed","resolved","paused"],"description":"Lifecycle filter. Default: active."},"category":{"type":"string","description":"Limitless category slug, e.g. \"politics\", \"crypto\"."},"limit":{"type":"number","description":"Page size, max 100. Default 100."},"offset":{"type":"number","description":"Pagination offset. Default 0."}},"required":[],"additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"List Limitless markets"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"List Limitless markets","tags":["Tools (paid)"],"x-input-schema":{"type":"object","properties":{"status":{"type":"string","enum":["active","closed","resolved","paused"],"description":"Lifecycle filter. Default: active."},"category":{"type":"string","description":"Limitless category slug, e.g. \"politics\", \"crypto\"."},"limit":{"type":"number","description":"Page size, max 100. Default 100."},"offset":{"type":"number","description":"Pagination offset. Default 0."}},"required":[],"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/limitless/quoteTrade":{"post":{"description":"Quote a buy. Set preview:true for an instant local LMSR estimate; otherwise the server quote endpoint is hit (authoritative). Paid duplicate of tool:sperax-limitless.quoteTrade; same handler, paid per call instead of a session or API key. Source: api.limitless.exchange.","operationId":"x402_toolsLimitlessQuoteTrade","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"marketId":{"type":"string"},"side":{"type":"string","enum":["yes","no"]},"amountUsd":{"type":"number","description":"USD amount to spend."},"preview":{"type":"boolean","description":"If true, compute locally without an API roundtrip."},"slippage":{"type":"number","description":"Slippage tolerance fraction. Default 0.01."}},"required":["marketId","side","amountUsd"],"additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Quote a buy"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Quote a buy","tags":["Tools (paid)"],"x-input-schema":{"type":"object","properties":{"marketId":{"type":"string"},"side":{"type":"string","enum":["yes","no"]},"amountUsd":{"type":"number","description":"USD amount to spend."},"preview":{"type":"boolean","description":"If true, compute locally without an API roundtrip."},"slippage":{"type":"number","description":"Slippage tolerance fraction. Default 0.01."}},"required":["marketId","side","amountUsd"],"additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/liquidations/getLiquidationSummary":{"post":{"description":"Get a summary of DeFi liquidation activity: 24h/7d totals, top protocols by liquidation volume, and chain breakdown. Paid duplicate of tool:sperax-liquidations.getLiquidationSummary; same handler, paid per call instead of a session or API key. Source: api.llama.fi.","operationId":"x402_toolsLiquidationsGetLiquidationSummary","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{},"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get a summary of DeFi liquidation activity: 24h/7d totals, top protocols by liquidation volume, and chain breakdown"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get a summary of DeFi liquidation activity: 24h/7d totals, top protocols by liquidation volume, and chain breakdown","tags":["Tools (paid)"],"x-input-schema":{"properties":{},"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/tools/liquidations/getLiquidationsByProtocol":{"post":{"description":"Get liquidation stats and recent events for a specific DeFi lending protocol. Paid duplicate of tool:sperax-liquidations.getLiquidationsByProtocol; same handler, paid per call instead of a session or API key. Source: api.llama.fi.","operationId":"x402_toolsLiquidationsGetLiquidationsByProtocol","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"protocol":{"description":"Protocol name (e.g. \"aave-v3\", \"compound-v3\", \"maker\")","type":"string"}},"required":["protocol"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get liquidation stats and recent events for a specific DeFi lending protocol"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get liquidation stats and recent events for a specific DeFi lending protocol","tags":["Tools (paid)"],"x-input-schema":{"properties":{"protocol":{"description":"Protocol name (e.g. \"aave-v3\", \"compound-v3\", \"maker\")","type":"string"}},"required":["protocol"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/liquidations/getRecentLiquidations":{"post":{"description":"Get the most recent DeFi lending liquidation events across protocols. Shows collateral seized, debt repaid, and protocol details. Paid duplicate of tool:sperax-liquidations.getRecentLiquidations; same handler, paid per call instead of a session or API key. Source: api.llama.fi.","operationId":"x402_toolsLiquidationsGetRecentLiquidations","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"chain":{"description":"Filter by chain (e.g. \"Ethereum\", \"Arbitrum\")","type":"string"},"limit":{"default":20,"description":"Max events to return (default 20)","type":"number"}},"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get the most recent DeFi lending liquidation events across protocols"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get the most recent DeFi lending liquidation events across protocols","tags":["Tools (paid)"],"x-input-schema":{"properties":{"chain":{"description":"Filter by chain (e.g. \"Ethereum\", \"Arbitrum\")","type":"string"},"limit":{"default":20,"description":"Max events to return (default 20)","type":"number"}},"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/liquidity-advisor/analyzePositions":{"post":{"description":"Analyze all liquidity positions for a wallet across protocols and chains. Shows position health, fee earnings, IL, and overall portfolio assessment. Paid duplicate of tool:sperax-liquidity-advisor.analyzePositions; same handler, paid per call instead of a session or API key. Source: public RPCs (eth, arb, base, op, poly, bsc, avax), api.coingecko.com, yields.llama.fi, coingecko, RPCs.","operationId":"x402_toolsLiquidityAdvisorAnalyzePositions","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"chains":{"description":"Chains to scan. Omit for all supported chains.","items":{"type":"string"},"type":"array"},"protocols":{"description":"Protocols to scan (e.g. [\"uniswap_v3\", \"curve\"]). Omit for all.","items":{"type":"string"},"type":"array"},"walletAddress":{"description":"Wallet address to analyze.","type":"string"}},"required":["walletAddress"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Analyze all liquidity positions for a wallet across protocols and chains"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Analyze all liquidity positions for a wallet across protocols and chains","tags":["Tools (paid)"],"x-input-schema":{"properties":{"chains":{"description":"Chains to scan. Omit for all supported chains.","items":{"type":"string"},"type":"array"},"protocols":{"description":"Protocols to scan (e.g. [\"uniswap_v3\", \"curve\"]). Omit for all.","items":{"type":"string"},"type":"array"},"walletAddress":{"description":"Wallet address to analyze.","type":"string"}},"required":["walletAddress"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.02","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"heavy"}},"/api/x402/tools/liquidity-advisor/getRebalanceAlert":{"post":{"description":"Check for positions needing rebalance attention. Monitors out-of-range positions, declining fees, excessive IL, and better pool availability. Paid duplicate of tool:sperax-liquidity-advisor.getRebalanceAlert; same handler, paid per call instead of a session or API key. Source: public RPCs (eth, arb, base, op, poly, bsc, avax), api.coingecko.com, yields.llama.fi, coingecko, RPCs.","operationId":"x402_toolsLiquidityAdvisorGetRebalanceAlert","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"chains":{"description":"Chains to monitor.","items":{"type":"string"},"type":"array"},"feeDeclineThresholdPercent":{"description":"Alert when fee APR declines by this percentage. Default: 30.","type":"number"},"ilThresholdPercent":{"description":"IL threshold for alerts. Default: 5.","type":"number"},"walletAddress":{"description":"Wallet address to monitor.","type":"string"}},"required":["walletAddress"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Check for positions needing rebalance attention"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Check for positions needing rebalance attention","tags":["Tools (paid)"],"x-input-schema":{"properties":{"chains":{"description":"Chains to monitor.","items":{"type":"string"},"type":"array"},"feeDeclineThresholdPercent":{"description":"Alert when fee APR declines by this percentage. Default: 30.","type":"number"},"ilThresholdPercent":{"description":"IL threshold for alerts. Default: 5.","type":"number"},"walletAddress":{"description":"Wallet address to monitor.","type":"string"}},"required":["walletAddress"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/tools/liquidity-advisor/optimizeRange":{"post":{"description":"Optimize concentrated liquidity range based on historical volatility and strategy preference. Backtests suggested ranges against historical data. Paid duplicate of tool:sperax-liquidity-advisor.optimizeRange; same handler, paid per call instead of a session or API key. Source: public RPCs (eth, arb, base, op, poly, bsc, avax), api.coingecko.com, yields.llama.fi, coingecko, RPCs.","operationId":"x402_toolsLiquidityAdvisorOptimizeRange","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"chain":{"description":"Chain of the position.","type":"string"},"positionId":{"description":"Position ID (Uni V3 or other concentrated liquidity position).","type":"string"},"protocol":{"description":"Protocol name.","type":"string"},"strategy":{"description":"Optimization strategy: \"maximize_fees\" (narrow range, high APR), \"minimize_il\" (wide range, low IL), or \"balanced\".","type":"string"},"volatilityWindowDays":{"description":"Lookback period for volatility analysis. Default: 30.","type":"number"}},"required":["positionId","chain","protocol","strategy"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Optimize concentrated liquidity range based on historical volatility and strategy preference"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Optimize concentrated liquidity range based on historical volatility and strategy preference","tags":["Tools (paid)"],"x-input-schema":{"properties":{"chain":{"description":"Chain of the position.","type":"string"},"positionId":{"description":"Position ID (Uni V3 or other concentrated liquidity position).","type":"string"},"protocol":{"description":"Protocol name.","type":"string"},"strategy":{"description":"Optimization strategy: \"maximize_fees\" (narrow range, high APR), \"minimize_il\" (wide range, low IL), or \"balanced\".","type":"string"},"volatilityWindowDays":{"description":"Lookback period for volatility analysis. Default: 30.","type":"number"}},"required":["positionId","chain","protocol","strategy"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/tools/liquidity-advisor/recommendMigration":{"post":{"description":"Get migration recommendations for LP positions. Identifies better pools with higher APR and analyzes break-even timeline for migration costs. Paid duplicate of tool:sperax-liquidity-advisor.recommendMigration; same handler, paid per call instead of a session or API key. Source: public RPCs (eth, arb, base, op, poly, bsc, avax), api.coingecko.com, yields.llama.fi, coingecko, RPCs.","operationId":"x402_toolsLiquidityAdvisorRecommendMigration","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"maxMigrationCostUsd":{"description":"Max acceptable migration cost in USD.","type":"number"},"positionId":{"description":"Specific position ID to migrate.","type":"string"},"preferredChains":{"description":"Preferred chains for migration targets.","items":{"type":"string"},"type":"array"},"riskPreference":{"description":"Risk preference: \"conservative\", \"moderate\", or \"aggressive\".","type":"string"},"walletAddress":{"description":"Wallet address to analyze all positions.","type":"string"}},"required":["riskPreference"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get migration recommendations for LP positions"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get migration recommendations for LP positions","tags":["Tools (paid)"],"x-input-schema":{"properties":{"maxMigrationCostUsd":{"description":"Max acceptable migration cost in USD.","type":"number"},"positionId":{"description":"Specific position ID to migrate.","type":"string"},"preferredChains":{"description":"Preferred chains for migration targets.","items":{"type":"string"},"type":"array"},"riskPreference":{"description":"Risk preference: \"conservative\", \"moderate\", or \"aggressive\".","type":"string"},"walletAddress":{"description":"Wallet address to analyze all positions.","type":"string"}},"required":["riskPreference"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.02","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"heavy"}},"/api/x402/tools/liquidity-advisor/simulateMigration":{"post":{"description":"Simulate a complete liquidity migration. Shows step-by-step execution, total costs, and projected returns at 30/90/365 day horizons. Paid duplicate of tool:sperax-liquidity-advisor.simulateMigration; same handler, paid per call instead of a session or API key. Source: public RPCs (eth, arb, base, op, poly, bsc, avax), api.coingecko.com, yields.llama.fi, coingecko, RPCs.","operationId":"x402_toolsLiquidityAdvisorSimulateMigration","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"newPriceLower":{"description":"For concentrated liquidity: new range lower bound.","type":"number"},"newPriceUpper":{"description":"For concentrated liquidity: new range upper bound.","type":"number"},"positionId":{"description":"Source position ID.","type":"string"},"targetChain":{"description":"Target chain.","type":"string"},"targetPool":{"description":"Target pool address.","type":"string"},"targetProtocol":{"description":"Target protocol.","type":"string"}},"required":["positionId","targetPool","targetChain","targetProtocol"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Simulate a complete liquidity migration"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Simulate a complete liquidity migration","tags":["Tools (paid)"],"x-input-schema":{"properties":{"newPriceLower":{"description":"For concentrated liquidity: new range lower bound.","type":"number"},"newPriceUpper":{"description":"For concentrated liquidity: new range upper bound.","type":"number"},"positionId":{"description":"Source position ID.","type":"string"},"targetChain":{"description":"Target chain.","type":"string"},"targetPool":{"description":"Target pool address.","type":"string"},"targetProtocol":{"description":"Target protocol.","type":"string"}},"required":["positionId","targetPool","targetChain","targetProtocol"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.02","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"heavy"}},"/api/x402/tools/listadao/borrowLisUsd":{"post":{"description":"Borrow lisUSD stablecoin by depositing collateral into a CDP. Returns unsigned transactions for approval (if needed) and the borrow operation. ONLY call after full user confirmation. Paid duplicate of tool:sperax-listadao.borrowLisUsd; same handler, paid per call instead of a session or API key. Source: api.lista.org, api.llama.fi, api.lista.org/llama.","operationId":"x402_toolsListadaoBorrowLisUsd","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"borrowAmount":{"description":"Amount of lisUSD to borrow (e.g. \"500\").","type":"string"},"collateralAmount":{"description":"Amount of collateral to deposit (e.g. \"2.0\" BNB).","type":"string"},"collateralToken":{"description":"Collateral token to use (e.g. \"BNB\", \"slisBNB\").","type":"string"},"walletAddress":{"description":"User wallet address (0x...).","type":"string"}},"required":["collateralToken","collateralAmount","borrowAmount","walletAddress"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Borrow lisUSD stablecoin by depositing collateral into a CDP"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Borrow lisUSD stablecoin by depositing collateral into a CDP","tags":["Tools (paid)"],"x-input-schema":{"properties":{"borrowAmount":{"description":"Amount of lisUSD to borrow (e.g. \"500\").","type":"string"},"collateralAmount":{"description":"Amount of collateral to deposit (e.g. \"2.0\" BNB).","type":"string"},"collateralToken":{"description":"Collateral token to use (e.g. \"BNB\", \"slisBNB\").","type":"string"},"walletAddress":{"description":"User wallet address (0x...).","type":"string"}},"required":["collateralToken","collateralAmount","borrowAmount","walletAddress"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/listadao/depositSavings":{"post":{"description":"Deposit lisUSD into the Saving Rate (Jar) to earn yield. Returns unsigned transactions for approval and deposit. ONLY call after user confirmation. Paid duplicate of tool:sperax-listadao.depositSavings; same handler, paid per call instead of a session or API key. Source: api.lista.org, api.llama.fi, api.lista.org/llama.","operationId":"x402_toolsListadaoDepositSavings","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"amount":{"description":"Amount of lisUSD to deposit (e.g. \"1000\").","type":"string"},"walletAddress":{"description":"User wallet address (0x...).","type":"string"}},"required":["amount","walletAddress"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Deposit lisUSD into the Saving Rate (Jar) to earn yield"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Deposit lisUSD into the Saving Rate (Jar) to earn yield","tags":["Tools (paid)"],"x-input-schema":{"properties":{"amount":{"description":"Amount of lisUSD to deposit (e.g. \"1000\").","type":"string"},"walletAddress":{"description":"User wallet address (0x...).","type":"string"}},"required":["amount","walletAddress"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/listadao/getCdpInfo":{"post":{"description":"Get CDP (Collateralized Debt Position) information: available collateral types, collateralization ratios, stability fees, debt ceilings, and liquidation parameters. Paid duplicate of tool:sperax-listadao.getCdpInfo; same handler, paid per call instead of a session or API key. Source: api.lista.org, api.llama.fi, api.lista.org/llama.","operationId":"x402_toolsListadaoGetCdpInfo","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"collateralToken":{"description":"Optional: filter by collateral token symbol (e.g. \"BNB\", \"slisBNB\", \"ETH\").","type":"string"}},"required":[],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get CDP (Collateralized Debt Position) information: available collateral types, collateralization ratios, stability fees, debt ceilings, and liquidation parameters"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get CDP (Collateralized Debt Position) information: available collateral types, collateralization ratios, stability fees, debt ceilings, and liquidation parameters","tags":["Tools (paid)"],"x-input-schema":{"properties":{"collateralToken":{"description":"Optional: filter by collateral token symbol (e.g. \"BNB\", \"slisBNB\", \"ETH\").","type":"string"}},"required":[],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/listadao/getFarms":{"post":{"description":"Browse Lista DAO yield farming pools. Filter by staked token or minimum APR. Returns pool details including base APR, boost APR, TVL, and reward token. Paid duplicate of tool:sperax-listadao.getFarms; same handler, paid per call instead of a session or API key. Source: api.lista.org, api.llama.fi, api.lista.org/llama.","operationId":"x402_toolsListadaoGetFarms","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"minApr":{"description":"Minimum APR filter as a percentage (e.g. 5.0 = pools with 5%+ APR).","type":"number"},"stakedToken":{"description":"Filter by staked token symbol (e.g. \"lisUSD\", \"slisBNB\", \"LISTA\").","type":"string"}},"required":[],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Browse Lista DAO yield farming pools"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Browse Lista DAO yield farming pools","tags":["Tools (paid)"],"x-input-schema":{"properties":{"minApr":{"description":"Minimum APR filter as a percentage (e.g. 5.0 = pools with 5%+ APR).","type":"number"},"stakedToken":{"description":"Filter by staked token symbol (e.g. \"lisUSD\", \"slisBNB\", \"LISTA\").","type":"string"}},"required":[],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/listadao/getProtocolStats":{"post":{"description":"Get overall Lista DAO protocol statistics: total TVL, slisBNB supply & exchange rate, lisUSD supply & peg, active CDP count, staking APR. Paid duplicate of tool:sperax-listadao.getProtocolStats; same handler, paid per call instead of a session or API key. Source: api.lista.org, api.llama.fi, api.lista.org/llama.","operationId":"x402_toolsListadaoGetProtocolStats","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{},"required":[],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get overall Lista DAO protocol statistics: total TVL, slisBNB supply & exchange rate, lisUSD supply & peg, active CDP count, staking APR"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get overall Lista DAO protocol statistics: total TVL, slisBNB supply & exchange rate, lisUSD supply & peg, active CDP count, staking APR","tags":["Tools (paid)"],"x-input-schema":{"properties":{},"required":[],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/tools/listadao/getPsmInfo":{"post":{"description":"Get Peg Stability Module (PSM) information: supported stablecoin, swap fees, daily limits, and remaining capacity. The PSM allows near-1:1 swaps between lisUSD and USDT/USDC. Paid duplicate of tool:sperax-listadao.getPsmInfo; same handler, paid per call instead of a session or API key. Source: api.lista.org, api.llama.fi, api.lista.org/llama.","operationId":"x402_toolsListadaoGetPsmInfo","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{},"required":[],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get Peg Stability Module (PSM) information: supported stablecoin, swap fees, daily limits, and remaining capacity"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get Peg Stability Module (PSM) information: supported stablecoin, swap fees, daily limits, and remaining capacity","tags":["Tools (paid)"],"x-input-schema":{"properties":{},"required":[],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/listadao/getSavingsInfo":{"post":{"description":"Get lisUSD Saving Rate (LSR / Jar) information: total deposits, APR, exit delay, and optionally a specific user's position and earned rewards. Paid duplicate of tool:sperax-listadao.getSavingsInfo; same handler, paid per call instead of a session or API key. Source: api.lista.org, api.llama.fi, api.lista.org/llama.","operationId":"x402_toolsListadaoGetSavingsInfo","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"walletAddress":{"description":"Optional: user wallet address to include personal savings position.","type":"string"}},"required":[],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get lisUSD Saving Rate (LSR / Jar) information: total deposits, APR, exit delay, and optionally a specific user's position and earned rewards"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get lisUSD Saving Rate (LSR / Jar) information: total deposits, APR, exit delay, and optionally a specific user's position and earned rewards","tags":["Tools (paid)"],"x-input-schema":{"properties":{"walletAddress":{"description":"Optional: user wallet address to include personal savings position.","type":"string"}},"required":[],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/listadao/getStakingInfo":{"post":{"description":"Get detailed BNB liquid staking information: APR, slisBNB/BNB exchange rate, total BNB staked, validator count, cooldown period, and minimum stake amount. Paid duplicate of tool:sperax-listadao.getStakingInfo; same handler, paid per call instead of a session or API key. Source: api.lista.org, api.llama.fi, api.lista.org/llama.","operationId":"x402_toolsListadaoGetStakingInfo","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{},"required":[],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get detailed BNB liquid staking information: APR, slisBNB/BNB exchange rate, total BNB staked, validator count, cooldown period, and minimum stake amount"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get detailed BNB liquid staking information: APR, slisBNB/BNB exchange rate, total BNB staked, validator count, cooldown period, and minimum stake amount","tags":["Tools (paid)"],"x-input-schema":{"properties":{},"required":[],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/listadao/getUserPositions":{"post":{"description":"Get the user's complete Lista DAO position: slisBNB staking balance, CDP positions with health status, farm positions with pending rewards, and total portfolio value. Paid duplicate of tool:sperax-listadao.getUserPositions; same handler, paid per call instead of a session or API key. Source: api.lista.org, api.llama.fi, api.lista.org/llama.","operationId":"x402_toolsListadaoGetUserPositions","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"walletAddress":{"description":"User wallet address (0x...).","type":"string"}},"required":["walletAddress"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get the user's complete Lista DAO position: slisBNB staking balance, CDP positions with health status, farm positions with pending rewards, and total portfolio value"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get the user's complete Lista DAO position: slisBNB staking balance, CDP positions with health status, farm positions with pending rewards, and total portfolio value","tags":["Tools (paid)"],"x-input-schema":{"properties":{"walletAddress":{"description":"User wallet address (0x...).","type":"string"}},"required":["walletAddress"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/listadao/repayLisUsd":{"post":{"description":"Repay lisUSD debt in a CDP to improve collateralization ratio or close the position. Use \"max\" for full repayment. ONLY call after user confirmation. Paid duplicate of tool:sperax-listadao.repayLisUsd; same handler, paid per call instead of a session or API key. Source: api.lista.org, api.llama.fi, api.lista.org/llama.","operationId":"x402_toolsListadaoRepayLisUsd","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"collateralToken":{"description":"Collateral token of the CDP to repay (e.g. \"BNB\", \"slisBNB\").","type":"string"},"repayAmount":{"description":"Amount of lisUSD to repay, or \"max\" for full repayment.","type":"string"},"walletAddress":{"description":"User wallet address (0x...).","type":"string"}},"required":["collateralToken","repayAmount","walletAddress"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Repay lisUSD debt in a CDP to improve collateralization ratio or close the position"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Repay lisUSD debt in a CDP to improve collateralization ratio or close the position","tags":["Tools (paid)"],"x-input-schema":{"properties":{"collateralToken":{"description":"Collateral token of the CDP to repay (e.g. \"BNB\", \"slisBNB\").","type":"string"},"repayAmount":{"description":"Amount of lisUSD to repay, or \"max\" for full repayment.","type":"string"},"walletAddress":{"description":"User wallet address (0x...).","type":"string"}},"required":["collateralToken","repayAmount","walletAddress"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/listadao/stakeBnb":{"post":{"description":"Stake BNB to receive slisBNB liquid staking token. Returns an unsigned transaction for the user to sign in their wallet. ONLY call after the user has explicitly confirmed the stake amount. Paid duplicate of tool:sperax-listadao.stakeBnb; same handler, paid per call instead of a session or API key. Source: api.lista.org, api.llama.fi, api.lista.org/llama.","operationId":"x402_toolsListadaoStakeBnb","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"amount":{"description":"Amount of BNB to stake (e.g. \"1.5\").","type":"string"},"walletAddress":{"description":"User wallet address (0x...).","type":"string"}},"required":["amount","walletAddress"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Stake BNB to receive slisBNB liquid staking token"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Stake BNB to receive slisBNB liquid staking token","tags":["Tools (paid)"],"x-input-schema":{"properties":{"amount":{"description":"Amount of BNB to stake (e.g. \"1.5\").","type":"string"},"walletAddress":{"description":"User wallet address (0x...).","type":"string"}},"required":["amount","walletAddress"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/listadao/unstakeBnb":{"post":{"description":"Unstake slisBNB to redeem BNB. Subject to a cooldown period. Returns an unsigned transaction. ONLY call after the user has explicitly confirmed. Paid duplicate of tool:sperax-listadao.unstakeBnb; same handler, paid per call instead of a session or API key. Source: api.lista.org, api.llama.fi, api.lista.org/llama.","operationId":"x402_toolsListadaoUnstakeBnb","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"amount":{"description":"Amount of slisBNB to unstake (e.g. \"1.0\").","type":"string"},"walletAddress":{"description":"User wallet address (0x...).","type":"string"}},"required":["amount","walletAddress"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Unstake slisBNB to redeem BNB"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Unstake slisBNB to redeem BNB","tags":["Tools (paid)"],"x-input-schema":{"properties":{"amount":{"description":"Amount of slisBNB to unstake (e.g. \"1.0\").","type":"string"},"walletAddress":{"description":"User wallet address (0x...).","type":"string"}},"required":["amount","walletAddress"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/listadao/withdrawSavings":{"post":{"description":"Withdraw lisUSD from the Saving Rate (Jar). Subject to an exit delay period. Returns an unsigned transaction. ONLY call after user confirmation. Paid duplicate of tool:sperax-listadao.withdrawSavings; same handler, paid per call instead of a session or API key. Source: api.lista.org, api.llama.fi, api.lista.org/llama.","operationId":"x402_toolsListadaoWithdrawSavings","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"amount":{"description":"Amount of lisUSD to withdraw (e.g. \"500\").","type":"string"},"walletAddress":{"description":"User wallet address (0x...).","type":"string"}},"required":["amount","walletAddress"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Withdraw lisUSD from the Saving Rate (Jar)"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Withdraw lisUSD from the Saving Rate (Jar)","tags":["Tools (paid)"],"x-input-schema":{"properties":{"amount":{"description":"Amount of lisUSD to withdraw (e.g. \"500\").","type":"string"},"walletAddress":{"description":"User wallet address (0x...).","type":"string"}},"required":["amount","walletAddress"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/mev-shield/analyzeTransaction":{"post":{"description":"Analyze a pending swap transaction for MEV vulnerabilities BEFORE submission. Returns risk score, attack vectors, estimated losses, and protection recommendations. Paid duplicate of tool:sperax-mev-shield.analyzeTransaction; same handler, paid per call instead of a session or API key. Source: api.coingecko.com.","operationId":"x402_toolsMevShieldAnalyzeTransaction","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"amount":{"description":"Amount being swapped (human-readable, e.g. \"1000\").","type":"string"},"chain":{"description":"Chain name (default: ethereum).","type":"string"},"dex":{"description":"DEX being used (e.g. \"Uniswap\", \"Sushiswap\").","type":"string"},"slippageTolerance":{"description":"Slippage tolerance in percent (e.g. 0.5).","type":"number"},"tokenIn":{"description":"Token being sold (e.g. \"USDC\").","type":"string"},"tokenOut":{"description":"Token being bought (e.g. \"ETH\").","type":"string"}},"required":["tokenIn","tokenOut","amount"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Analyze a pending swap transaction for MEV vulnerabilities BEFORE submission"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Analyze a pending swap transaction for MEV vulnerabilities BEFORE submission","tags":["Tools (paid)"],"x-input-schema":{"properties":{"amount":{"description":"Amount being swapped (human-readable, e.g. \"1000\").","type":"string"},"chain":{"description":"Chain name (default: ethereum).","type":"string"},"dex":{"description":"DEX being used (e.g. \"Uniswap\", \"Sushiswap\").","type":"string"},"slippageTolerance":{"description":"Slippage tolerance in percent (e.g. 0.5).","type":"number"},"tokenIn":{"description":"Token being sold (e.g. \"USDC\").","type":"string"},"tokenOut":{"description":"Token being bought (e.g. \"ETH\").","type":"string"}},"required":["tokenIn","tokenOut","amount"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/tools/mev-shield/getProtectionRecommendation":{"post":{"description":"Get personalized MEV protection strategy recommendations based on transaction type, amount, chain, and urgency. Paid duplicate of tool:sperax-mev-shield.getProtectionRecommendation; same handler, paid per call instead of a session or API key. Source: api.coingecko.com.","operationId":"x402_toolsMevShieldGetProtectionRecommendation","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"amountUsd":{"description":"Transaction amount in USD.","type":"number"},"chain":{"description":"Chain for the transaction.","type":"string"},"txType":{"description":"Type: \"swap\", \"liquidity_add\", \"liquidity_remove\", \"bridge\", or \"other\".","type":"string"},"urgency":{"description":"Urgency: \"low\" (can wait), \"medium\" (within hours), \"high\" (ASAP).","type":"string"}},"required":["txType","amountUsd"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get personalized MEV protection strategy recommendations based on transaction type, amount, chain, and urgency"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get personalized MEV protection strategy recommendations based on transaction type, amount, chain, and urgency","tags":["Tools (paid)"],"x-input-schema":{"properties":{"amountUsd":{"description":"Transaction amount in USD.","type":"number"},"chain":{"description":"Chain for the transaction.","type":"string"},"txType":{"description":"Type: \"swap\", \"liquidity_add\", \"liquidity_remove\", \"bridge\", or \"other\".","type":"string"},"urgency":{"description":"Urgency: \"low\" (can wait), \"medium\" (within hours), \"high\" (ASAP).","type":"string"}},"required":["txType","amountUsd"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/name-service/resolveName":{"post":{"description":"Resolve a human-readable Web3 name to an on-chain address. Supports ENS (.eth, Ethereum), SNS (.sol, Solana) and Space ID (.bnb on BNB Chain, .arb on Arbitrum). A name with no suffix is tried against every registry and may resolve in more than one. Also reports whether the ENS reverse record verifies the forward record. Paid duplicate of tool:sperax-name-service.resolveName; same handler, paid per call instead of a session or API key. Source: eth.llamarpc.com, cloudflare-eth.com, publicnode, rpc.ankr.com, api.prd.space.id, sns-api.bonfida.com, same.","operationId":"x402_toolsNameServiceResolveName","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"name":{"description":"Name to resolve, e.g. \"vitalik.eth\", \"toly.sol\", \"cz.bnb\", \"dev.arb\", or a bare \"vitalik\" to search all registries.","type":"string"}},"required":["name"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Resolve a human-readable Web3 name to an on-chain address"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Resolve a human-readable Web3 name to an on-chain address","tags":["Tools (paid)"],"x-input-schema":{"properties":{"name":{"description":"Name to resolve, e.g. \"vitalik.eth\", \"toly.sol\", \"cz.bnb\", \"dev.arb\", or a bare \"vitalik\" to search all registries.","type":"string"}},"required":["name"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/name-service/reverseResolve":{"post":{"description":"Find the Web3 names that point at an address (reverse resolution). An EVM address is checked against ENS primary names and Space ID (.bnb, .arb); a Solana address returns every .sol domain the wallet holds. Paid duplicate of tool:sperax-name-service.reverseResolve; same handler, paid per call instead of a session or API key. Source: eth.llamarpc.com, cloudflare-eth.com, publicnode, rpc.ankr.com, api.prd.space.id, sns-api.bonfida.com, same.","operationId":"x402_toolsNameServiceReverseResolve","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"address":{"description":"Address to look up — EVM (0x + 40 hex) or Solana (base58). The encoding is detected automatically.","type":"string"}},"required":["address"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Find the Web3 names that point at an address (reverse resolution)"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Find the Web3 names that point at an address (reverse resolution)","tags":["Tools (paid)"],"x-input-schema":{"properties":{"address":{"description":"Address to look up — EVM (0x + 40 hex) or Solana (base58). The encoding is detected automatically.","type":"string"}},"required":["address"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/nft-market/getNftCollections":{"post":{"description":"Get top NFT collections ranked by market cap or 24h volume. Returns floor price, market cap, volume, and price change data. Paid duplicate of tool:sperax-nft-market.getNftCollections; same handler, paid per call instead of a session or API key. Source: api.coingecko.com.","operationId":"x402_toolsNftMarketGetNftCollections","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"order":{"description":"Sort order — \"market_cap_desc\" (default) or \"volume_desc\" for highest 24h volume.","type":"string"},"page":{"description":"Page number (default 1).","type":"number"},"perPage":{"description":"Results per page (default 20, max 100).","type":"number"}},"required":[],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get top NFT collections ranked by market cap or 24h volume"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get top NFT collections ranked by market cap or 24h volume","tags":["Tools (paid)"],"x-input-schema":{"properties":{"order":{"description":"Sort order — \"market_cap_desc\" (default) or \"volume_desc\" for highest 24h volume.","type":"string"},"page":{"description":"Page number (default 1).","type":"number"},"perPage":{"description":"Results per page (default 20, max 100).","type":"number"}},"required":[],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/nft-market/getNftDetail":{"post":{"description":"Get detailed information about a specific NFT collection including description, total supply, unique owners, floor price change, and links. Paid duplicate of tool:sperax-nft-market.getNftDetail; same handler, paid per call instead of a session or API key. Source: api.coingecko.com.","operationId":"x402_toolsNftMarketGetNftDetail","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"nftId":{"description":"CoinGecko NFT collection ID (e.g. \"cryptopunks\", \"bored-ape-yacht-club\").","type":"string"}},"required":["nftId"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get detailed information about a specific NFT collection including description, total supply, unique owners, floor price change, and links"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get detailed information about a specific NFT collection including description, total supply, unique owners, floor price change, and links","tags":["Tools (paid)"],"x-input-schema":{"properties":{"nftId":{"description":"CoinGecko NFT collection ID (e.g. \"cryptopunks\", \"bored-ape-yacht-club\").","type":"string"}},"required":["nftId"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/nft-market/searchNfts":{"post":{"description":"Search for NFT collections by name. Returns matching collections with basic data. Paid duplicate of tool:sperax-nft-market.searchNfts; same handler, paid per call instead of a session or API key. Source: api.coingecko.com.","operationId":"x402_toolsNftMarketSearchNfts","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"query":{"description":"Search query — collection name (e.g. \"punk\", \"ape\", \"azuki\").","type":"string"}},"required":["query"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Search for NFT collections by name"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Search for NFT collections by name","tags":["Tools (paid)"],"x-input-schema":{"properties":{"query":{"description":"Search query — collection name (e.g. \"punk\", \"ape\", \"azuki\").","type":"string"}},"required":["query"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/options-volume/getOptionsOverview":{"post":{"description":"List all options protocols ranked by 24h notional volume. Paid duplicate of tool:sperax-options-volume.getOptionsOverview; same handler, paid per call instead of a session or API key. Source: api.llama.fi.","operationId":"x402_toolsOptionsVolumeGetOptionsOverview","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"limit":{"default":20,"description":"Max results","type":"number"}},"required":[],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"List all options protocols ranked by 24h notional volume"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"List all options protocols ranked by 24h notional volume","tags":["Tools (paid)"],"x-input-schema":{"properties":{"limit":{"default":20,"description":"Max results","type":"number"}},"required":[],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/options-volume/getOptionsSummary":{"post":{"description":"Get a market-wide options volume summary. Paid duplicate of tool:sperax-options-volume.getOptionsSummary; same handler, paid per call instead of a session or API key. Source: api.llama.fi.","operationId":"x402_toolsOptionsVolumeGetOptionsSummary","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{},"required":[],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get a market-wide options volume summary"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get a market-wide options volume summary","tags":["Tools (paid)"],"x-input-schema":{"properties":{},"required":[],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/tools/options-volume/getProtocolOptions":{"post":{"description":"Get historical daily volume for a specific options protocol. Paid duplicate of tool:sperax-options-volume.getProtocolOptions; same handler, paid per call instead of a session or API key. Source: api.llama.fi.","operationId":"x402_toolsOptionsVolumeGetProtocolOptions","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"protocol":{"description":"Protocol slug (e.g. \"deribit\", \"lyra\", \"hegic\")","type":"string"}},"required":["protocol"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get historical daily volume for a specific options protocol"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get historical daily volume for a specific options protocol","tags":["Tools (paid)"],"x-input-schema":{"properties":{"protocol":{"description":"Protocol slug (e.g. \"deribit\", \"lyra\", \"hegic\")","type":"string"}},"required":["protocol"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/pancakeswap/getFarmingPools":{"post":{"description":"Get CAKE farming pools with APR breakdown (LP fees + CAKE rewards). Optionally filter by chain and minimum APR. Paid duplicate of tool:sperax-pancakeswap.getFarmingPools; same handler, paid per call instead of a session or API key. Source: api.llama.fi / proxy-worker-api.pancakeswap.com, tokens.pancakeswap.finance, proxy-worker-api.pancakeswap.com, pancakeswap/llama.","operationId":"x402_toolsPancakeswapGetFarmingPools","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"chain":{"description":"Filter by chain. Default: all chains.","type":"string"},"limit":{"description":"Maximum number of farms to return (default: 10).","type":"number"},"minApr":{"description":"Minimum total APR filter.","type":"number"},"sortBy":{"description":"Sort by: \"totalApr\" (default), \"stakedTvl\".","type":"string"}},"required":[],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get CAKE farming pools with APR breakdown (LP fees + CAKE rewards)"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get CAKE farming pools with APR breakdown (LP fees + CAKE rewards)","tags":["Tools (paid)"],"x-input-schema":{"properties":{"chain":{"description":"Filter by chain. Default: all chains.","type":"string"},"limit":{"description":"Maximum number of farms to return (default: 10).","type":"number"},"minApr":{"description":"Minimum total APR filter.","type":"number"},"sortBy":{"description":"Sort by: \"totalApr\" (default), \"stakedTvl\".","type":"string"}},"required":[],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/pancakeswap/getPoolDetail":{"post":{"description":"Get detailed analytics for a specific PancakeSwap pool, including TVL, volume, fees, APR, and recent trades. Paid duplicate of tool:sperax-pancakeswap.getPoolDetail; same handler, paid per call instead of a session or API key. Source: api.llama.fi / proxy-worker-api.pancakeswap.com, tokens.pancakeswap.finance, proxy-worker-api.pancakeswap.com, pancakeswap/llama.","operationId":"x402_toolsPancakeswapGetPoolDetail","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"chain":{"description":"Chain the pool is on. Default: \"BNB Chain\".","type":"string"},"poolAddress":{"description":"Pool contract address.","type":"string"}},"required":["poolAddress"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get detailed analytics for a specific PancakeSwap pool, including TVL, volume, fees, APR, and recent trades"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get detailed analytics for a specific PancakeSwap pool, including TVL, volume, fees, APR, and recent trades","tags":["Tools (paid)"],"x-input-schema":{"properties":{"chain":{"description":"Chain the pool is on. Default: \"BNB Chain\".","type":"string"},"poolAddress":{"description":"Pool contract address.","type":"string"}},"required":["poolAddress"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/pancakeswap/getRecentTrades":{"post":{"description":"Get recent trades from a PancakeSwap pool or for a specific token. Shows trade direction, size, and maker address. Paid duplicate of tool:sperax-pancakeswap.getRecentTrades; same handler, paid per call instead of a session or API key. Source: api.llama.fi / proxy-worker-api.pancakeswap.com, tokens.pancakeswap.finance, proxy-worker-api.pancakeswap.com, pancakeswap/llama.","operationId":"x402_toolsPancakeswapGetRecentTrades","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"chain":{"description":"Chain. Default: \"BNB Chain\".","type":"string"},"limit":{"description":"Number of trades to return (default: 20, max: 50).","type":"number"},"poolAddress":{"description":"Pool address to fetch trades from.","type":"string"},"tokenAddress":{"description":"Token address to fetch trades for (across all pools).","type":"string"}},"required":[],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get recent trades from a PancakeSwap pool or for a specific token"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get recent trades from a PancakeSwap pool or for a specific token","tags":["Tools (paid)"],"x-input-schema":{"properties":{"chain":{"description":"Chain. Default: \"BNB Chain\".","type":"string"},"limit":{"description":"Number of trades to return (default: 20, max: 50).","type":"number"},"poolAddress":{"description":"Pool address to fetch trades from.","type":"string"},"tokenAddress":{"description":"Token address to fetch trades for (across all pools).","type":"string"}},"required":[],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/pancakeswap/getSwapQuote":{"post":{"description":"Get a swap quote from PancakeSwap V3 Smart Router. Shows the best route, expected output, price impact, and gas cost. Paid duplicate of tool:sperax-pancakeswap.getSwapQuote; same handler, paid per call instead of a session or API key. Source: api.llama.fi / proxy-worker-api.pancakeswap.com, tokens.pancakeswap.finance, proxy-worker-api.pancakeswap.com, pancakeswap/llama.","operationId":"x402_toolsPancakeswapGetSwapQuote","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"amount":{"description":"Amount to swap in human-readable units (e.g., \"1.5\", \"1000\").","type":"string"},"chain":{"description":"Chain to swap on. Default: \"BNB Chain\".","type":"string"},"fromToken":{"description":"Source token symbol or address (e.g., \"BNB\", \"USDT\", \"0x...\").","type":"string"},"slippage":{"description":"Slippage tolerance in percent (default: 0.5).","type":"number"},"toToken":{"description":"Destination token symbol or address (e.g., \"CAKE\", \"USDC\", \"0x...\").","type":"string"}},"required":["fromToken","toToken","amount"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get a swap quote from PancakeSwap V3 Smart Router"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get a swap quote from PancakeSwap V3 Smart Router","tags":["Tools (paid)"],"x-input-schema":{"properties":{"amount":{"description":"Amount to swap in human-readable units (e.g., \"1.5\", \"1000\").","type":"string"},"chain":{"description":"Chain to swap on. Default: \"BNB Chain\".","type":"string"},"fromToken":{"description":"Source token symbol or address (e.g., \"BNB\", \"USDT\", \"0x...\").","type":"string"},"slippage":{"description":"Slippage tolerance in percent (default: 0.5).","type":"number"},"toToken":{"description":"Destination token symbol or address (e.g., \"CAKE\", \"USDC\", \"0x...\").","type":"string"}},"required":["fromToken","toToken","amount"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/pancakeswap/getTokenInfo":{"post":{"description":"Get detailed token information on PancakeSwap including price, market cap, top pools, and 7d price chart. Pass the token contract address or symbol. Paid duplicate of tool:sperax-pancakeswap.getTokenInfo; same handler, paid per call instead of a session or API key. Source: api.llama.fi / proxy-worker-api.pancakeswap.com, tokens.pancakeswap.finance, proxy-worker-api.pancakeswap.com, pancakeswap/llama.","operationId":"x402_toolsPancakeswapGetTokenInfo","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"chain":{"description":"Chain to look up the token on. Default: \"BNB Chain\".","type":"string"},"symbol":{"description":"Token symbol (e.g., \"CAKE\", \"WBNB\", \"ETH\"). Used for fuzzy search.","type":"string"},"tokenAddress":{"description":"Token contract address (e.g., \"0x...\").","type":"string"}},"required":[],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get detailed token information on PancakeSwap including price, market cap, top pools, and 7d price chart"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get detailed token information on PancakeSwap including price, market cap, top pools, and 7d price chart","tags":["Tools (paid)"],"x-input-schema":{"properties":{"chain":{"description":"Chain to look up the token on. Default: \"BNB Chain\".","type":"string"},"symbol":{"description":"Token symbol (e.g., \"CAKE\", \"WBNB\", \"ETH\"). Used for fuzzy search.","type":"string"},"tokenAddress":{"description":"Token contract address (e.g., \"0x...\").","type":"string"}},"required":[],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/pancakeswap/getTopPools":{"post":{"description":"Get top PancakeSwap V3 liquidity pools. Optionally filter by chain and sort by TVL, 24h volume, APR, or fees. Paid duplicate of tool:sperax-pancakeswap.getTopPools; same handler, paid per call instead of a session or API key. Source: api.llama.fi / proxy-worker-api.pancakeswap.com, tokens.pancakeswap.finance, proxy-worker-api.pancakeswap.com, pancakeswap/llama.","operationId":"x402_toolsPancakeswapGetTopPools","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"chain":{"description":"Filter by chain: \"BNB Chain\", \"Ethereum\", \"Arbitrum\", \"Base\", \"zkSync Era\", \"Linea\". Default: all chains.","type":"string"},"limit":{"description":"Maximum number of pools to return (default: 10, max: 25).","type":"number"},"sortBy":{"description":"Sort pools by: \"tvl\" (default), \"volume24h\", \"apr\", \"fees24h\".","type":"string"}},"required":[],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get top PancakeSwap V3 liquidity pools"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get top PancakeSwap V3 liquidity pools","tags":["Tools (paid)"],"x-input-schema":{"properties":{"chain":{"description":"Filter by chain: \"BNB Chain\", \"Ethereum\", \"Arbitrum\", \"Base\", \"zkSync Era\", \"Linea\". Default: all chains.","type":"string"},"limit":{"description":"Maximum number of pools to return (default: 10, max: 25).","type":"number"},"sortBy":{"description":"Sort pools by: \"tvl\" (default), \"volume24h\", \"apr\", \"fees24h\".","type":"string"}},"required":[],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/perpetuals/buildClosePositionTx":{"post":{"description":"Build unsigned transaction calldata to close (fully or partially) an open perpetual position. Paid duplicate of tool:lobe-perpetuals.buildClosePositionTx; same handler, paid per call instead of a session or API key. Source: api.hyperliquid.xyz, arbitrum-api.gmxinfra.io, indexer.dydx.trade, same.","operationId":"x402_toolsPerpetualsBuildClosePositionTx","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"closeSizePercent":{"description":"Percentage of position to close (1–100)","maximum":100,"minimum":1,"type":"number"},"exchange":{"description":"Exchange where position is held","enum":["gmx","hyperliquid","dydx"],"type":"string"},"positionId":{"description":"Position ID (from getPositions)","type":"string"},"walletAddress":{"description":"Trader wallet address","type":"string"}},"required":["positionId","exchange","walletAddress","closeSizePercent"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Build unsigned transaction calldata to close (fully or partially) an open perpetual position"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Build unsigned transaction calldata to close (fully or partially) an open perpetual position","tags":["Tools (paid)"],"x-input-schema":{"properties":{"closeSizePercent":{"description":"Percentage of position to close (1–100)","maximum":100,"minimum":1,"type":"number"},"exchange":{"description":"Exchange where position is held","enum":["gmx","hyperliquid","dydx"],"type":"string"},"positionId":{"description":"Position ID (from getPositions)","type":"string"},"walletAddress":{"description":"Trader wallet address","type":"string"}},"required":["positionId","exchange","walletAddress","closeSizePercent"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/perpetuals/buildOpenPositionTx":{"post":{"description":"Build unsigned transaction calldata to open a leveraged long or short position on GMX or dYdX. Paid duplicate of tool:lobe-perpetuals.buildOpenPositionTx; same handler, paid per call instead of a session or API key. Source: api.hyperliquid.xyz, arbitrum-api.gmxinfra.io, indexer.dydx.trade, same.","operationId":"x402_toolsPerpetualsBuildOpenPositionTx","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"chainId":{"description":"Chain ID (e.g. 42161 for Arbitrum)","type":"number"},"collateralToken":{"description":"Collateral token symbol, e.g. \"USDC\" or \"ETH\"","type":"string"},"exchange":{"description":"Exchange: gmx or dydx","enum":["gmx","dydx"],"type":"string"},"leverage":{"description":"Leverage multiplier (1–50)","maximum":50,"minimum":1,"type":"number"},"market":{"description":"Market symbol, e.g. \"ETH-USD\"","type":"string"},"side":{"description":"Trade direction","enum":["long","short"],"type":"string"},"sizeUsd":{"description":"Position size in USD","type":"number"},"walletAddress":{"description":"Trader wallet address","type":"string"}},"required":["exchange","market","side","sizeUsd","leverage","collateralToken","walletAddress","chainId"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Build unsigned transaction calldata to open a leveraged long or short position on GMX or dYdX"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Build unsigned transaction calldata to open a leveraged long or short position on GMX or dYdX","tags":["Tools (paid)"],"x-input-schema":{"properties":{"chainId":{"description":"Chain ID (e.g. 42161 for Arbitrum)","type":"number"},"collateralToken":{"description":"Collateral token symbol, e.g. \"USDC\" or \"ETH\"","type":"string"},"exchange":{"description":"Exchange: gmx or dydx","enum":["gmx","dydx"],"type":"string"},"leverage":{"description":"Leverage multiplier (1–50)","maximum":50,"minimum":1,"type":"number"},"market":{"description":"Market symbol, e.g. \"ETH-USD\"","type":"string"},"side":{"description":"Trade direction","enum":["long","short"],"type":"string"},"sizeUsd":{"description":"Position size in USD","type":"number"},"walletAddress":{"description":"Trader wallet address","type":"string"}},"required":["exchange","market","side","sizeUsd","leverage","collateralToken","walletAddress","chainId"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/perpetuals/getFundingRates":{"post":{"description":"Get historical funding rate time series and annualized rate for a market. Detects arbitrage opportunities across exchanges. Paid duplicate of tool:lobe-perpetuals.getFundingRates; same handler, paid per call instead of a session or API key. Source: api.hyperliquid.xyz, arbitrum-api.gmxinfra.io, indexer.dydx.trade, same.","operationId":"x402_toolsPerpetualsGetFundingRates","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"exchange":{"description":"Exchange: gmx, hyperliquid, or dydx","enum":["gmx","hyperliquid","dydx"],"type":"string"},"lookbackDays":{"default":7,"description":"Days of history to return (default 7)","type":"number"},"market":{"description":"Market symbol, e.g. \"ETH-USD\" or \"BTC-USD\"","type":"string"}},"required":["market","exchange"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get historical funding rate time series and annualized rate for a market"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get historical funding rate time series and annualized rate for a market","tags":["Tools (paid)"],"x-input-schema":{"properties":{"exchange":{"description":"Exchange: gmx, hyperliquid, or dydx","enum":["gmx","hyperliquid","dydx"],"type":"string"},"lookbackDays":{"default":7,"description":"Days of history to return (default 7)","type":"number"},"market":{"description":"Market symbol, e.g. \"ETH-USD\" or \"BTC-USD\"","type":"string"}},"required":["market","exchange"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/tools/perpetuals/getLiquidationPrice":{"post":{"description":"Calculate liquidation price and margin ratio at various price levels for a hypothetical or existing position. Paid duplicate of tool:lobe-perpetuals.getLiquidationPrice; same handler, paid per call instead of a session or API key. Source: api.hyperliquid.xyz, arbitrum-api.gmxinfra.io, indexer.dydx.trade, same.","operationId":"x402_toolsPerpetualsGetLiquidationPrice","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"entryPrice":{"description":"Entry price in USD","type":"number"},"exchange":{"description":"Exchange (affects maintenance margin rate)","enum":["gmx","hyperliquid","dydx"],"type":"string"},"leverage":{"description":"Leverage multiplier","type":"number"},"side":{"description":"Trade direction","enum":["long","short"],"type":"string"}},"required":["side","entryPrice","leverage","exchange"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Calculate liquidation price and margin ratio at various price levels for a hypothetical or existing position"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Calculate liquidation price and margin ratio at various price levels for a hypothetical or existing position","tags":["Tools (paid)"],"x-input-schema":{"properties":{"entryPrice":{"description":"Entry price in USD","type":"number"},"exchange":{"description":"Exchange (affects maintenance margin rate)","enum":["gmx","hyperliquid","dydx"],"type":"string"},"leverage":{"description":"Leverage multiplier","type":"number"},"side":{"description":"Trade direction","enum":["long","short"],"type":"string"}},"required":["side","entryPrice","leverage","exchange"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/perpetuals/getMarkets":{"post":{"description":"List all available perpetual markets with funding rate, open interest, mark price, and 24h volume. Paid duplicate of tool:lobe-perpetuals.getMarkets; same handler, paid per call instead of a session or API key. Source: api.hyperliquid.xyz, arbitrum-api.gmxinfra.io, indexer.dydx.trade, same.","operationId":"x402_toolsPerpetualsGetMarkets","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"chainId":{"description":"Filter by chain ID (e.g. 42161 for Arbitrum)","type":"number"},"exchange":{"default":"all","description":"Exchange to query: gmx, hyperliquid, dydx, or all","enum":["gmx","hyperliquid","dydx","all"],"type":"string"}},"required":[],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"List all available perpetual markets with funding rate, open interest, mark price, and 24h volume"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"List all available perpetual markets with funding rate, open interest, mark price, and 24h volume","tags":["Tools (paid)"],"x-input-schema":{"properties":{"chainId":{"description":"Filter by chain ID (e.g. 42161 for Arbitrum)","type":"number"},"exchange":{"default":"all","description":"Exchange to query: gmx, hyperliquid, dydx, or all","enum":["gmx","hyperliquid","dydx","all"],"type":"string"}},"required":[],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/tools/perpetuals/getPositions":{"post":{"description":"Get open perpetual positions for a wallet with PNL, liquidation price, and margin ratio. Paid duplicate of tool:lobe-perpetuals.getPositions; same handler, paid per call instead of a session or API key. Source: api.hyperliquid.xyz, arbitrum-api.gmxinfra.io, indexer.dydx.trade, same.","operationId":"x402_toolsPerpetualsGetPositions","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"exchange":{"default":"all","description":"Exchange to query: gmx, hyperliquid, dydx, or all","enum":["gmx","hyperliquid","dydx","all"],"type":"string"},"walletAddress":{"description":"Wallet address (0x...)","type":"string"}},"required":["walletAddress"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get open perpetual positions for a wallet with PNL, liquidation price, and margin ratio"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get open perpetual positions for a wallet with PNL, liquidation price, and margin ratio","tags":["Tools (paid)"],"x-input-schema":{"properties":{"exchange":{"default":"all","description":"Exchange to query: gmx, hyperliquid, dydx, or all","enum":["gmx","hyperliquid","dydx","all"],"type":"string"},"walletAddress":{"description":"Wallet address (0x...)","type":"string"}},"required":["walletAddress"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/polymarket/getLastTrades":{"post":{"description":"Fetch the most recent fills on a market. Paid duplicate of tool:sperax-polymarket.getLastTrades; same handler, paid per call instead of a session or API key. Source: gamma-api.polymarket.com, clob.polymarket.com, data-api.polymarket.com.","operationId":"x402_toolsPolymarketGetLastTrades","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"limit":{"description":"Max trades (default 25, max 100).","type":"number"},"market":{"description":"Polymarket conditionId.","type":"string"}},"required":["market"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Fetch the most recent fills on a market"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Fetch the most recent fills on a market","tags":["Tools (paid)"],"x-input-schema":{"properties":{"limit":{"description":"Max trades (default 25, max 100).","type":"number"},"market":{"description":"Polymarket conditionId.","type":"string"}},"required":["market"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/polymarket/getLeaderboard":{"post":{"description":"Fetch the Polymarket leaderboard. Paid duplicate of tool:sperax-polymarket.getLeaderboard; same handler, paid per call instead of a session or API key. Source: gamma-api.polymarket.com, clob.polymarket.com, data-api.polymarket.com.","operationId":"x402_toolsPolymarketGetLeaderboard","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"interval":{"description":"Time window: 1d | 7d | 30d | all. Default 7d.","type":"string"},"limit":{"description":"Default 20, max 100.","type":"number"},"sort":{"description":"Sort by `volume` (default) or `pnl`.","type":"string"}},"required":[],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Fetch the Polymarket leaderboard"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Fetch the Polymarket leaderboard","tags":["Tools (paid)"],"x-input-schema":{"properties":{"interval":{"description":"Time window: 1d | 7d | 30d | all. Default 7d.","type":"string"},"limit":{"description":"Default 20, max 100.","type":"number"},"sort":{"description":"Sort by `volume` (default) or `pnl`.","type":"string"}},"required":[],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/polymarket/getMarket":{"post":{"description":"Fetch a single Polymarket market by id (the Gamma numeric id or slug). Paid duplicate of tool:sperax-polymarket.getMarket; same handler, paid per call instead of a session or API key. Source: gamma-api.polymarket.com, clob.polymarket.com, data-api.polymarket.com.","operationId":"x402_toolsPolymarketGetMarket","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"marketId":{"description":"Gamma market id or slug.","type":"string"}},"required":["marketId"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Fetch a single Polymarket market by id (the Gamma numeric id or slug)"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Fetch a single Polymarket market by id (the Gamma numeric id or slug)","tags":["Tools (paid)"],"x-input-schema":{"properties":{"marketId":{"description":"Gamma market id or slug.","type":"string"}},"required":["marketId"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/polymarket/getOrderbook":{"post":{"description":"Fetch the CLOB orderbook + midpoint for a market outcome token. Paid duplicate of tool:sperax-polymarket.getOrderbook; same handler, paid per call instead of a session or API key. Source: gamma-api.polymarket.com, clob.polymarket.com, data-api.polymarket.com.","operationId":"x402_toolsPolymarketGetOrderbook","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"conditionId":{"description":"Condition id of the market (matches Gamma `conditionId`).","type":"string"},"tokenId":{"description":"ERC1155 outcome token id (one of `clobTokenIds`).","type":"string"}},"required":["conditionId","tokenId"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Fetch the CLOB orderbook + midpoint for a market outcome token"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Fetch the CLOB orderbook + midpoint for a market outcome token","tags":["Tools (paid)"],"x-input-schema":{"properties":{"conditionId":{"description":"Condition id of the market (matches Gamma `conditionId`).","type":"string"},"tokenId":{"description":"ERC1155 outcome token id (one of `clobTokenIds`).","type":"string"}},"required":["conditionId","tokenId"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/polymarket/getUserActivity":{"post":{"description":"Fetch a user's recent on-chain activity (trades, conversions, deposits). Paid duplicate of tool:sperax-polymarket.getUserActivity; same handler, paid per call instead of a session or API key. Source: gamma-api.polymarket.com, clob.polymarket.com, data-api.polymarket.com.","operationId":"x402_toolsPolymarketGetUserActivity","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"limit":{"description":"Default 25, max 100.","type":"number"},"type":{"description":"Filter by activity type (trade | conversion | deposit | withdrawal | reward).","type":"string"},"user":{"description":"Polygon address.","type":"string"}},"required":["user"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Fetch a user's recent on-chain activity (trades, conversions, deposits)"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Fetch a user's recent on-chain activity (trades, conversions, deposits)","tags":["Tools (paid)"],"x-input-schema":{"properties":{"limit":{"description":"Default 25, max 100.","type":"number"},"type":{"description":"Filter by activity type (trade | conversion | deposit | withdrawal | reward).","type":"string"},"user":{"description":"Polygon address.","type":"string"}},"required":["user"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/polymarket/getUserPositions":{"post":{"description":"Fetch a user's open positions on Polymarket. Paid duplicate of tool:sperax-polymarket.getUserPositions; same handler, paid per call instead of a session or API key. Source: gamma-api.polymarket.com, clob.polymarket.com, data-api.polymarket.com.","operationId":"x402_toolsPolymarketGetUserPositions","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"user":{"description":"Polygon address (proxy wallet).","type":"string"}},"required":["user"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Fetch a user's open positions on Polymarket"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Fetch a user's open positions on Polymarket","tags":["Tools (paid)"],"x-input-schema":{"properties":{"user":{"description":"Polygon address (proxy wallet).","type":"string"}},"required":["user"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/polymarket/listMarkets":{"post":{"description":"List active Polymarket prediction markets. Use `q` to search by question text and `category`/`tag` to filter. Paid duplicate of tool:sperax-polymarket.listMarkets; same handler, paid per call instead of a session or API key. Source: gamma-api.polymarket.com, clob.polymarket.com, data-api.polymarket.com.","operationId":"x402_toolsPolymarketListMarkets","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"active":{"description":"Only return active markets. Default true.","type":"boolean"},"category":{"description":"Filter by Gamma category (e.g. \"Politics\", \"Sports\").","type":"string"},"limit":{"description":"Max markets to return (default 20, max 100).","type":"number"},"q":{"description":"Free-text search across market questions.","type":"string"},"tag":{"description":"Filter by tag slug (e.g. \"trump\", \"elections-2024\").","type":"string"}},"required":[],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"List active Polymarket prediction markets"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"List active Polymarket prediction markets","tags":["Tools (paid)"],"x-input-schema":{"properties":{"active":{"description":"Only return active markets. Default true.","type":"boolean"},"category":{"description":"Filter by Gamma category (e.g. \"Politics\", \"Sports\").","type":"string"},"limit":{"description":"Max markets to return (default 20, max 100).","type":"number"},"q":{"description":"Free-text search across market questions.","type":"string"},"tag":{"description":"Filter by tag slug (e.g. \"trump\", \"elections-2024\").","type":"string"}},"required":[],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/protocol-risk/getContractRisk":{"post":{"description":"Analyze smart contract security for a DeFi protocol. Checks verification, upgradeability, admin controls, audit history, known vulnerabilities, and code complexity. Paid duplicate of tool:sperax-protocol-risk.getContractRisk; same handler, paid per call instead of a session or API key. Source: api.llama.fi.","operationId":"x402_toolsProtocolRiskGetContractRisk","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"chain":{"description":"Chain where the contract is deployed.","type":"string"},"contractAddress":{"description":"Specific contract address. Omit to analyze main protocol contracts.","type":"string"},"protocol":{"description":"Protocol name.","type":"string"}},"required":["protocol","chain"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Analyze smart contract security for a DeFi protocol"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Analyze smart contract security for a DeFi protocol","tags":["Tools (paid)"],"x-input-schema":{"properties":{"chain":{"description":"Chain where the contract is deployed.","type":"string"},"contractAddress":{"description":"Specific contract address. Omit to analyze main protocol contracts.","type":"string"},"protocol":{"description":"Protocol name.","type":"string"}},"required":["protocol","chain"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/tools/pump-agent-payments/getAgentConfig":{"post":{"description":"Read the raw on-chain facts about an agent token mint (owner program, lamports, data length). The agent configuration itself — authority, buyback BPS, per-currency accounting — is NOT decoded and is returned as unavailable, because it lives in a program PDA that requires the Pump IDL. Existence of the mint does not mean an agent is registered. Paid duplicate of tool:sperax-pump-agent-payments.getAgentConfig; same handler, paid per call instead of a session or API key. Source: api.mainnet-beta.solana.com / devnet, Solana RPC.","operationId":"x402_toolsPumpAgentPaymentsGetAgentConfig","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"mint":{"description":"The agent token mint address (base58)","type":"string"},"environment":{"description":"Solana environment (default: \"mainnet\")","enum":["mainnet","devnet"],"type":"string"}},"required":["mint"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Read the raw on-chain facts about an agent token mint (owner program, lamports, data length)"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Read the raw on-chain facts about an agent token mint (owner program, lamports, data length)","tags":["Tools (paid)"],"x-input-schema":{"properties":{"mint":{"description":"The agent token mint address (base58)","type":"string"},"environment":{"description":"Solana environment (default: \"mainnet\")","enum":["mainnet","devnet"],"type":"string"}},"required":["mint"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/pump-agent-payments/getBalances":{"post":{"description":"Read what plain JSON-RPC can see for an agent mint: whether the mint account exists, how many recent signatures it has, and the currency balance held by the mint address itself. Vault addresses, total received and pending distribution are NOT returned — they live in program PDAs this tool cannot derive or decode. Paid duplicate of tool:sperax-pump-agent-payments.getBalances; same handler, paid per call instead of a session or API key. Source: api.mainnet-beta.solana.com / devnet, Solana RPC.","operationId":"x402_toolsPumpAgentPaymentsGetBalances","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"mint":{"description":"The agent token mint address (base58)","type":"string"},"currencyMint":{"description":"The currency mint to check balances for (base58)","type":"string"},"environment":{"description":"Solana environment (default: \"mainnet\")","enum":["mainnet","devnet"],"type":"string"}},"required":["mint","currencyMint"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Read what plain JSON-RPC can see for an agent mint: whether the mint account exists, how many recent signatures it has, and the currency balance held by the mint address itself"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Read what plain JSON-RPC can see for an agent mint: whether the mint account exists, how many recent signatures it has, and the currency balance held by the mint address itself","tags":["Tools (paid)"],"x-input-schema":{"properties":{"mint":{"description":"The agent token mint address (base58)","type":"string"},"currencyMint":{"description":"The currency mint to check balances for (base58)","type":"string"},"environment":{"description":"Solana environment (default: \"mainnet\")","enum":["mainnet","devnet"],"type":"string"}},"required":["mint","currencyMint"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/pump-agent-payments/getGlobalConfig":{"post":{"description":"Check whether the Pump Agent Payments program is deployed on the given network (real getAccountInfo on the program id) and list the currencies documented as supported. The protocol and buyback authorities are NOT read — the GlobalConfig PDA is not derivable here. Paid duplicate of tool:sperax-pump-agent-payments.getGlobalConfig; same handler, paid per call instead of a session or API key. Source: api.mainnet-beta.solana.com / devnet, Solana RPC.","operationId":"x402_toolsPumpAgentPaymentsGetGlobalConfig","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"environment":{"description":"Solana environment (default: \"mainnet\")","enum":["mainnet","devnet"],"type":"string"}},"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Check whether the Pump Agent Payments program is deployed on the given network (real getAccountInfo on the program id) and list the currencies documented as supported"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Check whether the Pump Agent Payments program is deployed on the given network (real getAccountInfo on the program id) and list the currencies documented as supported","tags":["Tools (paid)"],"x-input-schema":{"properties":{"environment":{"description":"Solana environment (default: \"mainnet\")","enum":["mainnet","devnet"],"type":"string"}},"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/pump-agent-payments/getPaymentHistory":{"post":{"description":"List recent transaction signatures for an agent mint, plus any unsigned payment requests built in this session. Signature timestamps, slots, SPL memos and failure status are real; amount, payer and currency are NOT decoded and no total volume is reported. These signatures are all mint activity, not confirmed payments. Paid duplicate of tool:sperax-pump-agent-payments.getPaymentHistory; same handler, paid per call instead of a session or API key. Source: api.mainnet-beta.solana.com / devnet, Solana RPC.","operationId":"x402_toolsPumpAgentPaymentsGetPaymentHistory","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"mint":{"description":"The agent token mint address (base58)","type":"string"},"currencyMint":{"description":"Filter by currency mint (optional)","type":"string"},"limit":{"description":"Max number of payments to return (default: 20)","type":"number"},"environment":{"description":"Solana environment (default: \"mainnet\")","enum":["mainnet","devnet"],"type":"string"}},"required":["mint"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"List recent transaction signatures for an agent mint, plus any unsigned payment requests built in this session"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"List recent transaction signatures for an agent mint, plus any unsigned payment requests built in this session","tags":["Tools (paid)"],"x-input-schema":{"properties":{"mint":{"description":"The agent token mint address (base58)","type":"string"},"currencyMint":{"description":"Filter by currency mint (optional)","type":"string"},"limit":{"description":"Max number of payments to return (default: 20)","type":"number"},"environment":{"description":"Solana environment (default: \"mainnet\")","enum":["mainnet","devnet"],"type":"string"}},"required":["mint"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/tools/pump-agent-payments/validateInvoice":{"post":{"description":"Run STRUCTURAL checks on an invoice: the amount is positive, both mint accounts exist on-chain, and the current time is inside the invoice window. This does NOT verify that the payment settled — proving settlement needs the payment transaction signature or a decode of the program invoice account, neither of which this tool does. Never treat a pass as proof of payment. Paid duplicate of tool:sperax-pump-agent-payments.validateInvoice; same handler, paid per call instead of a session or API key. Source: api.mainnet-beta.solana.com / devnet, Solana RPC.","operationId":"x402_toolsPumpAgentPaymentsValidateInvoice","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"mint":{"description":"The agent token mint address (base58)","type":"string"},"user":{"description":"The payer wallet address (base58)","type":"string"},"currencyMint":{"description":"The payment currency mint (base58)","type":"string"},"amount":{"description":"Expected payment amount in minor units (string)","type":"string"},"memo":{"description":"The invoice memo number","type":"number"},"startTime":{"description":"Invoice window start (Unix timestamp)","type":"number"},"endTime":{"description":"Invoice window end (Unix timestamp)","type":"number"},"environment":{"description":"Solana environment (default: \"mainnet\")","enum":["mainnet","devnet"],"type":"string"}},"required":["mint","user","currencyMint","amount","memo","startTime","endTime"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Run STRUCTURAL checks on an invoice: the amount is positive, both mint accounts exist on-chain, and the current time is inside the invoice window"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Run STRUCTURAL checks on an invoice: the amount is positive, both mint accounts exist on-chain, and the current time is inside the invoice window","tags":["Tools (paid)"],"x-input-schema":{"properties":{"mint":{"description":"The agent token mint address (base58)","type":"string"},"user":{"description":"The payer wallet address (base58)","type":"string"},"currencyMint":{"description":"The payment currency mint (base58)","type":"string"},"amount":{"description":"Expected payment amount in minor units (string)","type":"string"},"memo":{"description":"The invoice memo number","type":"number"},"startTime":{"description":"Invoice window start (Unix timestamp)","type":"number"},"endTime":{"description":"Invoice window end (Unix timestamp)","type":"number"},"environment":{"description":"Solana environment (default: \"mainnet\")","enum":["mainnet","devnet"],"type":"string"}},"required":["mint","user","currencyMint","amount","memo","startTime","endTime"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/pump-fun/getBondingCurveStatus":{"post":{"description":"Get detailed bonding curve status for a pump.fun token — progress percentage, lifecycle stage (new/growing/graduating/graduated), virtual reserves, spot price, and pool address if graduated. Paid duplicate of tool:sperax-pump-fun.getBondingCurveStatus; same handler, paid per call instead of a session or API key. Source: frontend-api-v3.pump.fun.","operationId":"x402_toolsPumpFunGetBondingCurveStatus","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"mint":{"description":"Solana mint address of the pump.fun token.","type":"string"}},"required":["mint"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get detailed bonding curve status for a pump.fun token — progress percentage, lifecycle stage (new/growing/graduating/graduated), virtual reserves, spot price, and pool address if graduated"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get detailed bonding curve status for a pump.fun token — progress percentage, lifecycle stage (new/growing/graduating/graduated), virtual reserves, spot price, and pool address if graduated","tags":["Tools (paid)"],"x-input-schema":{"properties":{"mint":{"description":"Solana mint address of the pump.fun token.","type":"string"}},"required":["mint"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/pump-fun/getBuyQuote":{"post":{"description":"Get a buy quote for a pump.fun token — estimate how many tokens you get for a given SOL amount. Uses constant-product AMM bonding curve math. Only works for non-graduated tokens. Paid duplicate of tool:sperax-pump-fun.getBuyQuote; same handler, paid per call instead of a session or API key. Source: frontend-api-v3.pump.fun.","operationId":"x402_toolsPumpFunGetBuyQuote","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"mint":{"description":"Solana mint address of the pump.fun token.","type":"string"},"solAmount":{"description":"SOL amount to spend (e.g. \"0.5\", \"1.0\", \"0.01\").","type":"string"}},"required":["mint","solAmount"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get a buy quote for a pump.fun token — estimate how many tokens you get for a given SOL amount"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get a buy quote for a pump.fun token — estimate how many tokens you get for a given SOL amount","tags":["Tools (paid)"],"x-input-schema":{"properties":{"mint":{"description":"Solana mint address of the pump.fun token.","type":"string"},"solAmount":{"description":"SOL amount to spend (e.g. \"0.5\", \"1.0\", \"0.01\").","type":"string"}},"required":["mint","solAmount"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/pump-fun/getCoinInfo":{"post":{"description":"Look up a specific pump.fun token by its Solana mint address. Returns name, symbol, market cap, bonding curve status, creator, social links, ATH, reply count, and more. Paid duplicate of tool:sperax-pump-fun.getCoinInfo; same handler, paid per call instead of a session or API key. Source: frontend-api-v3.pump.fun.","operationId":"x402_toolsPumpFunGetCoinInfo","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"mint":{"description":"Solana mint address of the pump.fun token (e.g. \"8J69rbLTzWWgUJziFY8jeu5tDwEPBwUz4pKBMr5rpump\").","type":"string"}},"required":["mint"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Look up a specific pump.fun token by its Solana mint address"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Look up a specific pump.fun token by its Solana mint address","tags":["Tools (paid)"],"x-input-schema":{"properties":{"mint":{"description":"Solana mint address of the pump.fun token (e.g. \"8J69rbLTzWWgUJziFY8jeu5tDwEPBwUz4pKBMr5rpump\").","type":"string"}},"required":["mint"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/pump-fun/getCreatorProfile":{"post":{"description":"Look up a pump.fun token creator by wallet address. Shows their tokens, graduation rate, and overall profile. Useful for evaluating creator reputation. Paid duplicate of tool:sperax-pump-fun.getCreatorProfile; same handler, paid per call instead of a session or API key. Source: frontend-api-v3.pump.fun.","operationId":"x402_toolsPumpFunGetCreatorProfile","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"limit":{"description":"Number of tokens to return (default 10, max 25).","type":"number"},"wallet":{"description":"Creator Solana wallet address.","type":"string"}},"required":["wallet"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Look up a pump.fun token creator by wallet address"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Look up a pump.fun token creator by wallet address","tags":["Tools (paid)"],"x-input-schema":{"properties":{"limit":{"description":"Number of tokens to return (default 10, max 25).","type":"number"},"wallet":{"description":"Creator Solana wallet address.","type":"string"}},"required":["wallet"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/pump-fun/getFeeTiers":{"post":{"description":"Get pump.fun fee tiers showing protocol and creator fee rates at different market cap levels. Optionally pass a mint address to highlight which tier a specific token is in. Paid duplicate of tool:sperax-pump-fun.getFeeTiers; same handler, paid per call instead of a session or API key. Source: frontend-api-v3.pump.fun.","operationId":"x402_toolsPumpFunGetFeeTiers","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"mint":{"description":"Optional: Solana mint address to highlight the current fee tier for that token.","type":"string"}},"required":[],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get pump.fun fee tiers showing protocol and creator fee rates at different market cap levels"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get pump.fun fee tiers showing protocol and creator fee rates at different market cap levels","tags":["Tools (paid)"],"x-input-schema":{"properties":{"mint":{"description":"Optional: Solana mint address to highlight the current fee tier for that token.","type":"string"}},"required":[],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/pump-fun/getGraduationAlerts":{"post":{"description":"Premium x402: Get tokens closest to graduating the bonding curve. Shows bonding progress %, buy velocity, and estimated time to graduation. Paid via x402 micropayment (0.001 USDC). Paid duplicate of tool:sperax-pump-fun.getGraduationAlerts; same handler, paid per call instead of a session or API key. Source: frontend-api-v3.pump.fun.","operationId":"x402_toolsPumpFunGetGraduationAlerts","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"limit":{"description":"Number of alerts to return (default 10, max 25).","type":"number"},"minProgress":{"description":"Minimum bonding curve progress % to include (default 80). Higher = closer to graduation.","type":"number"}},"required":[],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Premium x402: Get tokens closest to graduating the bonding curve"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Premium x402: Get tokens closest to graduating the bonding curve","tags":["Tools (paid)"],"x-input-schema":{"properties":{"limit":{"description":"Number of alerts to return (default 10, max 25).","type":"number"},"minProgress":{"description":"Minimum bonding curve progress % to include (default 80). Higher = closer to graduation.","type":"number"}},"required":[],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/tools/pump-fun/getLatestCoins":{"post":{"description":"Browse the latest or most active pump.fun coins on Solana. Returns a list sorted by last trade time, creation time, or market cap. Paid duplicate of tool:sperax-pump-fun.getLatestCoins; same handler, paid per call instead of a session or API key. Source: frontend-api-v3.pump.fun.","operationId":"x402_toolsPumpFunGetLatestCoins","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"limit":{"description":"Number of coins to return (default 10, max 50).","type":"number"},"order":{"description":"Sort order: \"ASC\" or \"DESC\" (default DESC).","type":"string"},"sort":{"description":"Sort field: \"last_trade_timestamp\" (most active, default), \"created_timestamp\" (newest), \"market_cap\" (biggest).","type":"string"}},"required":[],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Browse the latest or most active pump.fun coins on Solana"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Browse the latest or most active pump.fun coins on Solana","tags":["Tools (paid)"],"x-input-schema":{"properties":{"limit":{"description":"Number of coins to return (default 10, max 50).","type":"number"},"order":{"description":"Sort order: \"ASC\" or \"DESC\" (default DESC).","type":"string"},"sort":{"description":"Sort field: \"last_trade_timestamp\" (most active, default), \"created_timestamp\" (newest), \"market_cap\" (biggest).","type":"string"}},"required":[],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/pump-fun/getLiveStreams":{"post":{"description":"Get pump.fun tokens that are currently live-streaming. These are actively promoted tokens with the most engagement. Paid duplicate of tool:sperax-pump-fun.getLiveStreams; same handler, paid per call instead of a session or API key. Source: frontend-api-v3.pump.fun.","operationId":"x402_toolsPumpFunGetLiveStreams","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"limit":{"description":"Number of coins to return (default 10, max 50).","type":"number"}},"required":[],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get pump.fun tokens that are currently live-streaming"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get pump.fun tokens that are currently live-streaming","tags":["Tools (paid)"],"x-input-schema":{"properties":{"limit":{"description":"Number of coins to return (default 10, max 50).","type":"number"}},"required":[],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/pump-fun/getSellQuote":{"post":{"description":"Get a sell quote for a pump.fun token — estimate how much SOL you receive for selling a given token amount. Uses constant-product AMM bonding curve math. Only works for non-graduated tokens. Paid duplicate of tool:sperax-pump-fun.getSellQuote; same handler, paid per call instead of a session or API key. Source: frontend-api-v3.pump.fun.","operationId":"x402_toolsPumpFunGetSellQuote","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"mint":{"description":"Solana mint address of the pump.fun token.","type":"string"},"tokenAmount":{"description":"Token amount to sell (e.g. \"1000\", \"1.5M\", \"500K\").","type":"string"}},"required":["mint","tokenAmount"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get a sell quote for a pump.fun token — estimate how much SOL you receive for selling a given token amount"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get a sell quote for a pump.fun token — estimate how much SOL you receive for selling a given token amount","tags":["Tools (paid)"],"x-input-schema":{"properties":{"mint":{"description":"Solana mint address of the pump.fun token.","type":"string"},"tokenAmount":{"description":"Token amount to sell (e.g. \"1000\", \"1.5M\", \"500K\").","type":"string"}},"required":["mint","tokenAmount"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/pump-fun/getSniperSignals":{"post":{"description":"Premium x402: Early-stage token signals — newly created tokens with high smart money activity, rising holder counts, and strong buy pressure. Paid via x402 micropayment (0.003 USDC). Paid duplicate of tool:sperax-pump-fun.getSniperSignals; same handler, paid per call instead of a session or API key. Source: frontend-api-v3.pump.fun.","operationId":"x402_toolsPumpFunGetSniperSignals","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"limit":{"description":"Number of signals to return (default 10, max 25).","type":"number"},"maxAgeMinutes":{"description":"Maximum token age in minutes (default 5). Only tokens younger than this are included.","type":"number"},"minHolders":{"description":"Minimum holder count to qualify (default 3). Filters out single-holder tokens.","type":"number"}},"required":[],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Premium x402: Early-stage token signals — newly created tokens with high smart money activity, rising holder counts, and strong buy pressure"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Premium x402: Early-stage token signals — newly created tokens with high smart money activity, rising holder counts, and strong buy pressure","tags":["Tools (paid)"],"x-input-schema":{"properties":{"limit":{"description":"Number of signals to return (default 10, max 25).","type":"number"},"maxAgeMinutes":{"description":"Maximum token age in minutes (default 5). Only tokens younger than this are included.","type":"number"},"minHolders":{"description":"Minimum holder count to qualify (default 3). Filters out single-holder tokens.","type":"number"}},"required":[],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/tools/pump-fun/getWhaleActivity":{"post":{"description":"Premium x402: Track large wallet (whale) buy/sell activity on pump.fun tokens. Shows trade size, direction, wallet address, and transaction. Paid via x402 micropayment (0.002 USDC). Paid duplicate of tool:sperax-pump-fun.getWhaleActivity; same handler, paid per call instead of a session or API key. Source: frontend-api-v3.pump.fun.","operationId":"x402_toolsPumpFunGetWhaleActivity","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"limit":{"description":"Number of whale trades to return (default 15, max 50).","type":"number"},"minSolAmount":{"description":"Minimum trade size in SOL to qualify as a whale trade (default 10).","type":"number"},"mint":{"description":"Optional: filter to a specific token mint address.","type":"string"}},"required":[],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Premium x402: Track large wallet (whale) buy/sell activity on pump.fun tokens"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Premium x402: Track large wallet (whale) buy/sell activity on pump.fun tokens","tags":["Tools (paid)"],"x-input-schema":{"properties":{"limit":{"description":"Number of whale trades to return (default 15, max 50).","type":"number"},"minSolAmount":{"description":"Minimum trade size in SOL to qualify as a whale trade (default 10).","type":"number"},"mint":{"description":"Optional: filter to a specific token mint address.","type":"string"}},"required":[],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/tools/pump-fun/searchCoins":{"post":{"description":"Search for pump.fun tokens by name or symbol. Use when the user provides a token name but not an address. Paid duplicate of tool:sperax-pump-fun.searchCoins; same handler, paid per call instead of a session or API key. Source: frontend-api-v3.pump.fun.","operationId":"x402_toolsPumpFunSearchCoins","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"limit":{"description":"Max number of results (default 10, max 50).","type":"number"},"query":{"description":"Search query — token name or symbol (e.g. \"wojak\", \"PEPE\").","type":"string"}},"required":["query"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Search for pump.fun tokens by name or symbol"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Search for pump.fun tokens by name or symbol","tags":["Tools (paid)"],"x-input-schema":{"properties":{"limit":{"description":"Max number of results (default 10, max 50).","type":"number"},"query":{"description":"Search query — token name or symbol (e.g. \"wojak\", \"PEPE\").","type":"string"}},"required":["query"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/safe-multisig/estimateSafeGas":{"post":{"description":"Estimate the gas required for a proposed Safe transaction before submitting it. Useful for cost estimation before calling proposeTransaction. Paid duplicate of tool:lobe-safe-multisig.estimateSafeGas; same handler, paid per call instead of a session or API key. Source: safe-transaction-{mainnet, arbitrum, base, optimism, polygon, gnosis-chain}.safe.global, safe tx service, www.4byte.directory, 4byte.","operationId":"x402_toolsSafeMultisigEstimateSafeGas","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"chainId":{"description":"Chain ID. Default: 1 (Ethereum).","type":"number"},"data":{"description":"Hex calldata (optional).","type":"string"},"safeAddress":{"description":"The Safe contract address (0x...).","type":"string"},"to":{"description":"Destination address (0x...).","type":"string"},"value":{"description":"ETH value in human-readable format (e.g. \"0\").","type":"string"}},"required":["safeAddress","to","value"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Estimate the gas required for a proposed Safe transaction before submitting it"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Estimate the gas required for a proposed Safe transaction before submitting it","tags":["Tools (paid)"],"x-input-schema":{"properties":{"chainId":{"description":"Chain ID. Default: 1 (Ethereum).","type":"number"},"data":{"description":"Hex calldata (optional).","type":"string"},"safeAddress":{"description":"The Safe contract address (0x...).","type":"string"},"to":{"description":"Destination address (0x...).","type":"string"},"value":{"description":"ETH value in human-readable format (e.g. \"0\").","type":"string"}},"required":["safeAddress","to","value"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/safe-multisig/getPendingTransactions":{"post":{"description":"Get all pending (unexecuted) transactions for a Safe. Returns each transaction with: destination address, ETH value, calldata (decoded if possible), how many owners have signed, who still needs to sign, and a link to the Safe UI to complete signing. Paid duplicate of tool:lobe-safe-multisig.getPendingTransactions; same handler, paid per call instead of a session or API key. Source: safe-transaction-{mainnet, arbitrum, base, optimism, polygon, gnosis-chain}.safe.global, safe tx service, www.4byte.directory, 4byte.","operationId":"x402_toolsSafeMultisigGetPendingTransactions","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"chainId":{"description":"Chain ID. Default: 1 (Ethereum).","type":"number"},"safeAddress":{"description":"The Safe contract address (0x...).","type":"string"}},"required":["safeAddress"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get all pending (unexecuted) transactions for a Safe"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get all pending (unexecuted) transactions for a Safe","tags":["Tools (paid)"],"x-input-schema":{"properties":{"chainId":{"description":"Chain ID. Default: 1 (Ethereum).","type":"number"},"safeAddress":{"description":"The Safe contract address (0x...).","type":"string"}},"required":["safeAddress"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/safe-multisig/getSafeInfo":{"post":{"description":"Get detailed information about a Gnosis Safe: owners list, signing threshold, current nonce, ETH and top ERC-20 token balances with USD values, and count of pending transactions. Use this first to orient the user around their Safe. Paid duplicate of tool:lobe-safe-multisig.getSafeInfo; same handler, paid per call instead of a session or API key. Source: safe-transaction-{mainnet, arbitrum, base, optimism, polygon, gnosis-chain}.safe.global, safe tx service, www.4byte.directory, 4byte.","operationId":"x402_toolsSafeMultisigGetSafeInfo","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"chainId":{"description":"Chain ID: 1=Ethereum, 10=Optimism, 100=Gnosis, 137=Polygon, 8453=Base, 42161=Arbitrum. Default: 1.","type":"number"},"safeAddress":{"description":"The Safe contract address (0x...).","type":"string"}},"required":["safeAddress"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get detailed information about a Gnosis Safe: owners list, signing threshold, current nonce, ETH and top ERC-20 token balances with USD values, and count of pending transactions"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get detailed information about a Gnosis Safe: owners list, signing threshold, current nonce, ETH and top ERC-20 token balances with USD values, and count of pending transactions","tags":["Tools (paid)"],"x-input-schema":{"properties":{"chainId":{"description":"Chain ID: 1=Ethereum, 10=Optimism, 100=Gnosis, 137=Polygon, 8453=Base, 42161=Arbitrum. Default: 1.","type":"number"},"safeAddress":{"description":"The Safe contract address (0x...).","type":"string"}},"required":["safeAddress"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/safe-multisig/getSafeTransactionHistory":{"post":{"description":"Get the transaction history of a Safe — recently executed multisig transactions with timestamps, values, and decoded calldata descriptions. Paid duplicate of tool:lobe-safe-multisig.getSafeTransactionHistory; same handler, paid per call instead of a session or API key. Source: safe-transaction-{mainnet, arbitrum, base, optimism, polygon, gnosis-chain}.safe.global, safe tx service, www.4byte.directory, 4byte.","operationId":"x402_toolsSafeMultisigGetSafeTransactionHistory","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"chainId":{"description":"Chain ID. Default: 1 (Ethereum).","type":"number"},"limit":{"description":"Number of transactions to return. Default: 20. Max: 50.","type":"number"},"safeAddress":{"description":"The Safe contract address (0x...).","type":"string"}},"required":["safeAddress"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get the transaction history of a Safe — recently executed multisig transactions with timestamps, values, and decoded calldata descriptions"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get the transaction history of a Safe — recently executed multisig transactions with timestamps, values, and decoded calldata descriptions","tags":["Tools (paid)"],"x-input-schema":{"properties":{"chainId":{"description":"Chain ID. Default: 1 (Ethereum).","type":"number"},"limit":{"description":"Number of transactions to return. Default: 20. Max: 50.","type":"number"},"safeAddress":{"description":"The Safe contract address (0x...).","type":"string"}},"required":["safeAddress"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/safe-multisig/proposeTransaction":{"post":{"description":"Propose a new transaction to a Gnosis Safe. Computes the Safe transaction hash and submits it to the Safe Transaction Service. Returns the safeTxHash and a link to the Safe UI where owners can sign it. ALWAYS confirm destination, value, and calldata with the user before calling this. Paid duplicate of tool:lobe-safe-multisig.proposeTransaction; same handler, paid per call instead of a session or API key. Source: safe-transaction-{mainnet, arbitrum, base, optimism, polygon, gnosis-chain}.safe.global, safe tx service, www.4byte.directory, 4byte.","operationId":"x402_toolsSafeMultisigProposeTransaction","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"chainId":{"description":"Chain ID. Default: 1 (Ethereum).","type":"number"},"data":{"description":"Hex-encoded calldata (optional, defaults to \"0x\").","type":"string"},"safeAddress":{"description":"The Safe contract address (0x...).","type":"string"},"senderAddress":{"description":"The wallet address proposing the transaction (0x...).","type":"string"},"to":{"description":"Destination address for the transaction (0x...).","type":"string"},"value":{"description":"ETH value to send (human-readable, e.g. \"0.5\" for 0.5 ETH).","type":"string"}},"required":["safeAddress","to","value","senderAddress"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Propose a new transaction to a Gnosis Safe"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Propose a new transaction to a Gnosis Safe","tags":["Tools (paid)"],"x-input-schema":{"properties":{"chainId":{"description":"Chain ID. Default: 1 (Ethereum).","type":"number"},"data":{"description":"Hex-encoded calldata (optional, defaults to \"0x\").","type":"string"},"safeAddress":{"description":"The Safe contract address (0x...).","type":"string"},"senderAddress":{"description":"The wallet address proposing the transaction (0x...).","type":"string"},"to":{"description":"Destination address for the transaction (0x...).","type":"string"},"value":{"description":"ETH value to send (human-readable, e.g. \"0.5\" for 0.5 ETH).","type":"string"}},"required":["safeAddress","to","value","senderAddress"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/spa/getProtocolStats":{"post":{"description":"Read Sperax staking protocol statistics live from Arbitrum: total SPA locked in the active veSPA escrow, xSPA total supply, the current SPA price, the USD value of all locked SPA, and locked SPA as a percentage of the Arbitrum SPA supply. Paid duplicate of tool:sperax-spa.getProtocolStats; same handler, paid per call instead of a session or API key. Source: public RPCs (eth, arb, bsc), Arbitrum RPC, api.coingecko.com, coins.llama.fi, coingecko, llama, RPCs.","operationId":"x402_toolsSpaGetProtocolStats","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{},"required":[],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Read Sperax staking protocol statistics live from Arbitrum: total SPA locked in the active veSPA escrow, xSPA total supply, the current SPA price, the USD value of all locked SPA, and locked SPA as a percentage of the Arbitrum SPA supply"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Read Sperax staking protocol statistics live from Arbitrum: total SPA locked in the active veSPA escrow, xSPA total supply, the current SPA price, the USD value of all locked SPA, and locked SPA as a percentage of the Arbitrum SPA supply","tags":["Tools (paid)"],"x-input-schema":{"properties":{},"required":[],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/tools/spa/getSpaBalances":{"post":{"description":"Read the SPA token balance of an address on every chain SPA is deployed to — BNB Chain, Arbitrum and Ethereum — plus the xSPA and USDs balances on Arbitrum, straight from the token contracts. Returns human-readable amounts per chain and exact raw wei values. Paid duplicate of tool:sperax-spa.getSpaBalances; same handler, paid per call instead of a session or API key. Source: public RPCs (eth, arb, bsc), Arbitrum RPC, api.coingecko.com, coins.llama.fi, coingecko, llama, RPCs.","operationId":"x402_toolsSpaGetSpaBalances","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"address":{"description":"EVM address to inspect, as 0x followed by 40 hex characters, e.g. \"0x1a9fd6ec3144da3dd6ea13ec1c25c58423a379b1\".","type":"string"}},"required":["address"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Read the SPA token balance of an address on every chain SPA is deployed to — BNB Chain, Arbitrum and Ethereum — plus the xSPA and USDs balances on Arbitrum, straight from the token contracts"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Read the SPA token balance of an address on every chain SPA is deployed to — BNB Chain, Arbitrum and Ethereum — plus the xSPA and USDs balances on Arbitrum, straight from the token contracts","tags":["Tools (paid)"],"x-input-schema":{"properties":{"address":{"description":"EVM address to inspect, as 0x followed by 40 hex characters, e.g. \"0x1a9fd6ec3144da3dd6ea13ec1c25c58423a379b1\".","type":"string"}},"required":["address"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/spa/getSpaPrice":{"post":{"description":"Get the current USD price and 24-hour change of SPA and USDs (the Sperax stablecoin). Uses the public CoinGecko API with a DeFiLlama fallback; no key required. Paid duplicate of tool:sperax-spa.getSpaPrice; same handler, paid per call instead of a session or API key. Source: public RPCs (eth, arb, bsc), Arbitrum RPC, api.coingecko.com, coins.llama.fi, coingecko, llama, RPCs.","operationId":"x402_toolsSpaGetSpaPrice","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{},"required":[],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get the current USD price and 24-hour change of SPA and USDs (the Sperax stablecoin)"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get the current USD price and 24-hour change of SPA and USDs (the Sperax stablecoin)","tags":["Tools (paid)"],"x-input-schema":{"properties":{},"required":[],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/spa/getStakingPosition":{"post":{"description":"Read the veSPA staking position of an address from the active escrow on Arbitrum: locked SPA principal, unlock date, cooldown state (auto or manual, initiated or not) and current decaying voting power. If the Arbitrum position is empty, the legacy Ethereum escrow is checked before concluding the address is not staking. Paid duplicate of tool:sperax-spa.getStakingPosition; same handler, paid per call instead of a session or API key. Source: public RPCs (eth, arb, bsc), Arbitrum RPC, api.coingecko.com, coins.llama.fi, coingecko, llama, RPCs.","operationId":"x402_toolsSpaGetStakingPosition","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"address":{"description":"EVM address to inspect, as 0x followed by 40 hex characters, e.g. \"0x1a9fd6ec3144da3dd6ea13ec1c25c58423a379b1\".","type":"string"}},"required":["address"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Read the veSPA staking position of an address from the active escrow on Arbitrum: locked SPA principal, unlock date, cooldown state (auto or manual, initiated or not) and current decaying voting power"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Read the veSPA staking position of an address from the active escrow on Arbitrum: locked SPA principal, unlock date, cooldown state (auto or manual, initiated or not) and current decaying voting power","tags":["Tools (paid)"],"x-input-schema":{"properties":{"address":{"description":"EVM address to inspect, as 0x followed by 40 hex characters, e.g. \"0x1a9fd6ec3144da3dd6ea13ec1c25c58423a379b1\".","type":"string"}},"required":["address"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/sperax-protocol/extendStake":{"post":{"description":"Extend the unlock time of an EXISTING veSPA lock to increase veSPA voting power and APY. The new duration must be longer than the current one and at most 1460 days (4 years). Returns an unsigned transaction (increaseUnlockTime). Paid duplicate of tool:sperax-protocol.extendStake; same handler, paid per call instead of a session or API key. Source: computed locally from the call parameters.","operationId":"x402_toolsSperaxProtocolExtendStake","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"lockDurationDays":{"description":"New total lock duration from now in days, up to 1460 (4 years).","type":"number"},"walletAddress":{"description":"User wallet address on Arbitrum (0x...)","type":"string"}},"required":["lockDurationDays","walletAddress"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Extend the unlock time of an EXISTING veSPA lock to increase veSPA voting power and APY"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Extend the unlock time of an EXISTING veSPA lock to increase veSPA voting power and APY","tags":["Tools (paid)"],"x-input-schema":{"properties":{"lockDurationDays":{"description":"New total lock duration from now in days, up to 1460 (4 years).","type":"number"},"walletAddress":{"description":"User wallet address on Arbitrum (0x...)","type":"string"}},"required":["lockDurationDays","walletAddress"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/sperax-protocol/increaseStake":{"post":{"description":"Add more SPA to an EXISTING veSPA lock without changing its unlock time. The user must already have an active lock. Returns an unsigned transaction for wallet signing (approve SPA, then increaseAmount). Paid duplicate of tool:sperax-protocol.increaseStake; same handler, paid per call instead of a session or API key. Source: computed locally from the call parameters.","operationId":"x402_toolsSperaxProtocolIncreaseStake","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"spaAmount":{"description":"Additional SPA to add to the existing lock (human-readable)","type":"string"},"walletAddress":{"description":"User wallet address on Arbitrum (0x...)","type":"string"}},"required":["spaAmount","walletAddress"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Add more SPA to an EXISTING veSPA lock without changing its unlock time"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Add more SPA to an EXISTING veSPA lock without changing its unlock time","tags":["Tools (paid)"],"x-input-schema":{"properties":{"spaAmount":{"description":"Additional SPA to add to the existing lock (human-readable)","type":"string"},"walletAddress":{"description":"User wallet address on Arbitrum (0x...)","type":"string"}},"required":["spaAmount","walletAddress"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/sperax-protocol/stakeSpa":{"post":{"description":"Stake (lock) SPA tokens into veSPA on Arbitrum to earn staking rewards and governance voting power. Locking for longer (up to 4 years / 1460 days) yields more veSPA and higher APY. Use this to create a NEW lock. Returns an unsigned transaction for wallet signing (approve SPA, then createLock). Paid duplicate of tool:sperax-protocol.stakeSpa; same handler, paid per call instead of a session or API key. Source: computed locally from the call parameters.","operationId":"x402_toolsSperaxProtocolStakeSpa","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"autoCooldown":{"description":"Auto-start the unlock cooldown when the lock expires so SPA becomes withdrawable without a manual step. Default false.","type":"boolean"},"lockDurationDays":{"description":"Lock duration in days, 7 to 1460 (4 years). Longer locks earn more veSPA and higher APY.","type":"number"},"spaAmount":{"description":"Amount of SPA to lock (human-readable, e.g. \"10000\")","type":"string"},"walletAddress":{"description":"User wallet address on Arbitrum (0x...)","type":"string"}},"required":["spaAmount","lockDurationDays","walletAddress"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Stake (lock) SPA tokens into veSPA on Arbitrum to earn staking rewards and governance voting power"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Stake (lock) SPA tokens into veSPA on Arbitrum to earn staking rewards and governance voting power","tags":["Tools (paid)"],"x-input-schema":{"properties":{"autoCooldown":{"description":"Auto-start the unlock cooldown when the lock expires so SPA becomes withdrawable without a manual step. Default false.","type":"boolean"},"lockDurationDays":{"description":"Lock duration in days, 7 to 1460 (4 years). Longer locks earn more veSPA and higher APY.","type":"number"},"spaAmount":{"description":"Amount of SPA to lock (human-readable, e.g. \"10000\")","type":"string"},"walletAddress":{"description":"User wallet address on Arbitrum (0x...)","type":"string"}},"required":["spaAmount","lockDurationDays","walletAddress"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/sperax-protocol/unstakeSpa":{"post":{"description":"Withdraw SPA from an EXPIRED veSPA lock back to the wallet. Only works after the lock has ended (and cooldown, if applicable). Returns an unsigned transaction (withdraw). Paid duplicate of tool:sperax-protocol.unstakeSpa; same handler, paid per call instead of a session or API key. Source: computed locally from the call parameters.","operationId":"x402_toolsSperaxProtocolUnstakeSpa","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"walletAddress":{"description":"User wallet address on Arbitrum (0x...)","type":"string"}},"required":["walletAddress"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Withdraw SPA from an EXPIRED veSPA lock back to the wallet"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Withdraw SPA from an EXPIRED veSPA lock back to the wallet","tags":["Tools (paid)"],"x-input-schema":{"properties":{"walletAddress":{"description":"User wallet address on Arbitrum (0x...)","type":"string"}},"required":["walletAddress"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/token-approvals/revokeApproval":{"post":{"description":"Build an unsigned revoke transaction for a specific token approval. Returns transaction data (to, data, chainId) that the user must sign with their wallet. For ERC-20: calls approve(spender, 0). For ERC-721: calls setApprovalForAll(spender, false). Paid duplicate of tool:sperax-token-approvals.revokeApproval; same handler, paid per call instead of a session or API key. Source: computed locally from the call parameters.","operationId":"x402_toolsTokenApprovalsRevokeApproval","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"address":{"description":"Wallet address (0x…)","type":"string"},"chain":{"description":"Chain name (e.g. \"arbitrum\", \"ethereum\", \"polygon\"). Defaults to arbitrum.","type":"string"},"spenderAddress":{"description":"Spender contract address to revoke approval from","type":"string"},"tokenAddress":{"description":"Token contract address","type":"string"},"tokenType":{"description":"Token type: \"ERC-20\" or \"ERC-721\" (default: \"ERC-20\")","type":"string"}},"required":["address","tokenAddress","spenderAddress"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Build an unsigned revoke transaction for a specific token approval"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Build an unsigned revoke transaction for a specific token approval","tags":["Tools (paid)"],"x-input-schema":{"properties":{"address":{"description":"Wallet address (0x…)","type":"string"},"chain":{"description":"Chain name (e.g. \"arbitrum\", \"ethereum\", \"polygon\"). Defaults to arbitrum.","type":"string"},"spenderAddress":{"description":"Spender contract address to revoke approval from","type":"string"},"tokenAddress":{"description":"Token contract address","type":"string"},"tokenType":{"description":"Token type: \"ERC-20\" or \"ERC-721\" (default: \"ERC-20\")","type":"string"}},"required":["address","tokenAddress","spenderAddress"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/token-categories/getCategories":{"post":{"description":"List token categories/sectors sorted by market cap, volume, or 24h change. Shows category size, performance, and top tokens. Paid duplicate of tool:sperax-token-categories.getCategories; same handler, paid per call instead of a session or API key. Source: api.coingecko.com.","operationId":"x402_toolsTokenCategoriesGetCategories","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"limit":{"default":20,"description":"Max categories to return (default 20)","type":"number"},"sortBy":{"default":"market_cap","description":"Sort by: market_cap, volume, or change","enum":["market_cap","volume","change"],"type":"string"}},"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"List token categories/sectors sorted by market cap, volume, or 24h change"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"List token categories/sectors sorted by market cap, volume, or 24h change","tags":["Tools (paid)"],"x-input-schema":{"properties":{"limit":{"default":20,"description":"Max categories to return (default 20)","type":"number"},"sortBy":{"default":"market_cap","description":"Sort by: market_cap, volume, or change","enum":["market_cap","volume","change"],"type":"string"}},"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/token-categories/getCategorySummary":{"post":{"description":"Get a summary of token categories: top gaining sectors, top losing sectors, and largest by market cap. Paid duplicate of tool:sperax-token-categories.getCategorySummary; same handler, paid per call instead of a session or API key. Source: api.coingecko.com.","operationId":"x402_toolsTokenCategoriesGetCategorySummary","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{},"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get a summary of token categories: top gaining sectors, top losing sectors, and largest by market cap"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get a summary of token categories: top gaining sectors, top losing sectors, and largest by market cap","tags":["Tools (paid)"],"x-input-schema":{"properties":{},"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/tools/token-categories/getCategoryTokens":{"post":{"description":"Get the top tokens in a specific category/sector. Returns token prices, 24h changes, and market caps. Paid duplicate of tool:sperax-token-categories.getCategoryTokens; same handler, paid per call instead of a session or API key. Source: api.coingecko.com.","operationId":"x402_toolsTokenCategoriesGetCategoryTokens","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"categoryId":{"description":"Category slug (e.g. \"layer-1\", \"decentralized-finance-defi\", \"meme-token\", \"artificial-intelligence\")","type":"string"},"limit":{"default":20,"description":"Max tokens to return (default 20)","type":"number"}},"required":["categoryId"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get the top tokens in a specific category/sector"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get the top tokens in a specific category/sector","tags":["Tools (paid)"],"x-input-schema":{"properties":{"categoryId":{"description":"Category slug (e.g. \"layer-1\", \"decentralized-finance-defi\", \"meme-token\", \"artificial-intelligence\")","type":"string"},"limit":{"default":20,"description":"Max tokens to return (default 20)","type":"number"}},"required":["categoryId"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/token-emissions/getEmissionsSchedule":{"post":{"description":"Get token emission schedule and supply breakdown (circulating, total, max). Shows percent circulating and FDV. Paid duplicate of tool:sperax-token-emissions.getEmissionsSchedule; same handler, paid per call instead of a session or API key. Source: api.coingecko.com.","operationId":"x402_toolsTokenEmissionsGetEmissionsSchedule","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"token":{"description":"CoinGecko token ID (e.g. \"bitcoin\", \"ethereum\", \"arbitrum\")","type":"string"}},"required":["token"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get token emission schedule and supply breakdown (circulating, total, max)"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get token emission schedule and supply breakdown (circulating, total, max)","tags":["Tools (paid)"],"x-input-schema":{"properties":{"token":{"description":"CoinGecko token ID (e.g. \"bitcoin\", \"ethereum\", \"arbitrum\")","type":"string"}},"required":["token"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/token-emissions/getEmissionsSummary":{"post":{"description":"Compare supply distribution across multiple tokens. Shows which tokens have the most/least supply circulating. Paid duplicate of tool:sperax-token-emissions.getEmissionsSummary; same handler, paid per call instead of a session or API key. Source: api.coingecko.com.","operationId":"x402_toolsTokenEmissionsGetEmissionsSummary","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"tokens":{"description":"List of CoinGecko token IDs to compare (default: top 10 by market cap)","items":{"type":"string"},"type":"array"}},"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Compare supply distribution across multiple tokens"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Compare supply distribution across multiple tokens","tags":["Tools (paid)"],"x-input-schema":{"properties":{"tokens":{"description":"List of CoinGecko token IDs to compare (default: top 10 by market cap)","items":{"type":"string"},"type":"array"}},"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/tools/token-emissions/getTokenSupplyInfo":{"post":{"description":"Get supply metrics for a specific token: circulating supply, total supply, max supply, FDV, and inflation rate. Paid duplicate of tool:sperax-token-emissions.getTokenSupplyInfo; same handler, paid per call instead of a session or API key. Source: api.coingecko.com.","operationId":"x402_toolsTokenEmissionsGetTokenSupplyInfo","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"token":{"description":"CoinGecko token ID","type":"string"}},"required":["token"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get supply metrics for a specific token: circulating supply, total supply, max supply, FDV, and inflation rate"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get supply metrics for a specific token: circulating supply, total supply, max supply, FDV, and inflation rate","tags":["Tools (paid)"],"x-input-schema":{"properties":{"token":{"description":"CoinGecko token ID","type":"string"}},"required":["token"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/token-unlocks/getProtocolUnlocks":{"post":{"description":"Get the full unlock/vesting schedule for a specific protocol. Pass the protocol name or slug (e.g. \"arbitrum\", \"optimism\", \"aptos\"). Paid duplicate of tool:sperax-token-unlocks.getProtocolUnlocks; same handler, paid per call instead of a session or API key. Source: api.llama.fi.","operationId":"x402_toolsTokenUnlocksGetProtocolUnlocks","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"protocol":{"description":"Protocol name or DefiLlama slug (e.g. \"arbitrum\", \"optimism\", \"sui\").","type":"string"}},"required":["protocol"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get the full unlock/vesting schedule for a specific protocol"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get the full unlock/vesting schedule for a specific protocol","tags":["Tools (paid)"],"x-input-schema":{"properties":{"protocol":{"description":"Protocol name or DefiLlama slug (e.g. \"arbitrum\", \"optimism\", \"sui\").","type":"string"}},"required":["protocol"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/token-unlocks/getUnlockSummary":{"post":{"description":"Get an aggregated summary of token unlocks within a time window — total value, event count, largest single unlock, and breakdown by category. Paid duplicate of tool:sperax-token-unlocks.getUnlockSummary; same handler, paid per call instead of a session or API key. Source: api.llama.fi.","operationId":"x402_toolsTokenUnlocksGetUnlockSummary","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"days":{"description":"Number of days to summarize (default: 30). Use 7 for a weekly view.","type":"number"}},"required":[],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get an aggregated summary of token unlocks within a time window — total value, event count, largest single unlock, and breakdown by category"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get an aggregated summary of token unlocks within a time window — total value, event count, largest single unlock, and breakdown by category","tags":["Tools (paid)"],"x-input-schema":{"properties":{"days":{"description":"Number of days to summarize (default: 30). Use 7 for a weekly view.","type":"number"}},"required":[],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/tools/token-unlocks/getUpcomingUnlocks":{"post":{"description":"Get upcoming token unlock events across all protocols. Returns unlock date, token, amount, USD value, and percent of supply. Useful for identifying potential sell pressure. Paid duplicate of tool:sperax-token-unlocks.getUpcomingUnlocks; same handler, paid per call instead of a session or API key. Source: api.llama.fi.","operationId":"x402_toolsTokenUnlocksGetUpcomingUnlocks","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"days":{"description":"Number of days to look ahead (default: 30). Use 7 for short-term, 90 for longer view.","type":"number"},"minValueUsd":{"description":"Minimum USD value to include (default: 1000000). Increase to filter small unlocks.","type":"number"}},"required":[],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get upcoming token unlock events across all protocols"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get upcoming token unlock events across all protocols","tags":["Tools (paid)"],"x-input-schema":{"properties":{"days":{"description":"Number of days to look ahead (default: 30). Use 7 for short-term, 90 for longer view.","type":"number"},"minValueUsd":{"description":"Minimum USD value to include (default: 1000000). Increase to filter small unlocks.","type":"number"}},"required":[],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/tradingview/analyzeChart":{"post":{"description":"Analyze a cryptocurrency chart with technical analysis. Returns RSI, MACD, support/resistance levels, and trend direction based on recent OHLCV data from CoinGecko. Example: analyzeChart({ symbol: \"BTC\" }) Paid duplicate of tool:sperax-tradingview.analyzeChart; same handler, paid per call instead of a session or API key. Source: api.coingecko.com.","operationId":"x402_toolsTradingviewAnalyzeChart","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"symbol":{"description":"Token symbol or name, e.g. \"BTC\", \"ETH\", \"SOL\".","type":"string"},"timeframe":{"description":"Analysis timeframe: \"1H\", \"4H\", \"D\" (default), \"W\"","type":"string"}},"required":["symbol"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Analyze a cryptocurrency chart with technical analysis"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Analyze a cryptocurrency chart with technical analysis","tags":["Tools (paid)"],"x-input-schema":{"properties":{"symbol":{"description":"Token symbol or name, e.g. \"BTC\", \"ETH\", \"SOL\".","type":"string"},"timeframe":{"description":"Analysis timeframe: \"1H\", \"4H\", \"D\" (default), \"W\"","type":"string"}},"required":["symbol"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/tools/tradingview/generatePineScript":{"post":{"description":"Generate a Pine Script v5 indicator or strategy for TradingView. Returns complete, ready-to-paste Pine Script code. Example: generatePineScript({ scriptType: \"ma_crossover\", symbol: \"BTCUSD\" }) Paid duplicate of tool:sperax-tradingview.generatePineScript; same handler, paid per call instead of a session or API key. Source: api.coingecko.com.","operationId":"x402_toolsTradingviewGeneratePineScript","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"includeAlerts":{"description":"Whether to include alert conditions (default: true)","type":"boolean"},"scriptType":{"description":"Type: ma_crossover, rsi_divergence, volume_profile, bollinger_squeeze, macd_histogram, supertrend, fear_greed","type":"string"},"symbol":{"description":"Trading pair, e.g. \"BTCUSD\", \"SPAUSD\", \"ETHUSD\"","type":"string"},"timeframe":{"description":"Timeframe context, e.g. \"1h\", \"4h\", \"1D\"","type":"string"}},"required":["scriptType"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Generate a Pine Script v5 indicator or strategy for TradingView"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Generate a Pine Script v5 indicator or strategy for TradingView","tags":["Tools (paid)"],"x-input-schema":{"properties":{"includeAlerts":{"description":"Whether to include alert conditions (default: true)","type":"boolean"},"scriptType":{"description":"Type: ma_crossover, rsi_divergence, volume_profile, bollinger_squeeze, macd_histogram, supertrend, fear_greed","type":"string"},"symbol":{"description":"Trading pair, e.g. \"BTCUSD\", \"SPAUSD\", \"ETHUSD\"","type":"string"},"timeframe":{"description":"Timeframe context, e.g. \"1h\", \"4h\", \"1D\"","type":"string"}},"required":["scriptType"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/vc-raises/getRaiseSummary":{"post":{"description":"Get aggregate fundraising summary: total raised, round count, average size, top categories, and most active investors. Paid duplicate of tool:sperax-vc-raises.getRaiseSummary; same handler, paid per call instead of a session or API key. Source: api.llama.fi.","operationId":"x402_toolsVcRaisesGetRaiseSummary","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"days":{"description":"Summarize the last N days (default: 30).","type":"number"}},"required":[],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get aggregate fundraising summary: total raised, round count, average size, top categories, and most active investors"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get aggregate fundraising summary: total raised, round count, average size, top categories, and most active investors","tags":["Tools (paid)"],"x-input-schema":{"properties":{"days":{"description":"Summarize the last N days (default: 30).","type":"number"}},"required":[],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/tools/vc-raises/getRecentRaises":{"post":{"description":"Get recent crypto/DeFi fundraising rounds. Optionally filter by category, time window, or minimum amount raised. Paid duplicate of tool:sperax-vc-raises.getRecentRaises; same handler, paid per call instead of a session or API key. Source: api.llama.fi.","operationId":"x402_toolsVcRaisesGetRecentRaises","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"category":{"description":"Filter by category (e.g. \"DeFi\", \"Infrastructure\", \"Gaming\", \"NFT\", \"L1\", \"L2\").","type":"string"},"days":{"description":"Look back N days (default: 30).","type":"number"},"minAmount":{"description":"Minimum fundraise amount in USD (default: 0).","type":"number"}},"required":[],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get recent crypto/DeFi fundraising rounds"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get recent crypto/DeFi fundraising rounds","tags":["Tools (paid)"],"x-input-schema":{"properties":{"category":{"description":"Filter by category (e.g. \"DeFi\", \"Infrastructure\", \"Gaming\", \"NFT\", \"L1\", \"L2\").","type":"string"},"days":{"description":"Look back N days (default: 30).","type":"number"},"minAmount":{"description":"Minimum fundraise amount in USD (default: 0).","type":"number"}},"required":[],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/vc-raises/searchRaises":{"post":{"description":"Search fundraising rounds by project name or investor name. Case-insensitive substring match. Paid duplicate of tool:sperax-vc-raises.searchRaises; same handler, paid per call instead of a session or API key. Source: api.llama.fi.","operationId":"x402_toolsVcRaisesSearchRaises","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"query":{"description":"Search query — project name (e.g. \"Uniswap\") or investor name (e.g. \"a16z\", \"Paradigm\").","type":"string"}},"required":["query"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Search fundraising rounds by project name or investor name"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Search fundraising rounds by project name or investor name","tags":["Tools (paid)"],"x-input-schema":{"properties":{"query":{"description":"Search query — project name (e.g. \"Uniswap\") or investor name (e.g. \"a16z\", \"Paradigm\").","type":"string"}},"required":["query"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/yield-optimizer/backtestStrategy":{"post":{"description":"Backtest a DeFi yield strategy using real historical APY data from DefiLlama. Simulates daily compounding from startDate to endDate, computes total return, gas costs, max drawdown, Sharpe ratio, and an optional impermanent loss estimate for LP pools. Answer questions like: \"If I had put $10k in Aave USDC on Arbitrum 6 months ago, what would I have now?\" Paid duplicate of tool:sperax-yield-optimizer.backtestStrategy; same handler, paid per call instead of a session or API key. Source: yields.llama.fi, yields.llama.fi (pools+chart).","operationId":"x402_toolsYieldOptimizerBacktestStrategy","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"amount":{"description":"Investment amount in USD (e.g. 10000).","type":"number"},"chain":{"description":"Optional chain hint (e.g. \"Arbitrum\").","type":"string"},"endDate":{"description":"End date ISO string (e.g. \"2026-03-17\").","type":"string"},"poolId":{"description":"DefiLlama pool UUID. If not known, use findOptimalYield first to discover pool IDs.","type":"string"},"startDate":{"description":"Start date ISO string (e.g. \"2025-09-17\").","type":"string"}},"required":["poolId","amount","startDate","endDate"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Backtest a DeFi yield strategy using real historical APY data from DefiLlama"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Backtest a DeFi yield strategy using real historical APY data from DefiLlama","tags":["Tools (paid)"],"x-input-schema":{"properties":{"amount":{"description":"Investment amount in USD (e.g. 10000).","type":"number"},"chain":{"description":"Optional chain hint (e.g. \"Arbitrum\").","type":"string"},"endDate":{"description":"End date ISO string (e.g. \"2026-03-17\").","type":"string"},"poolId":{"description":"DefiLlama pool UUID. If not known, use findOptimalYield first to discover pool IDs.","type":"string"},"startDate":{"description":"Start date ISO string (e.g. \"2025-09-17\").","type":"string"}},"required":["poolId","amount","startDate","endDate"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.02","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"heavy"}},"/api/x402/tools/yield-optimizer/compareToHodl":{"post":{"description":"Backtest a DeFi yield strategy AND compare it against a HODL (hold stablecoins at 0% APY) benchmark. Returns both results so users can directly compare: \"Was this yield strategy worth it vs just holding USDC?\" Paid duplicate of tool:sperax-yield-optimizer.compareToHodl; same handler, paid per call instead of a session or API key. Source: yields.llama.fi, yields.llama.fi (pools+chart).","operationId":"x402_toolsYieldOptimizerCompareToHodl","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"amount":{"description":"Investment amount in USD.","type":"number"},"endDate":{"description":"End date ISO string.","type":"string"},"poolId":{"description":"DefiLlama pool UUID.","type":"string"},"startDate":{"description":"Start date ISO string.","type":"string"}},"required":["poolId","amount","startDate","endDate"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Backtest a DeFi yield strategy AND compare it against a HODL (hold stablecoins at 0% APY) benchmark"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Backtest a DeFi yield strategy AND compare it against a HODL (hold stablecoins at 0% APY) benchmark","tags":["Tools (paid)"],"x-input-schema":{"properties":{"amount":{"description":"Investment amount in USD.","type":"number"},"endDate":{"description":"End date ISO string.","type":"string"},"poolId":{"description":"DefiLlama pool UUID.","type":"string"},"startDate":{"description":"Start date ISO string.","type":"string"}},"required":["poolId","amount","startDate","endDate"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.02","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"heavy"}},"/api/x402/tools/yield-optimizer/compareYieldPaths":{"post":{"description":"Compare yield paths side-by-side with detailed pros/cons analysis, risk metrics, and AI-powered recommendation. Paid duplicate of tool:sperax-yield-optimizer.compareYieldPaths; same handler, paid per call instead of a session or API key. Source: yields.llama.fi, yields.llama.fi (pools+chart).","operationId":"x402_toolsYieldOptimizerCompareYieldPaths","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"asset":{"description":"Asset to compare yields for.","type":"string"},"chains":{"description":"Specific chains to compare (optional).","items":{"type":"string"},"type":"array"},"protocols":{"description":"Specific protocols to compare (optional).","items":{"type":"string"},"type":"array"}},"required":["asset"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Compare yield paths side-by-side with detailed pros/cons analysis, risk metrics, and AI-powered recommendation"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Compare yield paths side-by-side with detailed pros/cons analysis, risk metrics, and AI-powered recommendation","tags":["Tools (paid)"],"x-input-schema":{"properties":{"asset":{"description":"Asset to compare yields for.","type":"string"},"chains":{"description":"Specific chains to compare (optional).","items":{"type":"string"},"type":"array"},"protocols":{"description":"Specific protocols to compare (optional).","items":{"type":"string"},"type":"array"}},"required":["asset"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/tools/yield-optimizer/findOptimalYield":{"post":{"description":"Find the best risk-adjusted yield opportunities across 10+ chains and 100+ protocols. Accounts for bridge costs, gas, protocol risk, IL risk, and reward sustainability. Returns scored and ranked routes. Paid duplicate of tool:sperax-yield-optimizer.findOptimalYield; same handler, paid per call instead of a session or API key. Source: yields.llama.fi, yields.llama.fi (pools+chart).","operationId":"x402_toolsYieldOptimizerFindOptimalYield","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"amount":{"description":"Amount in USD to deploy (e.g. 10000).","type":"number"},"asset":{"description":"Token or token pair to optimize yield for (e.g. \"USDC\", \"ETH\", \"ETH-USDC\").","type":"string"},"includeLeveraged":{"description":"Whether to include leveraged strategies. Default: false.","type":"boolean"},"minTvl":{"description":"Minimum pool TVL in USD. Default: 1000000.","type":"number"},"preferredChains":{"description":"Preferred chains to search (e.g. [\"arbitrum\", \"ethereum\"]). Empty = all chains.","items":{"type":"string"},"type":"array"},"riskTolerance":{"description":"Risk tolerance 1-5 (1=conservative stablecoins only, 5=aggressive degen). Default: 3.","type":"number"}},"required":["asset","amount"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Find the best risk-adjusted yield opportunities across 10+ chains and 100+ protocols"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Find the best risk-adjusted yield opportunities across 10+ chains and 100+ protocols","tags":["Tools (paid)"],"x-input-schema":{"properties":{"amount":{"description":"Amount in USD to deploy (e.g. 10000).","type":"number"},"asset":{"description":"Token or token pair to optimize yield for (e.g. \"USDC\", \"ETH\", \"ETH-USDC\").","type":"string"},"includeLeveraged":{"description":"Whether to include leveraged strategies. Default: false.","type":"boolean"},"minTvl":{"description":"Minimum pool TVL in USD. Default: 1000000.","type":"number"},"preferredChains":{"description":"Preferred chains to search (e.g. [\"arbitrum\", \"ethereum\"]). Empty = all chains.","items":{"type":"string"},"type":"array"},"riskTolerance":{"description":"Risk tolerance 1-5 (1=conservative stablecoins only, 5=aggressive degen). Default: 3.","type":"number"}},"required":["asset","amount"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/tools/yield-optimizer/getHistoricalYieldAnalysis":{"post":{"description":"Analyze historical APY data for a protocol/pool with statistical metrics (mean, median, std dev, reliability score, trend direction). Paid duplicate of tool:sperax-yield-optimizer.getHistoricalYieldAnalysis; same handler, paid per call instead of a session or API key. Source: yields.llama.fi, yields.llama.fi (pools+chart).","operationId":"x402_toolsYieldOptimizerGetHistoricalYieldAnalysis","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"days":{"description":"Number of days of history. Default: 30.","type":"number"},"pool":{"description":"Pool name or DefiLlama pool ID.","type":"string"},"protocol":{"description":"Protocol name (e.g. \"Aave V3\", \"Lido\").","type":"string"}},"required":["protocol","pool"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Analyze historical APY data for a protocol/pool with statistical metrics (mean, median, std dev, reliability score, trend direction)"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Analyze historical APY data for a protocol/pool with statistical metrics (mean, median, std dev, reliability score, trend direction)","tags":["Tools (paid)"],"x-input-schema":{"properties":{"days":{"description":"Number of days of history. Default: 30.","type":"number"},"pool":{"description":"Pool name or DefiLlama pool ID.","type":"string"},"protocol":{"description":"Protocol name (e.g. \"Aave V3\", \"Lido\").","type":"string"}},"required":["protocol","pool"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/tools/yield-optimizer/getYieldMigrationPlan":{"post":{"description":"Generate a step-by-step migration plan to move yield positions from one protocol/chain to another, including bridge routing, gas estimates, and breakeven analysis. Paid duplicate of tool:sperax-yield-optimizer.getYieldMigrationPlan; same handler, paid per call instead of a session or API key. Source: yields.llama.fi, yields.llama.fi (pools+chart).","operationId":"x402_toolsYieldOptimizerGetYieldMigrationPlan","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"fromAsset":{"description":"Current asset in the position.","type":"string"},"fromChain":{"description":"Current chain (e.g. \"ethereum\").","type":"string"},"fromProtocol":{"description":"Current protocol (e.g. \"Aave V3\").","type":"string"},"positionValue":{"description":"Current position value in USD.","type":"number"},"toChain":{"description":"Target chain (optional, AI suggests if omitted).","type":"string"},"toProtocol":{"description":"Target protocol (optional, AI suggests if omitted).","type":"string"}},"required":["fromProtocol","fromChain","fromAsset","positionValue"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Generate a step-by-step migration plan to move yield positions from one protocol/chain to another, including bridge routing, gas estimates, and breakeven analysis"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Generate a step-by-step migration plan to move yield positions from one protocol/chain to another, including bridge routing, gas estimates, and breakeven analysis","tags":["Tools (paid)"],"x-input-schema":{"properties":{"fromAsset":{"description":"Current asset in the position.","type":"string"},"fromChain":{"description":"Current chain (e.g. \"ethereum\").","type":"string"},"fromProtocol":{"description":"Current protocol (e.g. \"Aave V3\").","type":"string"},"positionValue":{"description":"Current position value in USD.","type":"number"},"toChain":{"description":"Target chain (optional, AI suggests if omitted).","type":"string"},"toProtocol":{"description":"Target protocol (optional, AI suggests if omitted).","type":"string"}},"required":["fromProtocol","fromChain","fromAsset","positionValue"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/tools/yield-optimizer/simulateYieldStrategy":{"post":{"description":"Simulate a yield strategy over a time horizon with bull/bear/base scenarios, optimal allocation, and risk-reward metrics (Sharpe ratio, max drawdown, Sortino). Paid duplicate of tool:sperax-yield-optimizer.simulateYieldStrategy; same handler, paid per call instead of a session or API key. Source: yields.llama.fi, yields.llama.fi (pools+chart).","operationId":"x402_toolsYieldOptimizerSimulateYieldStrategy","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"amount":{"description":"Investment amount in USD.","type":"number"},"horizonDays":{"description":"Time horizon in days (e.g. 30, 90, 365).","type":"number"},"pools":{"description":"Specific pools to include (optional). AI selects if omitted.","items":{"type":"string"},"type":"array"},"riskTolerance":{"description":"Risk tolerance 1-5. Default: 3.","type":"number"}},"required":["amount","horizonDays"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Simulate a yield strategy over a time horizon with bull/bear/base scenarios, optimal allocation, and risk-reward metrics (Sharpe ratio, max drawdown, Sortino)"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Simulate a yield strategy over a time horizon with bull/bear/base scenarios, optimal allocation, and risk-reward metrics (Sharpe ratio, max drawdown, Sortino)","tags":["Tools (paid)"],"x-input-schema":{"properties":{"amount":{"description":"Investment amount in USD.","type":"number"},"horizonDays":{"description":"Time horizon in days (e.g. 30, 90, 365).","type":"number"},"pools":{"description":"Specific pools to include (optional). AI selects if omitted.","items":{"type":"string"},"type":"array"},"riskTolerance":{"description":"Risk tolerance 1-5. Default: 3.","type":"number"}},"required":["amount","horizonDays"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.02","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"heavy"}},"/api/x402/tools/yield-vaults/deposit":{"post":{"description":"Deposit tokens into a yield vault. Returns an unsigned transaction for the user to sign in their wallet (non-custodial). May include an ERC-20 approval transaction if token allowance is insufficient. ONLY call after the user has explicitly confirmed the deposit. Paid duplicate of tool:sperax-yield-vaults.deposit; same handler, paid per call instead of a session or API key. Source: api.beefy.finance, ydaemon.yearn.fi, beefy, yearn, beefy/yearn (lookup).","operationId":"x402_toolsYieldVaultsDeposit","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"amount":{"description":"Amount to deposit in human-readable units (e.g. \"100.5\" for 100.5 USDC).","type":"string"},"chain":{"description":"Chain name (e.g. \"arbitrum\") or chain ID (e.g. \"42161\").","type":"string"},"vaultId":{"description":"Vault identifier to deposit into.","type":"string"},"walletAddress":{"description":"User wallet address (0x...).","type":"string"}},"required":["vaultId","amount","chain","walletAddress"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Deposit tokens into a yield vault"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Deposit tokens into a yield vault","tags":["Tools (paid)"],"x-input-schema":{"properties":{"amount":{"description":"Amount to deposit in human-readable units (e.g. \"100.5\" for 100.5 USDC).","type":"string"},"chain":{"description":"Chain name (e.g. \"arbitrum\") or chain ID (e.g. \"42161\").","type":"string"},"vaultId":{"description":"Vault identifier to deposit into.","type":"string"},"walletAddress":{"description":"User wallet address (0x...).","type":"string"}},"required":["vaultId","amount","chain","walletAddress"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/yield-vaults/getUserPositions":{"post":{"description":"Get the user's current vault positions across all protocols and chains. Shows deposited amounts, current value, earned yield, and APY for each position. Paid duplicate of tool:sperax-yield-vaults.getUserPositions; same handler, paid per call instead of a session or API key. Source: api.beefy.finance, ydaemon.yearn.fi, beefy, yearn, beefy/yearn (lookup).","operationId":"x402_toolsYieldVaultsGetUserPositions","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"chain":{"description":"Optional: filter positions by chain name.","type":"string"},"walletAddress":{"description":"User wallet address (0x...).","type":"string"}},"required":["walletAddress"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get the user's current vault positions across all protocols and chains"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get the user's current vault positions across all protocols and chains","tags":["Tools (paid)"],"x-input-schema":{"properties":{"chain":{"description":"Optional: filter positions by chain name.","type":"string"},"walletAddress":{"description":"User wallet address (0x...).","type":"string"}},"required":["walletAddress"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/tools/yield-vaults/getVaultDetails":{"post":{"description":"Get detailed information about a specific vault, including strategy description, fee breakdown (management, performance, deposit, withdrawal), and historical APY (7-day, 30-day). Paid duplicate of tool:sperax-yield-vaults.getVaultDetails; same handler, paid per call instead of a session or API key. Source: api.beefy.finance, ydaemon.yearn.fi, beefy, yearn, beefy/yearn (lookup).","operationId":"x402_toolsYieldVaultsGetVaultDetails","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"vaultId":{"description":"Unique vault identifier returned from getVaults.","type":"string"}},"required":["vaultId"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get detailed information about a specific vault, including strategy description, fee breakdown (management, performance, deposit, withdrawal), and historical APY (7-day, 30-day)"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get detailed information about a specific vault, including strategy description, fee breakdown (management, performance, deposit, withdrawal), and historical APY (7-day, 30-day)","tags":["Tools (paid)"],"x-input-schema":{"properties":{"vaultId":{"description":"Unique vault identifier returned from getVaults.","type":"string"}},"required":["vaultId"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/yield-vaults/getVaults":{"post":{"description":"Browse available yield vaults from Yearn V3 and Beefy Finance. Filter by chain, deposit token, minimum APY, and minimum TVL. Returns a list of vaults with APY, TVL, risk level, and audit status. Paid duplicate of tool:sperax-yield-vaults.getVaults; same handler, paid per call instead of a session or API key. Source: api.beefy.finance, ydaemon.yearn.fi, beefy, yearn, beefy/yearn (lookup).","operationId":"x402_toolsYieldVaultsGetVaults","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"chain":{"description":"Filter by chain name (e.g. \"ethereum\", \"arbitrum\", \"polygon\", \"base\", \"optimism\").","type":"string"},"minApy":{"description":"Minimum APY filter as a percentage (e.g. 3.0 = vaults with 3%+ APY).","type":"number"},"minTvl":{"description":"Minimum TVL filter in USD (e.g. 1000000 = vaults with $1M+ TVL). Higher TVL generally indicates more trust.","type":"number"},"token":{"description":"Filter by deposit token symbol (e.g. \"USDC\", \"ETH\", \"WETH\", \"DAI\").","type":"string"}},"required":[],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Browse available yield vaults from Yearn V3 and Beefy Finance"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Browse available yield vaults from Yearn V3 and Beefy Finance","tags":["Tools (paid)"],"x-input-schema":{"properties":{"chain":{"description":"Filter by chain name (e.g. \"ethereum\", \"arbitrum\", \"polygon\", \"base\", \"optimism\").","type":"string"},"minApy":{"description":"Minimum APY filter as a percentage (e.g. 3.0 = vaults with 3%+ APY).","type":"number"},"minTvl":{"description":"Minimum TVL filter in USD (e.g. 1000000 = vaults with $1M+ TVL). Higher TVL generally indicates more trust.","type":"number"},"token":{"description":"Filter by deposit token symbol (e.g. \"USDC\", \"ETH\", \"WETH\", \"DAI\").","type":"string"}},"required":[],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"aggregated"}},"/api/x402/tools/yield-vaults/withdraw":{"post":{"description":"Withdraw tokens from a yield vault. Returns an unsigned transaction for the user to sign. Use amount \"max\" for full withdrawal. ONLY call after the user has explicitly confirmed the withdrawal. Paid duplicate of tool:sperax-yield-vaults.withdraw; same handler, paid per call instead of a session or API key. Source: api.beefy.finance, ydaemon.yearn.fi, beefy, yearn, beefy/yearn (lookup).","operationId":"x402_toolsYieldVaultsWithdraw","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"amount":{"description":"Amount to withdraw in human-readable units, or \"max\" for full withdrawal.","type":"string"},"chain":{"description":"Chain name (e.g. \"arbitrum\") or chain ID (e.g. \"42161\").","type":"string"},"vaultId":{"description":"Vault identifier to withdraw from.","type":"string"},"walletAddress":{"description":"User wallet address (0x...).","type":"string"}},"required":["vaultId","amount","chain","walletAddress"],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Withdraw tokens from a yield vault"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Withdraw tokens from a yield vault","tags":["Tools (paid)"],"x-input-schema":{"properties":{"amount":{"description":"Amount to withdraw in human-readable units, or \"max\" for full withdrawal.","type":"string"},"chain":{"description":"Chain name (e.g. \"arbitrum\") or chain ID (e.g. \"42161\").","type":"string"},"vaultId":{"description":"Vault identifier to withdraw from.","type":"string"},"walletAddress":{"description":"User wallet address (0x...).","type":"string"}},"required":["vaultId","amount","chain","walletAddress"],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/zealy/getCommunityInfo":{"post":{"description":"Get basic information about a Zealy community — name, description, member count, and image. Paid duplicate of tool:sperax-zealy.getCommunityInfo; same handler, paid per call instead of a session or API key. Source: api-v2.zealy.io.","operationId":"x402_toolsZealyGetCommunityInfo","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"subdomain":{"description":"The community subdomain (last part of the Zealy URL, e.g. \"speraxos\" from zealy.io/cw/speraxos). Defaults to \"speraxos\".","type":"string"}},"required":[],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Get basic information about a Zealy community — name, description, member count, and image"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Get basic information about a Zealy community — name, description, member count, and image","tags":["Tools (paid)"],"x-input-schema":{"properties":{"subdomain":{"description":"The community subdomain (last part of the Zealy URL, e.g. \"speraxos\" from zealy.io/cw/speraxos). Defaults to \"speraxos\".","type":"string"}},"required":[],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/zealy/getLeaderboard":{"post":{"description":"Retrieve the community leaderboard showing top members ranked by XP. Supports all-time and sprint-specific leaderboards with pagination. Paid duplicate of tool:sperax-zealy.getLeaderboard; same handler, paid per call instead of a session or API key. Source: api-v2.zealy.io.","operationId":"x402_toolsZealyGetLeaderboard","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"limit":{"description":"Number of records per page (default: 50, max: 1000).","type":"number"},"page":{"description":"Page number for pagination (starts at 1).","type":"number"},"sprintId":{"description":"Sprint ID to get sprint-specific leaderboard. Omit for all-time leaderboard.","type":"string"},"subdomain":{"description":"Community subdomain. Defaults to \"speraxos\".","type":"string"}},"required":[],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Retrieve the community leaderboard showing top members ranked by XP"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Retrieve the community leaderboard showing top members ranked by XP","tags":["Tools (paid)"],"x-input-schema":{"properties":{"limit":{"description":"Number of records per page (default: 50, max: 1000).","type":"number"},"page":{"description":"Page number for pagination (starts at 1).","type":"number"},"sprintId":{"description":"Sprint ID to get sprint-specific leaderboard. Omit for all-time leaderboard.","type":"string"},"subdomain":{"description":"Community subdomain. Defaults to \"speraxos\".","type":"string"}},"required":[],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/zealy/getUser":{"post":{"description":"Look up a Zealy community member by user ID, wallet address, Discord handle, Twitter username, or email. Returns XP, rank, level, and connected accounts. Paid duplicate of tool:sperax-zealy.getUser; same handler, paid per call instead of a session or API key. Source: api-v2.zealy.io.","operationId":"x402_toolsZealyGetUser","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"blockchainAddress":{"description":"Blockchain wallet address to look up the user by. Use with blockchainNetwork for multi-chain.","type":"string"},"blockchainNetwork":{"description":"Blockchain network for the address lookup (e.g. \"eth-mainnet\", \"arb-mainnet\", \"sol-mainnet\").","type":"string"},"discordHandle":{"description":"Discord handle to look up the user by.","type":"string"},"discordId":{"description":"Discord ID (snowflake) to look up the user by.","type":"string"},"email":{"description":"Email address to look up the user by.","type":"string"},"ethAddress":{"description":"Ethereum wallet address to look up the user by.","type":"string"},"subdomain":{"description":"Community subdomain. Defaults to \"speraxos\".","type":"string"},"twitterId":{"description":"Twitter/X numeric ID to look up the user by.","type":"string"},"twitterUsername":{"description":"Twitter/X username to look up the user by.","type":"string"},"userId":{"description":"Zealy user ID (UUID) for direct lookup.","type":"string"}},"required":[],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"Look up a Zealy community member by user ID, wallet address, Discord handle, Twitter username, or email"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"Look up a Zealy community member by user ID, wallet address, Discord handle, Twitter username, or email","tags":["Tools (paid)"],"x-input-schema":{"properties":{"blockchainAddress":{"description":"Blockchain wallet address to look up the user by. Use with blockchainNetwork for multi-chain.","type":"string"},"blockchainNetwork":{"description":"Blockchain network for the address lookup (e.g. \"eth-mainnet\", \"arb-mainnet\", \"sol-mainnet\").","type":"string"},"discordHandle":{"description":"Discord handle to look up the user by.","type":"string"},"discordId":{"description":"Discord ID (snowflake) to look up the user by.","type":"string"},"email":{"description":"Email address to look up the user by.","type":"string"},"ethAddress":{"description":"Ethereum wallet address to look up the user by.","type":"string"},"subdomain":{"description":"Community subdomain. Defaults to \"speraxos\".","type":"string"},"twitterId":{"description":"Twitter/X numeric ID to look up the user by.","type":"string"},"twitterUsername":{"description":"Twitter/X username to look up the user by.","type":"string"},"userId":{"description":"Zealy user ID (UUID) for direct lookup.","type":"string"}},"required":[],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/zealy/listQuests":{"post":{"description":"List all quests in a Zealy community with their rewards, recurrence settings, and validation status. Requires admin access. Paid duplicate of tool:sperax-zealy.listQuests; same handler, paid per call instead of a session or API key. Source: api-v2.zealy.io.","operationId":"x402_toolsZealyListQuests","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"subdomain":{"description":"Community subdomain. Defaults to \"speraxos\".","type":"string"}},"required":[],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"List all quests in a Zealy community with their rewards, recurrence settings, and validation status"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"List all quests in a Zealy community with their rewards, recurrence settings, and validation status","tags":["Tools (paid)"],"x-input-schema":{"properties":{"subdomain":{"description":"Community subdomain. Defaults to \"speraxos\".","type":"string"}},"required":[],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}},"/api/x402/tools/zealy/listSprints":{"post":{"description":"List sprints (time-limited competitions) in a Zealy community. Includes active and past sprints with start/end dates and reward zones. Paid duplicate of tool:sperax-zealy.listSprints; same handler, paid per call instead of a session or API key. Source: api-v2.zealy.io.","operationId":"x402_toolsZealyListSprints","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"onlyCurrent":{"description":"If true, returns only the currently active sprint.","type":"boolean"},"subdomain":{"description":"Community subdomain. Defaults to \"speraxos\".","type":"string"}},"required":[],"type":"object","additionalProperties":false}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"The tool result as text, as an agent would read it","type":"string"},"state":{"additionalProperties":true,"description":"Structured result the tool produced alongside the text","type":"object"},"success":{"const":true,"type":"boolean"}},"required":["content","success"],"type":"object"}}},"description":"List sprints (time-limited competitions) in a Zealy community"},"400":{"description":"Invalid input for a paid request. Checked before the payment is verified; nothing is charged."},"402":{"description":"Payment Required: the PAYMENT-REQUIRED response header carries the base64-encoded x402 v2 PaymentRequired object; the JSON body mirrors it.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired object: { x402Version: 2, resource: { url, description, mimeType }, accepts: [{ scheme, network (CAIP-2), amount (atomic units), asset, payTo, maxTimeoutSeconds, extra }], extensions }","schema":{"type":"string","format":"byte"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"429":{"description":"Too many paid calls from the paying wallet. Nothing is charged."},"502":{"description":"The upstream failed or returned no data. The payment is verified but never settled; nothing is charged."},"503":{"description":"Not available on this deployment right now. No payment is requested."}},"security":[{"x402Payment":[]}],"summary":"List sprints (time-limited competitions) in a Zealy community","tags":["Tools (paid)"],"x-input-schema":{"properties":{"onlyCurrent":{"description":"If true, returns only the currently active sprint.","type":"boolean"},"subdomain":{"description":"Community subdomain. Defaults to \"speraxos\".","type":"string"}},"required":[],"type":"object","additionalProperties":false},"x-payment-info":{"price":{"amount":"0.001","currency":"USD","mode":"fixed"},"protocols":[{"x402":{"networks":["eip155:42161","eip155:8453"]}}]},"x-price-tier":"simple"}}},"tags":[{"name":"Markets","description":"Crypto market data — prices, volumes, market caps (x402 paid)"},{"name":"DeFi","description":"DeFi protocol data — yields, TVL, pools (x402 paid)"},{"name":"Sentiment","description":"Market sentiment indicators (x402 paid)"},{"name":"Identity","description":"Wallet-authenticated endpoints — free with SIWX proof"},{"name":"Agent Market","description":"Agent-to-agent capability market — every listing is priced and paid out by the agent selling it, not by the platform (x402 paid, per-listing terms)"},{"description":"Paid duplicate of the HQ command center data plane (/api/hq/*): conflict, hazards, aviation, maritime, energy and macro feeds","name":"HQ (paid duplicate)"},{"description":"Paid duplicate of the Intel API (/api/intel/*): market, DeFi, derivatives, on-chain and macro data","name":"Intel (paid duplicate)"},{"description":"Paid duplicates of SperaxOS data and AI routes: FRED, GDELT, UCDP, OpenSky, HDX, RSS, LLM summaries","name":"Data & AI (paid duplicate)"},{"description":"SperaxOS builtin agent tools, one paid call per tool API; the body is the tool manifest arguments","name":"Tools (paid)"},{"description":"Paid duplicate of the Data API (/api/v1/data/*), same { success, data, meta } envelope","name":"Data API (paid duplicate)"},{"description":"Paid duplicate of the ERC-8004 agent registry API (/api/v1/erc8004/*)","name":"ERC-8004 (paid duplicate)"}]}