{"openapi":"3.1.0","info":{"title":"GrokBot paid API (x402)","version":"1.3.0","description":"Pay-per-call endpoints on Base mainnet via x402. No API key; pay per request in USDC.","x-guidance":"GET /api/base/token-check?token=<Base ERC-20 address> returns a deterministic pre-trade risk check (owner, proxy, risky selectors, pools, honeypot simulation, 0-100 score). GET /api/research?address=<Base address> returns a live wallet snapshot (ETH/USDC balances with USD quotes, base fee, nonce, EOA vs contract, recent USDC flows). Both answer 402 with a PAYMENT-REQUIRED header (x402 v2, exact scheme, USDC on Base eip155:8453); retry with a PAYMENT-SIGNATURE header. Invalid input after payment verification returns 400 and the payment is not settled.","contact":{"name":"GrokBot (Los 3 Amigos)","url":"https://grokbot-dashboard.a3migos.workers.dev"}},"servers":[{"url":"https://grokbot-dashboard.a3migos.workers.dev"}],"externalDocs":{"description":"Plain-text overview for LLM agents","url":"https://grokbot-dashboard.a3migos.workers.dev/llms.txt"},"tags":[{"name":"Base onchain","description":"Live Base mainnet reads, paid per call with x402"}],"paths":{"/api/research":{"get":{"operationId":"walletResearch","summary":"Base wallet research (pay-per-call)","description":"Live Base mainnet wallet research for any address: ETH and USDC balances with USD quotes (CoinGecko, Coinbase fallback), base-fee gas, nonce (tx count), EOA vs contract, and recent USDC in/out with counterparty count, from public Base RPC and free market data at request time. Paid per call in USDC via x402 (exact scheme, Base). Invalid input returns 400 after payment verification and the payment is not settled. Not financial advice.","parameters":[{"name":"address","in":"query","required":true,"schema":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"Base mainnet address to research"},"example":"0x3687c765a3e56d4c2cf5edc71456946fbea8c9ce"}],"tags":["Base onchain"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{"version":2,"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"10000","payTo":"0x3687c765a3e56d4c2cf5edc71456946fbea8c9ce"}}]},"x-x402":{"enabled":true,"scheme":"exact","network":"eip155:8453","price":"$0.01","amount":"10000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","assetSymbol":"USDC","payTo":"0x3687c765a3e56d4c2cf5edc71456946fbea8c9ce","maxTimeoutSeconds":120,"facilitator":"https://api.cdp.coinbase.com/platform/v2/x402","x402Version":2,"paymentHeaders":["PAYMENT-SIGNATURE","X-PAYMENT"]},"x-bazaar":{"description":"Live Base mainnet wallet research for any address: ETH and USDC balances with USD quotes (CoinGecko, Coinbase fallback), base-fee gas, nonce (tx count), EOA vs contract, and recent USDC in/out with counterparty count, from public Base RPC and free market data at request time. Paid per call in USDC via x402 (exact scheme, Base). Invalid input returns 400 after payment verification and the payment is not settled. Not financial advice.","input":{"type":"http","method":"GET","queryParams":{"address":"0x3687c765a3e56d4c2cf5edc71456946fbea8c9ce"}},"inputSchema":{"type":"object","properties":{"address":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"Base mainnet address to research"}},"required":["address"]},"output":{"type":"json","example":{"product":"grokbot.wallet-summary","version":2,"chain":{"id":8453,"name":"Base mainnet"},"address":"0x3687c765a3e56d4c2cf5edc71456946fbea8c9ce","block":52796144,"isContract":false,"nonce":0,"balances":{"eth":0.01,"usdc":5.88,"ethUsd":23.95,"usdcUsd":5.88,"totalUsd":29.83},"market":{"ethUsd":2395.27,"ethUsd24hChange":0.8022,"source":"coingecko","fetchedAt":"2026-10-19T15:55:00.000Z"},"gas":{"baseFeeWei":"5000000","baseFeeGwei":0.005},"recentActivity":{"window":"1h","source":"eth_getLogs","usdcIn":0,"usdcOut":0,"transfers":0,"counterparties":0},"sources":["eth_getBalance","eth_getTransactionCount","eth_getCode","USDC.balanceOf","eth_getLogs","coinbase_spot_eth_usd","eth_getBlockByNumber.baseFeePerGas"]}},"outputSchema":{"type":"object","properties":{"product":{"type":"string"},"version":{"type":"integer"},"chain":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}}},"address":{"type":"string"},"generatedAt":{"type":"string","format":"date-time"},"block":{"type":"integer"},"isContract":{"type":"boolean"},"nonce":{"type":"integer"},"balances":{"type":"object","properties":{"eth":{"type":"number"},"usdc":{"type":"number"},"ethUsd":{"type":["number","null"]},"usdcUsd":{"type":["number","null"]},"totalUsd":{"type":["number","null"]}}},"market":{"type":["object","null"]},"gas":{"type":["object","null"]},"tokens":{"type":["array","null"]},"recentActivity":{"type":["object","null"]},"sources":{"type":"array","items":{"type":"string"}},"notes":{"type":"array","items":{"type":"string"}}},"required":["product","address","block","balances","version"]},"exampleRequest":"https://grokbot-dashboard.a3migos.workers.dev/api/research?address=0x3687c765a3e56d4c2cf5edc71456946fbea8c9ce"},"responses":{"200":{"description":"Result (paid). PAYMENT-RESPONSE header carries the settlement receipt.","content":{"application/json":{"schema":{"type":"object","properties":{"product":{"type":"string"},"version":{"type":"integer"},"chain":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}}},"address":{"type":"string"},"generatedAt":{"type":"string","format":"date-time"},"block":{"type":"integer"},"isContract":{"type":"boolean"},"nonce":{"type":"integer"},"balances":{"type":"object","properties":{"eth":{"type":"number"},"usdc":{"type":"number"},"ethUsd":{"type":["number","null"]},"usdcUsd":{"type":["number","null"]},"totalUsd":{"type":["number","null"]}}},"market":{"type":["object","null"]},"gas":{"type":["object","null"]},"tokens":{"type":["array","null"]},"recentActivity":{"type":["object","null"]},"sources":{"type":"array","items":{"type":"string"}},"notes":{"type":"array","items":{"type":"string"}}},"required":["product","address","block","balances","version"]},"example":{"product":"grokbot.wallet-summary","version":2,"chain":{"id":8453,"name":"Base mainnet"},"address":"0x3687c765a3e56d4c2cf5edc71456946fbea8c9ce","block":52796144,"isContract":false,"nonce":0,"balances":{"eth":0.01,"usdc":5.88,"ethUsd":23.95,"usdcUsd":5.88,"totalUsd":29.83},"market":{"ethUsd":2395.27,"ethUsd24hChange":0.8022,"source":"coingecko","fetchedAt":"2026-10-19T15:55:00.000Z"},"gas":{"baseFeeWei":"5000000","baseFeeGwei":0.005},"recentActivity":{"window":"1h","source":"eth_getLogs","usdcIn":0,"usdcOut":0,"transfers":0,"counterparties":0},"sources":["eth_getBalance","eth_getTransactionCount","eth_getCode","USDC.balanceOf","eth_getLogs","coinbase_spot_eth_usd","eth_getBlockByNumber.baseFeePerGas"]}}}},"400":{"description":"Invalid input after payment verification. The payment is not settled."},"402":{"description":"Payment required. PAYMENT-REQUIRED header (base64 JSON) and the JSON body list the accepted payment terms."},"409":{"description":"Payment payload already used for a different request, or still being processed."},"503":{"description":"Paid API disabled or misconfigured."}}}},"/api/base/token-check":{"get":{"operationId":"baseTokenCheck","summary":"Base token safety check (pay-per-call)","description":"Pre-trade safety check for a Base ERC-20, from GrokBot's own on-chain reads: contract and ERC-20 metadata, owner and renounce status, EIP-1967/legacy proxy slots, risky selectors in bytecode (mint, blacklist, fee setters, pause, max-tx), USDC/WETH pools on Uniswap V2/V3 and Aerodrome with rough USD liquidity, an eth_call buy/sell honeypot simulation, and a 0-100 risk score with reasons. Paid per call in USDC via x402. Not financial advice.","parameters":[{"name":"token","in":"query","required":true,"schema":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"Base ERC-20 token contract address"},"example":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"}],"tags":["Base onchain"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{"version":2,"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"10000","payTo":"0x3687c765a3e56d4c2cf5edc71456946fbea8c9ce"}}]},"x-x402":{"enabled":true,"scheme":"exact","network":"eip155:8453","price":"$0.01","amount":"10000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","assetSymbol":"USDC","payTo":"0x3687c765a3e56d4c2cf5edc71456946fbea8c9ce","maxTimeoutSeconds":120,"facilitator":"https://api.cdp.coinbase.com/platform/v2/x402","x402Version":2,"paymentHeaders":["PAYMENT-SIGNATURE","X-PAYMENT"]},"x-bazaar":{"description":"Pre-trade safety check for a Base ERC-20, from GrokBot's own on-chain reads: contract and ERC-20 metadata, owner and renounce status, EIP-1967/legacy proxy slots, risky selectors in bytecode (mint, blacklist, fee setters, pause, max-tx), USDC/WETH pools on Uniswap V2/V3 and Aerodrome with rough USD liquidity, an eth_call buy/sell honeypot simulation, and a 0-100 risk score with reasons. Paid per call in USDC via x402. Not financial advice.","input":{"type":"http","method":"GET","queryParams":{"token":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"}},"inputSchema":{"type":"object","properties":{"token":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"Base ERC-20 token contract address"}},"required":["token"]},"output":{"type":"json","example":{"product":"grokbot.base-token-check","version":1,"chain":{"id":8453,"name":"Base mainnet"},"token":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","isContract":true,"bytecodeSize":1852,"erc20":{"name":"USD Coin","symbol":"USDC","decimals":6,"totalSupply":4331098982.44},"ownership":{"owner":"0x3abd6f64a422225e61e435bae41db12096106df7","renounced":false},"proxy":{"isProxy":true,"standard":"OpenZeppelin legacy (zos) proxy"},"riskySelectors":{"present":{"mint":{"status":"selector present"},"blacklist":{"status":"selector present"},"pause":{"status":"selector present"}}},"liquidity":{"poolCount":6,"totalEstUsd":193363155},"honeypot":{"status":"ok","buyTaxPct":0,"sellTaxPct":0},"score":53,"verdict":"medium","factors":[{"points":15,"factor":"upgradeable proxy: the token code can be changed by its admin"}],"checked":["contract code + bytecode size"],"notChecked":[{"item":"full holder concentration (top holders)","reason":"needs a holder index"}],"disclaimer":"Automated on-chain heuristics, not financial advice."}},"outputSchema":{"type":"object","properties":{"product":{"type":"string"},"token":{"type":"string"},"block":{"type":"integer"},"isContract":{"type":"boolean"},"bytecodeSize":{"type":"integer"},"erc20":{"type":"object"},"ownership":{"type":"object"},"proxy":{"type":"object"},"riskySelectors":{"type":"object"},"liquidity":{"type":"object"},"knownHolders":{"type":"object"},"honeypot":{"type":"object"},"score":{"type":"integer","minimum":0,"maximum":100},"verdict":{"type":"string","enum":["low","medium","high"]},"factors":{"type":"array","items":{"type":"object","properties":{"points":{"type":"integer"},"factor":{"type":"string"}}}},"checked":{"type":"array","items":{"type":"string"}},"notChecked":{"type":"array","items":{"type":"object"}},"disclaimer":{"type":"string"},"cached":{"type":"boolean"}},"required":["product","token","isContract","score","verdict","factors","disclaimer"]},"exampleRequest":"https://grokbot-dashboard.a3migos.workers.dev/api/base/token-check?token=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"},"responses":{"200":{"description":"Result (paid). PAYMENT-RESPONSE header carries the settlement receipt.","content":{"application/json":{"schema":{"type":"object","properties":{"product":{"type":"string"},"token":{"type":"string"},"block":{"type":"integer"},"isContract":{"type":"boolean"},"bytecodeSize":{"type":"integer"},"erc20":{"type":"object"},"ownership":{"type":"object"},"proxy":{"type":"object"},"riskySelectors":{"type":"object"},"liquidity":{"type":"object"},"knownHolders":{"type":"object"},"honeypot":{"type":"object"},"score":{"type":"integer","minimum":0,"maximum":100},"verdict":{"type":"string","enum":["low","medium","high"]},"factors":{"type":"array","items":{"type":"object","properties":{"points":{"type":"integer"},"factor":{"type":"string"}}}},"checked":{"type":"array","items":{"type":"string"}},"notChecked":{"type":"array","items":{"type":"object"}},"disclaimer":{"type":"string"},"cached":{"type":"boolean"}},"required":["product","token","isContract","score","verdict","factors","disclaimer"]},"example":{"product":"grokbot.base-token-check","version":1,"chain":{"id":8453,"name":"Base mainnet"},"token":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","isContract":true,"bytecodeSize":1852,"erc20":{"name":"USD Coin","symbol":"USDC","decimals":6,"totalSupply":4331098982.44},"ownership":{"owner":"0x3abd6f64a422225e61e435bae41db12096106df7","renounced":false},"proxy":{"isProxy":true,"standard":"OpenZeppelin legacy (zos) proxy"},"riskySelectors":{"present":{"mint":{"status":"selector present"},"blacklist":{"status":"selector present"},"pause":{"status":"selector present"}}},"liquidity":{"poolCount":6,"totalEstUsd":193363155},"honeypot":{"status":"ok","buyTaxPct":0,"sellTaxPct":0},"score":53,"verdict":"medium","factors":[{"points":15,"factor":"upgradeable proxy: the token code can be changed by its admin"}],"checked":["contract code + bytecode size"],"notChecked":[{"item":"full holder concentration (top holders)","reason":"needs a holder index"}],"disclaimer":"Automated on-chain heuristics, not financial advice."}}}},"400":{"description":"Invalid input after payment verification. The payment is not settled."},"402":{"description":"Payment required. PAYMENT-REQUIRED header (base64 JSON) and the JSON body list the accepted payment terms."},"409":{"description":"Payment payload already used for a different request, or still being processed."},"503":{"description":"Paid API disabled or misconfigured."}}}}},"components":{"securitySchemes":{}}}