{"x402Version":2,"name":"On-Chain Reads (EVM + Bitcoin)","description":"Live on-chain data. EVM networks (Ethereum, Base, Arbitrum, Optimism, Polygon): gas, address balance/nonce/contract detection, ERC-20 token metadata and wallet token balances, transaction status and block info, plain-language transaction explains, deterministic ERC-20 token-risk scans, ENS name resolution (resolve, reverse, text records), NFT metadata and function-selector/calldata decoding. Bitcoin (`btc-*` ops): recommended fees, mempool congestion, address balance/history and transaction status. Live reads with automatic endpoint fallback.","version":"0.1.0","openapi":"https://chain.openverbs.com/openapi.json","resources":[{"url":"https://chain.openverbs.com/v1/gas","method":"POST","description":"Live gas conditions for an EVM chain: current gas price, the latest block's base fee (EIP-1559) and the suggested max priority fee — all in both wei and gwei. Ground truth an agent can't compute. Reads live on-chain data with automatic endpoint fallback.","tags":["gas price","gas","gas fees","gwei","eip-1559"],"accepts":[{"scheme":"exact","network":"eip155:8453","price":"$0.002","payTo":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","asset":"USDC"}]},{"url":"https://chain.openverbs.com/v1/address","method":"POST","description":"Native ETH / wallet balance for an address on any EVM chain: native balance (wei + ether), transaction count (nonce), and whether it's a contract or an externally-owned account (with deployed code size). Reads live on-chain data with automatic endpoint fallback.","tags":["eth balance","wallet balance","native balance","balance","base"],"accepts":[{"scheme":"exact","network":"eip155:8453","price":"$0.002","payTo":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","asset":"USDC"}]},{"url":"https://chain.openverbs.com/v1/token","method":"POST","description":"Live ERC-20 metadata read directly from the contract: name, symbol, decimals and total supply (raw + decimal-formatted). Handles both string and legacy bytes32 name/symbol encodings. Returns `isToken:false` for EOAs or non-token contracts. Reads live on-chain data with automatic endpoint fallback.","tags":["onchain","erc20","token-metadata","total-supply","token-info"],"accepts":[{"scheme":"exact","network":"eip155:8453","price":"$0.002","payTo":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","asset":"USDC"}]},{"url":"https://chain.openverbs.com/v1/token-balance","method":"POST","description":"Live ERC-20 token balance held by a wallet: calls `balanceOf(address)` on the token contract and returns the raw balance plus a decimal-formatted amount (using the token's own decimals) with its symbol. Distinct from `address` (native ETH balance) and `token` (contract metadata). Reads live on-chain data with automatic endpoint fallback.","tags":["onchain","erc20","token-balance","erc20-balance","defi"],"accepts":[{"scheme":"exact","network":"eip155:8453","price":"$0.002","payTo":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","asset":"USDC"}]},{"url":"https://chain.openverbs.com/v1/token-allowance","method":"POST","description":"Live ERC-20 spending allowance an owner has granted a spender: calls `allowance(owner, spender)` on the token and returns the raw amount, a decimal-formatted amount (using the token's decimals) with its symbol, and an `isUnlimited` flag for effectively-infinite approvals. Use it to audit token approvals / approval risk before signing. Reads live on-chain data with automatic endpoint fallback.","tags":["token allowance","erc20 allowance","token approval check","spending approval","unlimited approval","check token approval"],"accepts":[{"scheme":"exact","network":"eip155:8453","price":"$0.002","payTo":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","asset":"USDC"}]},{"url":"https://chain.openverbs.com/v1/gas-estimate","method":"POST","description":"Simulate a transaction before signing: runs `eth_estimateGas` for `{ to, from?, data?, value? }` and returns the estimated gas units and estimated fee (current gas price x gas, in wei + ETH). If the node rejects the call it returns `ok:false` with the decoded `revertReason` (why it would fail) instead of erroring. Reads live on-chain state with automatic endpoint fallback.","tags":["estimate gas","gas estimate","simulate transaction","will transaction revert","revert reason","transaction gas cost"],"accepts":[{"scheme":"exact","network":"eip155:8453","price":"$0.004","payTo":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","asset":"USDC"}]},{"url":"https://chain.openverbs.com/v1/tx","method":"POST","description":"Live status and details of a transaction by hash: success/failed/pending, from/to, value (wei + ether), nonce, block number, gas used, effective gas price and any created contract address. Returns `found:false` for unknown hashes. Reads live on-chain data with automatic endpoint fallback.","tags":["onchain","transaction","tx-hash","transaction-receipt","ethereum"],"accepts":[{"scheme":"exact","network":"eip155:8453","price":"$0.003","payTo":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","asset":"USDC"}]},{"url":"https://chain.openverbs.com/v1/block","method":"POST","description":"Live block summary by number, hex, or tag (latest/earliest/pending/safe/finalized; default latest): number, hash, parent, timestamp (unix + ISO), transaction count, gas used/limit, base fee and miner. Reads live on-chain data with automatic endpoint fallback.","tags":["onchain","block","block-height","latest-block","ethereum"],"accepts":[{"scheme":"exact","network":"eip155:8453","price":"$0.001","payTo":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","asset":"USDC"}]},{"url":"https://chain.openverbs.com/v1/logs","method":"POST","description":"Query a contract's event logs over a bounded block range via `eth_getLogs`: filter by `address` (required) and optional `topics`, get back raw logs (topics, data, block, tx hash, log index) with ERC-20/721 Transfer logs auto-decoded to `{from, to, value}`. Block span is capped (large windows are clamped); results are capped by `limit`. Reads live on-chain data with automatic endpoint fallback.","tags":["event logs","get logs","erc20 transfers","token transfer history","contract event logs","eth_getLogs"],"accepts":[{"scheme":"exact","network":"eip155:8453","price":"$0.006","payTo":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","asset":"USDC"}]},{"url":"https://chain.openverbs.com/v1/receipt","method":"POST","description":"Live transaction receipt by hash via `eth_getTransactionReceipt`: success/failed status, block number, from/to, created contract address, gas used, cumulative gas, effective gas price (wei + gwei), tx type and the emitted event logs (capped). Complements `tx` (which reads the transaction itself). Returns `found:false` for unknown/pending hashes. Reads live on-chain data with automatic endpoint fallback.","tags":["transaction receipt","get transaction receipt","tx status","gas used","transaction logs","eth_getTransactionReceipt"],"accepts":[{"scheme":"exact","network":"eip155:8453","price":"$0.003","payTo":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","asset":"USDC"}]},{"url":"https://chain.openverbs.com/v1/proxy","method":"POST","description":"Detect whether a contract is an upgradeable proxy and resolve its implementation: reads the standard EIP-1967 implementation/admin/beacon slots, EIP-1822 (UUPS), the OpenZeppelin legacy slot, and EIP-1167 minimal-proxy bytecode. Returns the proxy type, implementation, admin and beacon addresses when present. Reads live on-chain data with automatic endpoint fallback.","tags":["proxy contract","implementation address","upgradeable proxy","eip-1967","proxy detection","find implementation contract"],"accepts":[{"scheme":"exact","network":"eip155:8453","price":"$0.004","payTo":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","asset":"USDC"}]},{"url":"https://chain.openverbs.com/v1/explain","method":"POST","description":"Decode a transaction into plain language: native ETH transfer, contract call (with decoded method name for common ERC-20/DEX functions like transfer, approve, swap, mint, multicall) or contract creation; ERC-20 and NFT (ERC-721) transfers it triggered (token, from, to, amount/tokenId from logs); gas spent in ETH; success/failed/pending; and a one-line summary. Reads live on-chain data with automatic endpoint fallback.","tags":["explain transaction","decode transaction","transaction summary","decode calldata","erc20 transfers in transaction","what did this transaction do"],"accepts":[{"scheme":"exact","network":"eip155:8453","price":"$0.006","payTo":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","asset":"USDC"}]},{"url":"https://chain.openverbs.com/v1/token-risk","method":"POST","description":"Deterministic risk screen of an ERC-20 token from on-chain bytecode and metadata, no third-party risk API. Flags privileged or abuse capabilities: blacklist/freeze, owner mint, pausable transfers, upgradeable proxy and a privileged owner, plus tokens missing symbol/decimals or code. Returns each flag with a severity, a 0-100 score and a verdict. Reads live on-chain data with automatic endpoint fallback.","tags":["token risk scan","erc20 honeypot check","token security scan","rug pull check","token contract risk","detect malicious token"],"accepts":[{"scheme":"exact","network":"eip155:8453","price":"$0.006","payTo":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","asset":"USDC"}]},{"url":"https://chain.openverbs.com/v1/ens-resolve","method":"POST","description":"Resolve an ENS name (like alice.eth) to its Ethereum address, read live from the ENS resolver on Ethereum mainnet. Offchain names such as *.base.eth resolve too. Returns `found:false` (a real answer, not an error) when the name has no address record. Live reads with automatic endpoint fallback.","tags":["onchain","ens","ens-resolve","ens-lookup","ethereum-name-service"],"accepts":[{"scheme":"exact","network":"eip155:8453","price":"$0.003","payTo":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","asset":"USDC"}]},{"url":"https://chain.openverbs.com/v1/ens-reverse","method":"POST","description":"Reverse-resolve an Ethereum address to its primary ENS name (the reverse record set by the owner), read live on Ethereum mainnet. Returns `found:false` when the address has no primary name set. Live reads with automatic endpoint fallback.","tags":["ens reverse","address to ens name","reverse ens lookup","primary ens name","ens name of address","wallet ens name"],"accepts":[{"scheme":"exact","network":"eip155:8453","price":"$0.003","payTo":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","asset":"USDC"}]},{"url":"https://chain.openverbs.com/v1/ens-records","method":"POST","description":"Read an ENS name's address plus its text records (avatar, url, email, description, com.twitter, com.github and more) in one call, live from the resolver on Ethereum mainnet. Pass `keys` to fetch specific records, or omit it for a sensible default set. Only records that are set are returned. Live reads with automatic endpoint fallback.","tags":["ens text records","ens avatar","ens twitter","ens profile","ens metadata","ens resolver records"],"accepts":[{"scheme":"exact","network":"eip155:8453","price":"$0.002","payTo":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","asset":"USDC"}]},{"url":"https://chain.openverbs.com/v1/nft-metadata","method":"POST","description":"Resolve one NFT (contract + tokenId) into normalized metadata: name, description, image, attributes and token standard (ERC-721 or ERC-1155). Reads the on-chain tokenURI/uri, then fetches and normalizes the metadata document (ipfs/ar/http/data), rewriting ipfs image links to a gateway URL. Returns `found:false` for non-NFT contracts. Live reads with automatic endpoint fallback.","tags":["nft metadata","nft token uri","erc721 metadata","erc1155 metadata","nft image","nft attributes","get nft"],"accepts":[{"scheme":"exact","network":"eip155:8453","price":"$0.006","payTo":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","asset":"USDC"}]},{"url":"https://chain.openverbs.com/v1/decode","method":"POST","description":"Turn a 4-byte function selector or full calldata into its human-readable function signature, and (when calldata is present) the decoded argument values. Supply an `abi` for a fully deterministic offline decode, or omit it to look the selector up in public signature registries. Reads with automatic fallback.","tags":["decode calldata","function selector lookup","4byte selector","decode transaction input","what function is this selector","abi decode"],"accepts":[{"scheme":"exact","network":"eip155:8453","price":"$0.004","payTo":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","asset":"USDC"}]},{"url":"https://chain.openverbs.com/v1/abi","method":"POST","description":"Get the verified contract ABI and verification metadata for a deployed contract by address, sourced from Sourcify. Returns the contract ABI (to decode or call it), contract name, compiler/language, match type, and proxy resolution (is-proxy plus implementation addresses). Supports Ethereum, Base, Arbitrum, Optimism, Polygon. Unverified contracts return `verified:false`. Live reads with cache fallback.","tags":["contract abi","get abi","get contract abi","verified contract","contract metadata"],"accepts":[{"scheme":"exact","network":"eip155:8453","price":"$0.006","payTo":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","asset":"USDC"}]},{"url":"https://chain.openverbs.com/v1/source","method":"POST","description":"Get the verified Solidity/Vyper source code for a deployed contract by address, sourced from Sourcify. Returns every source file (path + content), the contract name, language, compiler version and compiler settings (optimizer, evmVersion) — the full human-readable source an agent needs to read, audit or feed to an LLM. Supports Ethereum, Base, Arbitrum, Optimism, Polygon. Unverified contracts return `verified:false`. Live reads with cache fallback.","tags":["contract source code","get source code","verified source","solidity source","smart contract source"],"accepts":[{"scheme":"exact","network":"eip155:8453","price":"$0.006","payTo":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","asset":"USDC"}]},{"url":"https://chain.openverbs.com/v1/read-contract","method":"POST","description":"Call a read-only (view/pure) function on any deployed contract via eth_call and get the decoded result. Give the contract address and a human-readable signature (e.g. 'balanceOf(address) view returns (uint256)') plus args; include return types to decode outputs, else raw hex is returned. Reads allowances, oracle prices and vault/DAO state. Read-only, no signing. Ethereum, Base, Arbitrum, Optimism, Polygon.","tags":["read contract","call contract","contract read","eth_call","view function","read onchain state"],"accepts":[{"scheme":"exact","network":"eip155:8453","price":"$0.006","payTo":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","asset":"USDC"}]},{"url":"https://chain.openverbs.com/v1/sanctions","method":"POST","description":"Screen a crypto wallet address against the OFAC SDN sanctions list (US Treasury Specially Designated Nationals) before transacting. Multi-chain across ~20 assets (BTC, ETH, USDT, TRX, XMR and more); EVM 0x addresses match case-insensitively. Returns whether the address is sanctioned plus the listed entity, asset and list publish date. Clean address returns `sanctioned:false`. Public-domain OFAC data.","tags":["sanctioned address","ofac screening","wallet sanctions check","aml address screening","sanctions screening"],"accepts":[{"scheme":"exact","network":"eip155:8453","price":"$0.006","payTo":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","asset":"USDC"}]},{"url":"https://chain.openverbs.com/v1/bytecode","method":"POST","description":"Fetch deployed EVM contract runtime bytecode and its Keccak-256 code hash to fingerprint or compare contracts, or feed a disassembler. Supports Ethereum, Base, Arbitrum, Optimism and Polygon, with optional historical block reads. Returns full hex code, byte size and isContract; an empty-code address returns 0x and a null hash. Key-free RPC with endpoint fallback; code capped at 256 KiB.","tags":["contract bytecode","runtime bytecode","contract code hash","eth_getCode","deployed code"],"accepts":[{"scheme":"exact","network":"eip155:8453","price":"$0.006","payTo":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","asset":"USDC"}]},{"url":"https://chain.openverbs.com/v1/btc-fees","method":"POST","description":"Live recommended Bitcoin transaction fee rates (in sat/vB) for next-block, ~30-minute, ~1-hour, economy and minimum confirmation targets, straight from the mempool. Also estimates the total fee (in sats and BTC) for a transaction of the given virtual size, so an agent can pick a fee tier and know the cost before broadcasting.","tags":["bitcoin fees","btc transaction fee","recommended bitcoin fee","sat per vbyte","bitcoin fee estimator","btc fee rate"],"accepts":[{"scheme":"exact","network":"eip155:8453","price":"$0.006","payTo":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","asset":"USDC"}]},{"url":"https://chain.openverbs.com/v1/btc-mempool","method":"POST","description":"Live snapshot of the Bitcoin mempool: number of unconfirmed transactions, total pending virtual size (bytes and MB), the current backlog in blocks, total fees pending (sats and BTC), the fee-rate histogram, and the current chain tip height. Lets an agent gauge network congestion and time a transaction.","tags":["bitcoin mempool","mempool congestion","unconfirmed transactions","bitcoin network congestion","mempool size","btc transaction backlog"],"accepts":[{"scheme":"exact","network":"eip155:8453","price":"$0.006","payTo":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","asset":"USDC"}]},{"url":"https://chain.openverbs.com/v1/btc-address","method":"POST","description":"Balance and activity for a Bitcoin address (base58 1…/3… or bech32 bc1…): confirmed balance (sats and BTC), total received and sent, confirmed transaction count, and unconfirmed/pending value and tx count from the mempool. On-chain ground truth an agent cannot compute locally.","tags":["bitcoin address balance","btc wallet balance","check bitcoin address","bitcoin balance lookup","btc address history","bitcoin received and sent"],"accepts":[{"scheme":"exact","network":"eip155:8453","price":"$0.006","payTo":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","asset":"USDC"}]},{"url":"https://chain.openverbs.com/v1/btc-tx","method":"POST","description":"Look up a Bitcoin transaction by txid: confirmation status, block height and time, fee (sats), effective fee rate (sat/vB), size, weight and virtual size, input and output counts, and total output value (sats and BTC). On-chain ground truth for verifying a payment.","tags":["bitcoin transaction lookup","btc transaction status","verify bitcoin payment","bitcoin txid lookup","btc confirmation status","bitcoin transaction details"],"accepts":[{"scheme":"exact","network":"eip155:8453","price":"$0.006","payTo":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","asset":"USDC"}]}]}