{"x402Version":2,"name":"base-onchain-tools","description":"Eleven read-only endpoints answering questions about Base mainnet that are tedious to assemble from raw RPC: what an unverified contract is actually able to do, whether a token transfer will revert and for what reason, what an arbitrary token is worth, and whether an address is safe to pay. Priced $0.001-$0.04 per call in USDC over x402. No account, no API key, no signup, no minimum, no rate limit to negotiate — the payTo address in the 402 response is the whole integration. Failed calls are not billed. The payment middleware cancels settlement on any 4xx or 5xx, so a malformed parameter or an upstream outage costs nothing. Answers are read live from Base mainnet at request time, with failover across five independent RPC providers. A batch that comes back incomplete is treated as a failure rather than returned with the missing entries as zeros, because a confident wrong answer costs a caller more than an error does. Scope is deliberately narrow: Base mainnet only, reads only, no keys held, nothing stored between requests.","resources":[{"resource":"https://base-onchain-tools.dolerite.workers.dev/v1/base/address-check","type":"http","method":"GET","price":"$0.002","description":"Pre-flight check on a Base mainnet address before you pay it: contract vs EOA, ETH and USDC balances, outbound tx count, and warnings about whether funds sent there can actually be moved.","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x9c9Fb14825ADcA7A3E539EDa354EAFd169D39e9b","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}}]},{"resource":"https://base-onchain-tools.dolerite.workers.dev/v1/base/tx-check","type":"http","method":"GET","price":"$0.002","description":"Confirm a Base mainnet transaction: success or reverted, block, confirmations and finality, gas used, and every ERC-20 transfer it moved with USDC amounts decoded.","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x9c9Fb14825ADcA7A3E539EDa354EAFd169D39e9b","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}}]},{"resource":"https://base-onchain-tools.dolerite.workers.dev/v1/base/token","type":"http","method":"GET","price":"$0.001","description":"ERC-20 token metadata on Base mainnet: name, symbol, decimals and total supply, read straight from the contract.","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x9c9Fb14825ADcA7A3E539EDa354EAFd169D39e9b","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}}]},{"resource":"https://base-onchain-tools.dolerite.workers.dev/v1/base/gas","type":"http","method":"GET","price":"$0.001","description":"Live Base mainnet gas oracle: current gas price, base fee, recent base fee trend, priority fee percentiles, and the estimated cost of a plain ERC-20 transfer in ETH.","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x9c9Fb14825ADcA7A3E539EDa354EAFd169D39e9b","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}}]},{"resource":"https://base-onchain-tools.dolerite.workers.dev/v1/base/price","type":"http","method":"GET","price":"$0.001","description":"ETH/USD and BTC/USD read live from Chainlink's on-chain price feeds on Base, with the feed's own description, decimals, update timestamp, age in seconds and a staleness flag.","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x9c9Fb14825ADcA7A3E539EDa354EAFd169D39e9b","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}}]},{"resource":"https://base-onchain-tools.dolerite.workers.dev/v1/base/contract-type","type":"http","method":"GET","price":"$0.002","description":"Identify what a Base contract actually is: ERC-20, ERC-721 or ERC-1155 via ERC-165, plus proxy detection across EIP-1967, EIP-1822 and the legacy ZeppelinOS slot with the current implementation address.","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x9c9Fb14825ADcA7A3E539EDa354EAFd169D39e9b","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}}]},{"resource":"https://base-onchain-tools.dolerite.workers.dev/v1/base/allowance","type":"http","method":"GET","price":"$0.001","description":"ERC-20 allowance on Base: how much a spender may pull from an owner, whether it is an unlimited approval, the owner balance, and how much is actually spendable right now. Defaults to USDC.","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x9c9Fb14825ADcA7A3E539EDa354EAFd169D39e9b","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}}]},{"resource":"https://base-onchain-tools.dolerite.workers.dev/v1/base/token-price","type":"http","method":"GET","price":"$0.006","description":"USD price for ANY token on Base, not just the two assets Chainlink covers. Discovers every Uniswap V3 pool against WETH and USDC across all four fee tiers, reads sqrtPriceX96 and does the Q96 fixed-point maths, prices off the deepest pool, ignores deployed-but-never-traded pools, and cross-checks the remaining ones to flag thin or manipulated liquidity.","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x9c9Fb14825ADcA7A3E539EDa354EAFd169D39e9b","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}}]},{"resource":"https://base-onchain-tools.dolerite.workers.dev/v1/base/simulate-transfer","type":"http","method":"GET","price":"$0.008","description":"Will this token payment actually go through, and if not exactly why. Simulates the transfer without spending gas, decodes the real revert reason (Error(string), Panic codes translated to English, or a custom error selector), and separately reports balance and allowance blockers. Understands that a caller with no ETH is fine for gasless EIP-3009 or a sponsored relayer.","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x9c9Fb14825ADcA7A3E539EDa354EAFd169D39e9b","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}}]},{"resource":"https://base-onchain-tools.dolerite.workers.dev/v1/base/contract-audit","type":"http","method":"GET","price":"$0.04","description":"What an UNVERIFIED Base contract can actually do — the case where block explorers show you nothing. Disassembles the deployed bytecode with a PUSH-aware opcode walk (a naive byte scan reports SELFDESTRUCT on contracts that cannot self-destruct), strips the Solidity metadata trailer, recovers the function selectors from the dispatch table and names them against a keccak-derived signature database, then reports admin powers (mint, blacklist, freeze, pause, trading switches, adjustable fees, upgrade hooks), dangerous opcodes (DELEGATECALL, SELFDESTRUCT, CALLCODE, CREATE2), which token standards it really implements, and whether it supports EIP-3009 so it can be paid gaslessly over x402 at all. Proxies are detected and followed, because a forwarder's own bytecode tells you nothing.","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x9c9Fb14825ADcA7A3E539EDa354EAFd169D39e9b","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}}]},{"resource":"https://base-onchain-tools.dolerite.workers.dev/v1/base/portfolio","type":"http","method":"GET","price":"$0.003","description":"ETH and USDC balances for up to 20 Base addresses in a single call, with per-address funded flags and totals. One request instead of forty RPC round trips.","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x9c9Fb14825ADcA7A3E539EDa354EAFd169D39e9b","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}}]}],"facilitator":"https://facilitator.openx402.ai"}