{"openapi":"3.1.0","info":{"title":"rh-chain-intel (Tempo) - Robinhood Chain data for AI agents","version":"1.0.0","description":"On-chain data for Robinhood Chain (Ethereum L2 on Arbitrum, mainnet since July 2026) for AI agents: network health, wallet snapshots and activity scores, a token screener covering tokenized Stock Tokens (NVDA, TSLA, MSTR...) and community tokens, token detail, transaction lookup, and holder-concentration rug check. Free public data (Blockscout + RPC), paid per call via MPP on Tempo (USDC.e). No API key. Public read-only; NOT investment advice.","x-guidance":"rh-chain-intel (Tempo) gives AI agents on-chain data for Robinhood Chain, paid via MPP on Tempo (USDC.e). Pick the endpoint: /api/health for network status; /api/wallet for a wallet snapshot (balance, tx count, scam/reputation, token holdings); /api/score for a 0-100 activity score; /api/tokens to screen Stock Tokens and community tokens; /api/token for one token detail; /api/tx to look up a transaction; /api/rugcheck to check holder concentration for rug risk, /api/trending to see which tokens are pumping by 24h volume. Free public data from Blockscout and JSON-RPC. Each endpoint is a paid POST; unpaid requests return HTTP 402 with a Tempo payment challenge, pay with an MPP client (e.g. AgentCash) and retry. Full agent docs at /llms.txt.","contact":{"name":"rh-chain-intel-Tempo","email":"vanlucpdu@gmail.com","url":"https://rh-chain-tempo.vercel.app"}},"servers":[{"url":"https://rh-chain-tempo.vercel.app"}],"x-docs":{"llmsTxt":"https://rh-chain-tempo.vercel.app/llms.txt"},"x-discovery":{"ownershipProofs":["0xcd6b6d99b7751ff30b68fa1365488eb73fa7cefa"]},"paths":{"/api/health":{"post":{"operationId":"health","summary":"Chain Health","description":"Live network health of Robinhood Chain (Ethereum L2 on Arbitrum): latest block, average block time, gas prices, total and today's transactions, total addresses, ETH price. No input.","tags":["data","crypto","web3"],"x-agent-guidance":{"whenToUse":"Use to check if Robinhood Chain is live and how busy it is before interacting, or to monitor network activity.","input":"POST JSON: {} (no params).","output":"latestBlock, averageBlockTimeMs, gasPricesGwei{}, totalTransactions, transactionsToday, totalAddresses, ethPriceUsd.","paymentFlow":"First call returns HTTP 402 with an MPP payment requirement (USDC.e on Tempo). Pay with an MPP client (e.g. AgentCash), then retry to get 200."},"x-payment-info":{"price":{"mode":"fixed","amount":"0.005","currency":"USD"},"protocols":[{"mpp":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"responses":{"200":{"description":"Chain Health result.","content":{"application/json":{"schema":{"type":"object","properties":{"latestBlock":{"type":"number"},"transactionsToday":{"type":"number"},"gasPricesGwei":{"type":"object"}}}}}},"400":{"description":"Bad Request - missing/invalid input."},"402":{"description":"Payment Required"}}}},"/api/wallet":{"post":{"operationId":"wallet","summary":"Wallet Snapshot","description":"Wallet snapshot on Robinhood Chain: ETH balance (+USD), transaction count, account type (wallet/contract), scam and reputation flags, and optionally (deep=true) token holdings. Body: { address, deep? }.","tags":["data","crypto","web3"],"x-agent-guidance":{"whenToUse":"Use before sending funds to or interacting with an address, or to summarize a wallet's state on Robinhood Chain. Set deep=true to also list token holdings.","input":"POST JSON: { address (0x...), deep? }.","output":"balanceEth, balanceUsd, txCount, isContract, isScam, reputation, tokens[] (if deep).","paymentFlow":"First call returns HTTP 402 with an MPP payment requirement (USDC.e on Tempo). Pay with an MPP client (e.g. AgentCash), then retry to get 200."},"x-payment-info":{"price":{"mode":"fixed","amount":"0.01","currency":"USD"},"protocols":[{"mpp":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"address":{"type":"string"},"deep":{"type":"boolean"}},"required":["address"]}}}},"responses":{"200":{"description":"Wallet Snapshot result.","content":{"application/json":{"schema":{"type":"object","properties":{"balanceEth":{"type":"number"},"txCount":{"type":"number"},"isScam":{"type":"boolean"}}}}}},"400":{"description":"Bad Request - missing/invalid input."},"402":{"description":"Payment Required"}}}},"/api/score":{"post":{"operationId":"score","summary":"Wallet Activity Score","description":"Activity score (0-100) for a Robinhood Chain wallet, derived from transaction count, balance, and token activity, with a tier (dormant/low/moderate/active/very active). Body: { address }.","tags":["data","crypto","web3"],"x-agent-guidance":{"whenToUse":"Use for a quick single-number read of how active/established a wallet is on Robinhood Chain, e.g. to filter counterparties. For full detail use /api/wallet.","input":"POST JSON: { address (0x...) }.","output":"score (0-100), tier, breakdown{txCount, balanceEth, ...}.","paymentFlow":"First call returns HTTP 402 with an MPP payment requirement (USDC.e on Tempo). Pay with an MPP client (e.g. AgentCash), then retry to get 200."},"x-payment-info":{"price":{"mode":"fixed","amount":"0.01","currency":"USD"},"protocols":[{"mpp":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"address":{"type":"string","description":"Address (0x...).","examples":["0x0000000000000000000000000000000000000000"]}},"required":["address"]}}}},"responses":{"200":{"description":"Wallet Activity Score result.","content":{"application/json":{"schema":{"type":"object","properties":{"score":{"type":"number"},"tier":{"type":"string"}}}}}},"400":{"description":"Bad Request - missing/invalid input."},"402":{"description":"Payment Required"}}}},"/api/tokens":{"post":{"operationId":"tokens","summary":"Token Screener","description":"Screen tokens on Robinhood Chain sorted by holders: tokenized Stock Tokens (MSTR, GME, ASML, TSM, IonQ...) and community tokens. Filter with stockOnly=true, or a name/symbol query. Body: { query?, stockOnly?, limit? }.","tags":["data","crypto","web3"],"x-agent-guidance":{"whenToUse":"Use to discover what tokens exist on Robinhood Chain, or to list only Robinhood Stock Tokens (stockOnly=true). For one token's detail use /api/token.","input":"POST JSON: { query?, stockOnly?, limit? (1-50) }.","output":"tokens[] each with symbol, name, address, holders, priceUsd, marketCapUsd, volume24h, isStockToken.","paymentFlow":"First call returns HTTP 402 with an MPP payment requirement (USDC.e on Tempo). Pay with an MPP client (e.g. AgentCash), then retry to get 200."},"x-payment-info":{"price":{"mode":"fixed","amount":"0.008","currency":"USD"},"protocols":[{"mpp":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"query":{"type":"string"},"stockOnly":{"type":"boolean"},"limit":{"type":"number"}}}}}},"responses":{"200":{"description":"Token Screener result.","content":{"application/json":{"schema":{"type":"object","properties":{"count":{"type":"number"},"tokens":{"type":"array"}}}}}},"400":{"description":"Bad Request - missing/invalid input."},"402":{"description":"Payment Required"}}}},"/api/token":{"post":{"operationId":"token","summary":"Token Detail","description":"Detail for one token on Robinhood Chain by contract address: symbol, name, token type, holders, supply, price, market cap, 24h volume, and whether it is a Robinhood Stock Token. Body: { address }.","tags":["data","crypto","web3"],"x-agent-guidance":{"whenToUse":"Use to read one token's holders/price/market cap before interacting or trading. Get the address from /api/tokens.","input":"POST JSON: { address (token contract 0x...) }.","output":"symbol, name, holders, totalSupply, priceUsd, marketCapUsd, volume24h, isStockToken.","paymentFlow":"First call returns HTTP 402 with an MPP payment requirement (USDC.e on Tempo). Pay with an MPP client (e.g. AgentCash), then retry to get 200."},"x-payment-info":{"price":{"mode":"fixed","amount":"0.008","currency":"USD"},"protocols":[{"mpp":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"address":{"type":"string"}},"required":["address"]}}}},"responses":{"200":{"description":"Token Detail result.","content":{"application/json":{"schema":{"type":"object","properties":{"symbol":{"type":"string"},"holders":{"type":"number"},"isStockToken":{"type":"boolean"}}}}}},"400":{"description":"Bad Request - missing/invalid input."},"402":{"description":"Payment Required"}}}},"/api/tx":{"post":{"operationId":"tx","summary":"Transaction Lookup","description":"Look up a transaction on Robinhood Chain by hash: status, method, from/to, value, fee, block, timestamp, and whether it moved tokens. Body: { hash }.","tags":["data","crypto","web3"],"x-agent-guidance":{"whenToUse":"Use to check the outcome/details of a specific transaction without opening the block explorer.","input":"POST JSON: { hash (0x...) }.","output":"status, method, from, to, valueEth, feeEth, blockNumber, timestamp, hasTokenTransfers.","paymentFlow":"First call returns HTTP 402 with an MPP payment requirement (USDC.e on Tempo). Pay with an MPP client (e.g. AgentCash), then retry to get 200."},"x-payment-info":{"price":{"mode":"fixed","amount":"0.005","currency":"USD"},"protocols":[{"mpp":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"hash":{"type":"string"}},"required":["hash"]}}}},"responses":{"200":{"description":"Transaction Lookup result.","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string"},"method":{"type":"string"},"valueEth":{"type":"number"}}}}}},"400":{"description":"Bad Request - missing/invalid input."},"402":{"description":"Payment Required"}}}},"/api/rugcheck":{"post":{"operationId":"rugcheck","summary":"Token Rug Check","description":"Rug check a token on Robinhood Chain via holder concentration: top holder %, top-10 %, burned %, holder count, and scam flag. Returns GO/CAUTION/DANGER. Catches whale-controlled dump/rug risk on new meme tokens. Does NOT check mint authority, honeypot, or trading tax (GoPlus does not yet support this chain). Body: { address }.","tags":["data","crypto","web3"],"x-agent-guidance":{"whenToUse":"Use before buying/interacting with a new or meme token on Robinhood Chain, to catch whale concentration and scam flags. Note it checks holder distribution, not contract-level honeypot/mint; for Stock Tokens (Robinhood-issued) high concentration is expected and not a red flag.","input":"POST JSON: { address (token 0x...) }.","output":"verdict (GO|CAUTION|DANGER), concentration{topHolderPct, top10Pct, burnedPct}, holderCount, isScam, topHolders[], flags[].","paymentFlow":"First call returns HTTP 402 with an MPP payment requirement (USDC.e on Tempo). Pay with an MPP client (e.g. AgentCash), then retry to get 200."},"x-payment-info":{"price":{"mode":"fixed","amount":"0.01","currency":"USD"},"protocols":[{"mpp":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"address":{"type":"string"}},"required":["address"]}}}},"responses":{"200":{"description":"Token Rug Check result.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":"string"},"concentration":{"type":"object"},"flags":{"type":"array"}}}}}},"400":{"description":"Bad Request - missing/invalid input."},"402":{"description":"Payment Required"}}}},"/api/trending":{"post":{"operationId":"trending","summary":"Trending Tokens","description":"Trending tokens on Robinhood Chain by 24h volume: meme/community tokens pumping right now. Stablecoins and wrapped tokens are excluded; Stock Tokens excluded unless includeStock=true. Body: { limit?, includeStock? }.","tags":["data","crypto","web3"],"x-agent-guidance":{"whenToUse":"Use when the user asks what is hot/pumping on Robinhood Chain right now, or to surface meme tokens by activity. Combine with /api/rugcheck to check safety before acting, since high volume can include wash trading.","input":"POST JSON: { limit? (1-50), includeStock? }.","output":"tokens[] ranked by volume24hUsd, each with symbol, name, address, holders, marketCapUsd, priceUsd.","paymentFlow":"First call returns HTTP 402 with an MPP payment requirement (USDC.e on Tempo). Pay with an MPP client (e.g. AgentCash), then retry to get 200."},"x-payment-info":{"price":{"mode":"fixed","amount":"0.008","currency":"USD"},"protocols":[{"mpp":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"limit":{"type":"number"},"includeStock":{"type":"boolean"}}}}}},"responses":{"200":{"description":"Trending Tokens result.","content":{"application/json":{"schema":{"type":"object","properties":{"count":{"type":"number"},"tokens":{"type":"array"}}}}}},"400":{"description":"Bad Request - missing/invalid input."},"402":{"description":"Payment Required"}}}},"/api/burn":{"post":{"operationId":"burn","summary":"Token Burn Stats","description":"Burn stats for a token on Robinhood Chain: amount sent to burn addresses (0x0 and 0x...dEaD) and the percentage of total supply burned. Body: { address }.","tags":["data","crypto","web3"],"x-agent-guidance":{"whenToUse":"Use to check how much of a token's supply has been burned (deflationary signal) before evaluating a meme or community token. Pair with /api/rugcheck for a fuller safety read.","input":"POST JSON: { address (token 0x...) }.","output":"burnedAmount, burnedPct, totalSupply, burnAddresses[].","paymentFlow":"First call returns HTTP 402 with an MPP payment requirement (USDC.e on Tempo). Pay with an MPP client (e.g. AgentCash), then retry to get 200."},"x-payment-info":{"price":{"mode":"fixed","amount":"0.005","currency":"USD"},"protocols":[{"mpp":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"address":{"type":"string"}},"required":["address"]}}}},"responses":{"200":{"description":"Token Burn Stats result.","content":{"application/json":{"schema":{"type":"object","properties":{"burnedAmount":{"type":"number"},"burnedPct":{"type":"number"}}}}}},"400":{"description":"Bad Request - missing/invalid input."},"402":{"description":"Payment Required"}}}}}}