{"openapi":"3.1.0","info":{"title":"AgentKit Data","version":"1.1.0","description":"Pay-per-call data APIs. Each call is paid with USDC on Base via x402 (HTTP 402). No account or API key.","x-guidance":"All paid routes are GET with query parameters. Call without payment to receive a 402 PAYMENT-REQUIRED challenge (x402 v2, exact scheme, USDC on Base), sign it with any x402 client and retry with PAYMENT-SIGNATURE. Use /v1/price for crypto/FX spot prices, /v1/evm/balances and /v1/solana/wallet for wallet holdings, /v1/evm/token-risk and /v1/solana/token-risk for token safety checks, /v1/markdown to turn a web page into clean Markdown."},"servers":[{"url":"https://x402-apis-production.up.railway.app"}],"paths":{"/v1/markdown":{"get":{"operationId":"markdown","summary":"Fetch any public web page and return clean, LLM-ready Markdown of the main content (boilerplate, nav and ads removed) plus title, byline, site name, language, publish date and word count. Optional absolute link list.","tags":["web","scrape","markdown"],"parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string"},"description":"Public http(s) URL to read","example":"https://example.com"},{"name":"maxChars","in":"query","required":false,"schema":{"type":"string"},"description":"Max Markdown characters returned (500-500000, default 100000)","example":"20000"},{"name":"links","in":"query","required":false,"schema":{"type":"string","enum":["true","false"]},"description":"Include absolute link list","example":"false"}],"x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"network":"eip155:8453","payTo":"0xd9784f8122af988E51b3183F725b0b53BCb8278A"},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"finalUrl":{"type":"string"},"status":{"type":"number"},"title":{"type":"string"},"byline":{},"siteName":{},"lang":{"type":"string"},"publishedTime":{},"excerpt":{"type":"string"},"wordCount":{"type":"number"},"markdown":{"type":"string"},"truncated":{"type":"boolean"},"fetchedAt":{"type":"string"}}},"example":{"url":"https://example.com","finalUrl":"https://example.com/","status":200,"title":"Example Domain","byline":null,"siteName":null,"lang":"en","publishedTime":null,"excerpt":"This domain is for use in documentation examples...","wordCount":19,"markdown":"This domain is for use in documentation examples without needing permission...","truncated":false,"fetchedAt":"2026-10-23T12:00:00.000Z"}}}},"402":{"description":"Payment Required: $0.005 USDC"}}}},"/v1/solana/token-risk":{"get":{"operationId":"solana_token_risk","summary":"Solana SPL / Token-2022 mint safety check: mint and freeze authority, risky Token-2022 extensions (permanent delegate, transfer hook, transfer fee, non-transferable), metadata mutability, top-10 holder concentration with program/pool detection, price and liquidity, 0-100 score and flags.","tags":["solana","token","risk"],"parameters":[{"name":"mint","in":"query","required":true,"schema":{"type":"string"},"description":"Base58 token mint address","example":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"}],"x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"network":"eip155:8453","payTo":"0xd9784f8122af988E51b3183F725b0b53BCb8278A"},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"mint":{"type":"string"},"program":{"type":"string"},"decimals":{"type":"number"},"supply":{"type":"number"},"mintAuthority":{"type":"string"},"freezeAuthority":{"type":"string"},"extensions":{"type":"array","items":{}},"metadata":{"type":"object","properties":{"source":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"},"isMutable":{"type":"boolean"}}},"price":{"type":"object","properties":{"usd":{"type":"number"},"liquidityUsd":{"type":"number"}}},"score":{"type":"number"},"riskLevel":{"type":"string"},"knownIssuer":{"type":"string"},"flags":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string"},"severity":{"type":"string"},"detail":{"type":"string"}}}}}},"example":{"mint":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","program":"spl-token","decimals":6,"supply":7780804905.35,"mintAuthority":"BJE5MMbqXjVwjAF7oxwPYXnTXDyspzZyt4vwenNw5ruG","freezeAuthority":"7dGbd2QZcCKcTndnHcTL8q7SMVXAkp688NTQYwrRCrar","extensions":[],"metadata":{"source":"metaplex","name":"USD Coin","symbol":"USDC","isMutable":true},"price":{"usd":0.9996,"liquidityUsd":431532202},"score":35,"riskLevel":"low","knownIssuer":"USDC (Circle)","flags":[{"code":"MINT_AUTHORITY_ACTIVE","severity":"high","detail":"Supply can still be inflated by ..."}]}}}},"402":{"description":"Payment Required: $0.02 USDC"}}}},"/v1/solana/wallet":{"get":{"operationId":"solana_wallet","summary":"Solana wallet portfolio snapshot: SOL balance plus every SPL and Token-2022 holding aggregated by mint, with USD price, USD value, frozen status and total portfolio value, sorted by value.","tags":["solana","wallet","portfolio"],"parameters":[{"name":"address","in":"query","required":true,"schema":{"type":"string"},"description":"Base58 wallet address","example":"vines1vzrYbzLMRdu58ou5XTby4qAqVRLmqo36NKPTg"},{"name":"limit","in":"query","required":false,"schema":{"type":"string"},"description":"Max tokens returned (1-500, default 100)","example":"100"},{"name":"includeZero","in":"query","required":false,"schema":{"type":"string","enum":["true","false"]},"description":"Include empty token accounts"}],"x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"network":"eip155:8453","payTo":"0xd9784f8122af988E51b3183F725b0b53BCb8278A"},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"address":{"type":"string"},"sol":{"type":"object","properties":{"amount":{"type":"number"},"usdPrice":{"type":"number"},"usdValue":{"type":"number"}}},"tokenCount":{"type":"number"},"tokens":{"type":"array","items":{"type":"object","properties":{"mint":{"type":"string"},"program":{"type":"string"},"amount":{"type":"number"},"decimals":{"type":"number"},"accounts":{"type":"number"},"frozen":{"type":"boolean"},"usdPrice":{"type":"number"},"usdValue":{"type":"number"}}}},"totalUsdValue":{"type":"number"},"pricedTokens":{"type":"number"}}},"example":{"address":"vines1vzrYbzLMRdu58ou5XTby4qAqVRLmqo36NKPTg","sol":{"amount":1.25,"usdPrice":104.2,"usdValue":130.25},"tokenCount":1,"tokens":[{"mint":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","program":"spl-token","amount":50,"decimals":6,"accounts":1,"frozen":false,"usdPrice":1,"usdValue":50}],"totalUsdValue":180.25,"pricedTokens":1}}}},"402":{"description":"Payment Required: $0.01 USDC"}}}},"/v1/evm/token-risk":{"get":{"operationId":"evm_token_risk","summary":"Base / Ethereum ERC-20 token safety check: name, symbol, supply, owner (renounced or not), EIP-1967 upgradeable proxy detection, privileged functions found in bytecode (mint, blacklist, pause, fee/max-tx setters, trading switch), DEX liquidity, 24h buys vs sells, pair age, 0-100 risk score and flags.","tags":["base","ethereum","erc20"],"parameters":[{"name":"address","in":"query","required":true,"schema":{"type":"string"},"description":"ERC-20 token contract address (0x...)","example":"0x4ed4E862860beD51a9570b96d89aF5E1B0Efefed"},{"name":"chain","in":"query","required":false,"schema":{"type":"string","enum":["base","ethereum"]},"description":"Chain (default base)","example":"base"}],"x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"network":"eip155:8453","payTo":"0xd9784f8122af988E51b3183F725b0b53BCb8278A"},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"address":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"totalSupply":{"type":"number"},"owner":{"type":"string"},"proxy":{},"paused":{},"privilegedFunctions":{"type":"array","items":{"type":"string"}},"market":{"type":"object","properties":{"dex":{"type":"string"},"priceUsd":{"type":"number"},"liquidityUsd":{"type":"number"},"volume24hUsd":{"type":"number"},"buys24h":{"type":"number"},"sells24h":{"type":"number"},"pairAgeHours":{"type":"number"}}},"knownIssuer":{},"score":{"type":"number"},"riskLevel":{"type":"string"},"flags":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string"},"severity":{"type":"string"},"detail":{"type":"string"}}}}}},"example":{"chain":"base","address":"0x4ed4e862860bed51a9570b96d89af5e1b0efefed","name":"Degen","symbol":"DEGEN","decimals":18,"totalSupply":36965932338.7,"owner":"0x0000000000000000000000000000000000000000","proxy":null,"paused":null,"privilegedFunctions":["mint(address,uint256)"],"market":{"dex":"uniswap","priceUsd":0.00087,"liquidityUsd":1250000,"volume24hUsd":21571,"buys24h":465,"sells24h":457,"pairAgeHours":14000},"knownIssuer":null,"score":10,"riskLevel":"low","flags":[{"code":"MINT_FUNCTION","severity":"medium","detail":"Contract exposes a mint function; supply may be inflatable."}]}}}},"402":{"description":"Payment Required: $0.02 USDC"}}}},"/v1/evm/balances":{"get":{"operationId":"evm_balances","summary":"Live wallet balances on Base or Ethereum: native ETH plus major tokens (USDC, USDT, DAI, WETH, cbBTC, ...) and up to 20 extra ERC-20s you pass, with USD prices, USD values and portfolio total, in one call.","tags":["base","ethereum","wallet"],"parameters":[{"name":"address","in":"query","required":true,"schema":{"type":"string"},"description":"Wallet address (0x...)","example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"},{"name":"chain","in":"query","required":false,"schema":{"type":"string","enum":["base","ethereum"]},"description":"Chain (default base)","example":"base"},{"name":"tokens","in":"query","required":false,"schema":{"type":"string"},"description":"Optional comma-separated extra ERC-20 contract addresses (max 20)","example":""}],"x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.003"},"network":"eip155:8453","payTo":"0xd9784f8122af988E51b3183F725b0b53BCb8278A"},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"address":{"type":"string"},"block":{"type":"string"},"native":{"type":"object","properties":{"symbol":{"type":"string"},"amount":{"type":"number"},"usdPrice":{"type":"number"},"usdValue":{"type":"number"}}},"tokens":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"amount":{"type":"number"},"usdPrice":{"type":"number"},"usdValue":{"type":"number"}}}},"totalUsdValue":{"type":"number"}}},"example":{"chain":"base","address":"0xd8da6bf26964af9d7eed9e03e53415d37aa96045","block":"53328999","native":{"symbol":"ETH","amount":0.42,"usdPrice":2245.1,"usdValue":942.94},"tokens":[{"address":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","symbol":"USDC","decimals":6,"amount":120.5,"usdPrice":1,"usdValue":120.5}],"totalUsdValue":1063.44}}}},"402":{"description":"Payment Required: $0.003 USDC"}}}},"/v1/price":{"get":{"operationId":"price","summary":"Spot USD prices for up to 50 tickers in one call: crypto (BTC, ETH, SOL, USDC, ...) and fiat FX (EUR, GBP, JPY, ...). Returns USD per unit and units per USD, refreshed every 30 seconds.","tags":["price","crypto","fx"],"parameters":[{"name":"symbols","in":"query","required":true,"schema":{"type":"string"},"description":"Comma-separated tickers, e.g. BTC,ETH,SOL,EUR (max 50)","example":"BTC,ETH,SOL,EUR,GBP"}],"x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.001"},"network":"eip155:8453","payTo":"0xd9784f8122af988E51b3183F725b0b53BCb8278A"},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"base":{"type":"string"},"prices":{"type":"object","properties":{"BTC":{"type":"object","properties":{"usd":{"type":"number"},"perUsd":{"type":"number"}}},"EUR":{"type":"object","properties":{"usd":{"type":"number"},"perUsd":{"type":"number"}}}}},"unknown":{"type":"array","items":{}},"source":{"type":"string"},"asOf":{"type":"string"}}},"example":{"base":"USD","prices":{"BTC":{"usd":109000.5,"perUsd":0.00000917},"EUR":{"usd":1.16,"perUsd":0.862}},"unknown":[],"source":"Coinbase exchange rates","asOf":"2026-10-31T10:50:00.000Z"}}}},"402":{"description":"Payment Required: $0.001 USDC"}}}},"/health":{"get":{"operationId":"health","summary":"Health check","security":[],"responses":{"200":{"description":"OK"}}}},"/llms.txt":{"get":{"operationId":"llms_txt","summary":"Agent guide (plain text)","security":[],"responses":{"200":{"description":"OK"}}}},"/.well-known/x402":{"get":{"operationId":"x402_resources","summary":"x402 resource list","security":[],"responses":{"200":{"description":"OK"}}}}}}