
116 tools: balances, blocks, gas, txs and logs on 5 EVM chains, plus Bitcoin. 25 free calls.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Optional. 'Bearer adt_...' API key from https://agent-data-tools.revmesh2074.workers.dev/credits to pay by card. Leave empty to pay each call with x402 (USDC).
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
ERC-20 token allowance on Arbitrum One: how much a spender may move from an owner's wallet (allowance), raw and in token units, and whether the approval is unlimited. Use to check an approval before a swap or to audit risky open approvals; for the owner's balance use arb_token_balance. Token is a ticker (USDC, USDT, WETH…) or a 0x contract; a missing contract is 404 and a non-ERC-20 422, both uncharged. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
0x wallet that gave the approval
Token: a ticker such as USDC or WETH, or the 0x ERC-20 contract address
0x contract or wallet allowed to spend (the example is Uniswap Permit2)
Tool list last changed Oct 23, 2026.
ERC-20 token allowance on Arbitrum One: how much a spender may move from an owner's wallet (allowance), raw and in token units, and whether the approval is unlimited. Use to check an approval before a swap or to audit risky open approvals; for the owner's balance use arb_token_balance. Token is a ticker (USDC, USDT, WETH…) or a 0x contract; a missing contract is 404 and a non-ERC-20 422, both uncharged. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| owner* | string | 0x wallet that gave the approval |
| token* | string | Token: a ticker such as USDC or WETH, or the 0x ERC-20 contract address |
| spender* | string | 0x contract or wallet allowed to spend (the example is Uniswap Permit2) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"token",
"owner",
"spender"
],
"properties": {
"owner": {
"type": "string",
"description": "0x wallet that gave the approval"
},
"token": {
"type": "string",
"description": "Token: a ticker such as USDC or WETH, or the 0x ERC-20 contract address"
},
"spender": {
"type": "string",
"description": "0x contract or wallet allowed to spend (the example is Uniswap Permit2)"
}
}
}Native ETH balance (eth_getBalance) of any 0x wallet address on Arbitrum One at the latest block, in wei and in ETH. Use to check whether a wallet can pay gas or a transfer; for ERC-20 tokens use arb_token_balance, for all holdings at once use wallet_portfolio. A malformed address is rejected with 400, uncharged. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| address* | string | 0x wallet or contract address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"address"
],
"properties": {
"address": {
"type": "string",
"description": "0x wallet or contract address"
}
}
}Latest block number and block details on Arbitrum One, or any block by decimal number: hash, timestamp, transaction count, gas used and limit, base fee in gwei and producer. Use for timestamps and confirmation counts; for current fees use arb_gas. A block that does not exist yet returns 404, uncharged. Example: number=latest. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| number | string | Block number, or 'latest' (default) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"number": {
"type": "string",
"description": "Block number, or 'latest' (default)"
}
}
}Read-only contract call on Arbitrum One (eth_call): send ABI-encoded calldata to a contract at the latest block and get the raw return data, without a transaction or gas. Use to read any view function that has no dedicated tool (the example reads USDC totalSupply, selector 0x18160ddd); decode the result with the function's ABI. Calldata up to 8 KB; a call that reverts is 422 with the reason, uncharged. Example: to=0xaf88d065e77c8cC2239327C5EDb3A432268e5831, data=0x18160ddd. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| to* | string | 0x contract address to call |
| data* | string | 0x ABI-encoded calldata: 4-byte selector plus arguments |
| from | string | Optional 0x sender address for calls that check msg.sender |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"to",
"data"
],
"properties": {
"to": {
"type": "string",
"description": "0x contract address to call"
},
"data": {
"type": "string",
"description": "0x ABI-encoded calldata: 4-byte selector plus arguments"
},
"from": {
"type": "string",
"description": "Optional 0x sender address for calls that check msg.sender"
}
}
}Estimate the gas a transaction would use on Arbitrum One (eth_estimateGas) and what it would cost at the current gas price, in gas units, gwei and ETH. Give to, plus value in ETH and calldata for a contract call, and the sender when the call depends on it. Use before sending a transaction or to price a batch; for the gas price alone use arb_gas. A transaction that would revert is 422 with the reason, uncharged. Example: to=0x000000000000000000000000000000000000dEaD. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| to* | string | 0x recipient or contract address |
| data | string | Optional 0x calldata for a contract call |
| from | string | 0x sender address (default: an empty address) |
| value | string | number | boolean | Amount of ETH to send, in ETH (default 0) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"to"
],
"properties": {
"to": {
"type": "string",
"description": "0x recipient or contract address"
},
"data": {
"type": "string",
"description": "Optional 0x calldata for a contract call"
},
"from": {
"type": "string",
"description": "0x sender address (default: an empty address)"
},
"value": {
"type": [
"string",
"number",
"boolean"
],
"description": "Amount of ETH to send, in ETH (default 0)"
}
}
}Current gas price on Arbitrum One (eth_gasPrice): gas price, base fee and suggested priority fee in gwei, plus what a plain ETH transfer (21,000 gas) costs right now. Takes no input. Use before sending a transaction or to decide whether to wait; for the fee a past transaction actually paid use arb_receipt. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| only | string | Optional: comma-separated top-level result keys to keep, for a smaller answer (for example only=price,symbol); unknown keys are ignored and an empty match returns the full result |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"only": {
"type": "string",
"description": "Optional: comma-separated top-level result keys to keep, for a smaller answer (for example only=price,symbol); unknown keys are ignored and an empty match returns the full result"
}
}
}Check whether a 0x address on Arbitrum One is a smart contract or a plain wallet: bytecode size, and whether it is an EIP-1167 minimal proxy and which implementation it points to. Use before sending funds or approving a spender; for a fuller risk verdict use check_counterparty. A malformed address is rejected with 400, uncharged. Example: address=0xaf88d065e77c8cC2239327C5EDb3A432268e5831. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| address* | string | 0x address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"address"
],
"properties": {
"address": {
"type": "string",
"description": "0x address"
}
}
}Recent contract event logs on Arbitrum One (eth_getLogs): the events a contract emitted over the last N blocks (1-1,000, default 50), optionally filtered by topic0 (the 0x 32-byte event signature hash). Returns up to 100 logs with block, transaction hash and topics. Use to watch transfers or contract events; for one transaction's outcome use arb_receipt. Example: address=0xaf88d065e77c8cC2239327C5EDb3A432268e5831. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| blocks | integer | How many recent blocks to scan (1-1000, default 50) |
| topic0 | string | Optional 0x event signature hash to filter by |
| address* | string | 0x contract address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"address"
],
"properties": {
"blocks": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "How many recent blocks to scan (1-1000, default 50)"
},
"topic0": {
"type": "string",
"description": "Optional 0x event signature hash to filter by"
},
"address": {
"type": "string",
"description": "0x contract address"
}
}
}How many NFTs of one ERC-721 collection a wallet holds on Arbitrum One (balanceOf), with the collection's name and symbol. Use to check a holder before a token-gated action or to see whether a wallet still holds a collection; for who holds one token id use arb_nft_owner. Both inputs are 0x addresses; a missing contract is 404, a contract that is not ERC-721 422, both uncharged. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| address* | string | 0x wallet address |
| contract* | string | 0x ERC-721 collection contract address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"contract",
"address"
],
"properties": {
"address": {
"type": "string",
"description": "0x wallet address"
},
"contract": {
"type": "string",
"description": "0x ERC-721 collection contract address"
}
}
}NFT metadata on Arbitrum One: the token URI of one ERC-721 token id (tokenURI) and the JSON it points to (name, description, image, attributes), read from data: URIs, https or ipfs:// (through ipfs.io). Strings over 1,000 characters, such as on-chain SVG images, are shortened. Use to show or check what an NFT is; for its owner use arb_nft_owner. A token that does not exist is 422, uncharged; unreachable metadata is reported in metadataError. Example: contract=0xC36442b4a4522E871399CD717aBDD847Ab11FE88, tokenId=1. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| tokenId* | string | number | boolean | Token id, a whole number |
| contract* | string | 0x ERC-721 collection contract address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"contract",
"tokenId"
],
"properties": {
"tokenId": {
"type": [
"string",
"number",
"boolean"
],
"description": "Token id, a whole number"
},
"contract": {
"type": "string",
"description": "0x ERC-721 collection contract address"
}
}
}Owner of an NFT on Arbitrum One: the wallet that holds one ERC-721 token id right now (ownerOf), plus the collection's name and symbol. Use to verify who holds an NFT before a trade, a mint gate or an airdrop; for how many a wallet holds use arb_nft_balance, for the token's metadata arb_nft_metadata. A missing contract is 404, a token that does not exist 422, both uncharged. Example: contract=0xC36442b4a4522E871399CD717aBDD847Ab11FE88, tokenId=1. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| tokenId* | string | number | boolean | Token id, a whole number |
| contract* | string | 0x ERC-721 collection contract address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"contract",
"tokenId"
],
"properties": {
"tokenId": {
"type": [
"string",
"number",
"boolean"
],
"description": "Token id, a whole number"
},
"contract": {
"type": "string",
"description": "0x ERC-721 collection contract address"
}
}
}Read the transaction count (nonce) of a 0x address on Arbitrum One, both confirmed and including pending transactions. Use to build the next transaction or to tell whether an address has ever sent anything; for its balance use arb_balance. A malformed address is rejected with 400, uncharged. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| address* | string | 0x address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"address"
],
"properties": {
"address": {
"type": "string",
"description": "0x address"
}
}
}Find the implementation behind a proxy contract on Arbitrum One: reads the EIP-1967 implementation, beacon and admin slots, EIP-1822 (UUPS), the older OpenZeppelin layout and EIP-1167 minimal-proxy bytecode, and names the kind found. Use before trusting or decoding a contract whose code can be swapped by its admin; for a fuller risk verdict use contract_risk. A malformed address is 400; an address without code is 404, both uncharged. Example: address=0xaf88d065e77c8cC2239327C5EDb3A432268e5831. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| address* | string | 0x contract address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"address"
],
"properties": {
"address": {
"type": "string",
"description": "0x contract address"
}
}
}Transaction receipt on Arbitrum One (eth_getTransactionReceipt): success or reverted, gas used, effective gas price, fee paid in ETH, number of event logs and any contract created. Use to confirm a payment or call went through; for sender, value and calldata use arb_tx. Input is a 0x-prefixed 64-hex hash; a pending or unknown hash returns 404, uncharged. Example: hash=0xf03682db039f7b1b72ddf4d17572738f142cf63ecb36c90afa570430ea9774c4. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| hash* | string | 0x-prefixed transaction hash (64 hex characters) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"hash"
],
"properties": {
"hash": {
"type": "string",
"description": "0x-prefixed transaction hash (64 hex characters)"
}
}
}Read one raw storage slot of a contract on Arbitrum One (eth_getStorageAt): the 32-byte word, as a number and, when it holds one, as an address. Slot is a decimal index or a 0x 32-byte key (mapping and proxy slots). Use to inspect contract state that has no getter, owners or implementation pointers; for proxies use arb_proxy. A malformed address or slot is rejected with 400, uncharged. Example: address=0xaf88d065e77c8cC2239327C5EDb3A432268e5831. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| slot | string | Slot: a decimal index (0, 1, 2…) or a 0x 32-byte key |
| address* | string | 0x contract address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"address"
],
"properties": {
"slot": {
"type": "string",
"description": "Slot: a decimal index (0, 1, 2…) or a 0x 32-byte key"
},
"address": {
"type": "string",
"description": "0x contract address"
}
}
}ERC-20 token balance of a wallet on Arbitrum One (USDC, USDT, WETH or any token, via balanceOf): raw amount, decimals, symbol and the human-readable amount, live from the token contract. Use to check stablecoin or token holdings before a transfer or trade; for the native coin use arb_balance. Both inputs are 0x addresses (40 hex characters); no contract returns 404 and a non-ERC-20 contract 422, both uncharged. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| token* | string | Token: a ticker such as USDC, USDT, WETH or DAI, or the 0x ERC-20 contract address |
| address* | string | 0x wallet address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"token",
"address"
],
"properties": {
"token": {
"type": "string",
"description": "Token: a ticker such as USDC, USDT, WETH or DAI, or the 0x ERC-20 contract address"
},
"address": {
"type": "string",
"description": "0x wallet address"
}
}
}Look up the name, symbol, decimals and total supply of an ERC-20 token contract on Arbitrum One, live from the contract. Use to identify an unknown token address or to format raw amounts; for a holder's balance use arb_token_balance. Input is a ticker (USDC, WETH…) or the token's 0x contract address; an address that is not an ERC-20 contract returns 422, uncharged. Example: token=0xaf88d065e77c8cC2239327C5EDb3A432268e5831. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| token* | string | Token: a ticker such as USDC or WETH, or the 0x ERC-20 contract address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"token"
],
"properties": {
"token": {
"type": "string",
"description": "Token: a ticker such as USDC or WETH, or the 0x ERC-20 contract address"
}
}
}List a wallet's recent transfers of one ERC-20 token (default USDC) on Arbitrum One, in and out, over the last N blocks (1-2,000, default 1,000): direction, counterparty, amount and transaction, newest first, up to 50. Use to confirm a payment arrived or see what was sent; for the current balance use arb_token_balance. Malformed addresses are rejected with 400, uncharged. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| token | string | Token: a ticker such as USDT or WETH, or the 0x ERC-20 contract (default: USDC on this network) |
| blocks | integer | How many recent blocks to scan (1-2000, default 1000; 2,000 blocks is about 8 minutes on Arbitrum One) |
| address* | string | 0x wallet address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"address"
],
"properties": {
"token": {
"type": "string",
"description": "Token: a ticker such as USDT or WETH, or the 0x ERC-20 contract (default: USDC on this network)"
},
"blocks": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "How many recent blocks to scan (1-2000, default 1000; 2,000 blocks is about 8 minutes on Arbitrum One)"
},
"address": {
"type": "string",
"description": "0x wallet address"
}
}
}Look up an Arbitrum One transaction by hash: sender, recipient, value in ETH, nonce, gas limit, the 4-byte function selector and its block. Use to see what was sent or whether it exists; for success or failure and fees paid use arb_receipt, for emitted events arb_logs. Input is a 0x-prefixed 64-hex hash; an unknown hash returns 404, uncharged. Example: hash=0xf03682db039f7b1b72ddf4d17572738f142cf63ecb36c90afa570430ea9774c4. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| hash* | string | 0x-prefixed transaction hash (64 hex characters) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"hash"
],
"properties": {
"hash": {
"type": "string",
"description": "0x-prefixed transaction hash (64 hex characters)"
}
}
}Check how much of a wallet's ERC-20 token a spender contract is approved to move on Base: the raw and formatted allowance, the token symbol and decimals, and whether the approval is unlimited. Use before a swap or deposit to see if an approve transaction is needed, and to audit a wallet for risky unlimited approvals. Price $0.002/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| owner* | string | Wallet address that holds the token (0x...) |
| token* | string | ERC-20 token contract address on Base (0x...) |
| spender* | string | Address allowed to spend, usually a router or protocol contract (0x...) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"token",
"owner",
"spender"
],
"properties": {
"owner": {
"type": "string",
"description": "Wallet address that holds the token (0x...)"
},
"token": {
"type": "string",
"description": "ERC-20 token contract address on Base (0x...)"
},
"spender": {
"type": "string",
"description": "Address allowed to spend, usually a router or protocol contract (0x...)"
}
}
}Native ETH balance (eth_getBalance) of any 0x wallet address on Base at the latest block, in wei and in ETH. Use to check whether a wallet can pay gas or a transfer; for ERC-20 tokens use base_token_balance, for all holdings at once use wallet_portfolio. A malformed address is rejected with 400, uncharged. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| address* | string | 0x wallet or contract address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"address"
],
"properties": {
"address": {
"type": "string",
"description": "0x wallet or contract address"
}
}
}Latest block number and block details on Base, or any block by decimal number: hash, timestamp, transaction count, gas used and limit, base fee in gwei and producer. Use for timestamps and confirmation counts; for current fees use base_gas. A block that does not exist yet returns 404, uncharged. Example: number=latest. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| number | string | Block number, or 'latest' (default) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"number": {
"type": "string",
"description": "Block number, or 'latest' (default)"
}
}
}Read-only contract call on Base (eth_call): send ABI-encoded calldata to a contract at the latest block and get the raw return data, without a transaction or gas. Use to read any view function that has no dedicated tool (the example reads USDC totalSupply, selector 0x18160ddd); decode the result with the function's ABI. Calldata up to 8 KB; a call that reverts is 422 with the reason, uncharged. Example: to=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913, data=0x18160ddd. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| to* | string | 0x contract address to call |
| data* | string | 0x ABI-encoded calldata: 4-byte selector plus arguments |
| from | string | Optional 0x sender address for calls that check msg.sender |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"to",
"data"
],
"properties": {
"to": {
"type": "string",
"description": "0x contract address to call"
},
"data": {
"type": "string",
"description": "0x ABI-encoded calldata: 4-byte selector plus arguments"
},
"from": {
"type": "string",
"description": "Optional 0x sender address for calls that check msg.sender"
}
}
}Estimate the gas a transaction would use on Base (eth_estimateGas) and what it would cost at the current gas price, in gas units, gwei and ETH. Give to, plus value in ETH and calldata for a contract call, and the sender when the call depends on it. Use before sending a transaction or to price a batch; for the gas price alone use base_gas. A transaction that would revert is 422 with the reason, uncharged. Example: to=0x000000000000000000000000000000000000dEaD. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| to* | string | 0x recipient or contract address |
| data | string | Optional 0x calldata for a contract call |
| from | string | 0x sender address (default: an empty address) |
| value | string | number | boolean | Amount of ETH to send, in ETH (default 0) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"to"
],
"properties": {
"to": {
"type": "string",
"description": "0x recipient or contract address"
},
"data": {
"type": "string",
"description": "Optional 0x calldata for a contract call"
},
"from": {
"type": "string",
"description": "0x sender address (default: an empty address)"
},
"value": {
"type": [
"string",
"number",
"boolean"
],
"description": "Amount of ETH to send, in ETH (default 0)"
}
}
}Live gas prices on Base (chain 8453) read from the latest block: base fee and priority fee in gwei, suggested maxFeePerGas and maxPriorityFeePerGas in wei for an EIP-1559 transaction, how full the latest block is, and the estimated execution fee in ETH for an ETH transfer and an ERC-20 transfer. Use before sending a transaction on Base or to decide whether to wait for lower fees. Price $0.002/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| only | string | Optional: comma-separated top-level result keys to keep, for a smaller answer (for example only=price,symbol); unknown keys are ignored and an empty match returns the full result |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"only": {
"type": "string",
"description": "Optional: comma-separated top-level result keys to keep, for a smaller answer (for example only=price,symbol); unknown keys are ignored and an empty match returns the full result"
}
}
}Check whether a 0x address on Base is a smart contract or a plain wallet: bytecode size, and whether it is an EIP-1167 minimal proxy and which implementation it points to. Use before sending funds or approving a spender; for a fuller risk verdict use check_counterparty. A malformed address is rejected with 400, uncharged. Example: address=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| address* | string | 0x address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"address"
],
"properties": {
"address": {
"type": "string",
"description": "0x address"
}
}
}Recent contract event logs on Base (eth_getLogs): the events a contract emitted over the last N blocks (1-1,000, default 50), optionally filtered by topic0 (the 0x 32-byte event signature hash). Returns up to 100 logs with block, transaction hash and topics. Use to watch transfers or contract events; for one transaction's outcome use base_receipt. Example: address=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| blocks | integer | How many recent blocks to scan (1-1000, default 50) |
| topic0 | string | Optional 0x event signature hash to filter by |
| address* | string | 0x contract address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"address"
],
"properties": {
"blocks": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "How many recent blocks to scan (1-1000, default 50)"
},
"topic0": {
"type": "string",
"description": "Optional 0x event signature hash to filter by"
},
"address": {
"type": "string",
"description": "0x contract address"
}
}
}How many NFTs of one ERC-721 collection a wallet holds on Base (balanceOf), with the collection's name and symbol. Use to check a holder before a token-gated action or to see whether a wallet still holds a collection; for who holds one token id use base_nft_owner. Both inputs are 0x addresses; a missing contract is 404, a contract that is not ERC-721 422, both uncharged. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| address* | string | 0x wallet address |
| contract* | string | 0x ERC-721 collection contract address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"contract",
"address"
],
"properties": {
"address": {
"type": "string",
"description": "0x wallet address"
},
"contract": {
"type": "string",
"description": "0x ERC-721 collection contract address"
}
}
}NFT metadata on Base: the token URI of one ERC-721 token id (tokenURI) and the JSON it points to (name, description, image, attributes), read from data: URIs, https or ipfs:// (through ipfs.io). Strings over 1,000 characters, such as on-chain SVG images, are shortened. Use to show or check what an NFT is; for its owner use base_nft_owner. A token that does not exist is 422, uncharged; unreachable metadata is reported in metadataError. Example: contract=0x03a520b32C04BF3bEEf7BEb72E919cf822Ed34f1, tokenId=1. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| tokenId* | string | number | boolean | Token id, a whole number |
| contract* | string | 0x ERC-721 collection contract address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"contract",
"tokenId"
],
"properties": {
"tokenId": {
"type": [
"string",
"number",
"boolean"
],
"description": "Token id, a whole number"
},
"contract": {
"type": "string",
"description": "0x ERC-721 collection contract address"
}
}
}Owner of an NFT on Base: the wallet that holds one ERC-721 token id right now (ownerOf), plus the collection's name and symbol. Use to verify who holds an NFT before a trade, a mint gate or an airdrop; for how many a wallet holds use base_nft_balance, for the token's metadata base_nft_metadata. A missing contract is 404, a token that does not exist 422, both uncharged. Example: contract=0x03a520b32C04BF3bEEf7BEb72E919cf822Ed34f1, tokenId=1. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| tokenId* | string | number | boolean | Token id, a whole number |
| contract* | string | 0x ERC-721 collection contract address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"contract",
"tokenId"
],
"properties": {
"tokenId": {
"type": [
"string",
"number",
"boolean"
],
"description": "Token id, a whole number"
},
"contract": {
"type": "string",
"description": "0x ERC-721 collection contract address"
}
}
}Read the transaction count (nonce) of a 0x address on Base, both confirmed and including pending transactions. Use to build the next transaction or to tell whether an address has ever sent anything; for its balance use base_balance. A malformed address is rejected with 400, uncharged. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| address* | string | 0x address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"address"
],
"properties": {
"address": {
"type": "string",
"description": "0x address"
}
}
}Find the implementation behind a proxy contract on Base: reads the EIP-1967 implementation, beacon and admin slots, EIP-1822 (UUPS), the older OpenZeppelin layout and EIP-1167 minimal-proxy bytecode, and names the kind found. Use before trusting or decoding a contract whose code can be swapped by its admin; for a fuller risk verdict use contract_risk. A malformed address is 400; an address without code is 404, both uncharged. Example: address=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| address* | string | 0x contract address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"address"
],
"properties": {
"address": {
"type": "string",
"description": "0x contract address"
}
}
}Transaction receipt on Base (eth_getTransactionReceipt): success or reverted, gas used, effective gas price, fee paid in ETH, number of event logs and any contract created. Use to confirm a payment or call went through; for sender, value and calldata use base_tx. Input is a 0x-prefixed 64-hex hash; a pending or unknown hash returns 404, uncharged. Example: hash=0x7d108fa131ed949c76d50caf2e7dfe25fc9903b9d276c40a0446d8afbdfe86b0. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| hash* | string | 0x-prefixed transaction hash (64 hex characters) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"hash"
],
"properties": {
"hash": {
"type": "string",
"description": "0x-prefixed transaction hash (64 hex characters)"
}
}
}Read one raw storage slot of a contract on Base (eth_getStorageAt): the 32-byte word, as a number and, when it holds one, as an address. Slot is a decimal index or a 0x 32-byte key (mapping and proxy slots). Use to inspect contract state that has no getter, owners or implementation pointers; for proxies use base_proxy. A malformed address or slot is rejected with 400, uncharged. Example: address=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| slot | string | Slot: a decimal index (0, 1, 2…) or a 0x 32-byte key |
| address* | string | 0x contract address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"address"
],
"properties": {
"slot": {
"type": "string",
"description": "Slot: a decimal index (0, 1, 2…) or a 0x 32-byte key"
},
"address": {
"type": "string",
"description": "0x contract address"
}
}
}ERC-20 token balance of a wallet on Base (USDC, USDT, WETH or any token, via balanceOf): raw amount, decimals, symbol and the human-readable amount, live from the token contract. Use to check stablecoin or token holdings before a transfer or trade; for the native coin use base_balance. Both inputs are 0x addresses (40 hex characters); no contract returns 404 and a non-ERC-20 contract 422, both uncharged. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| token* | string | Token: a ticker such as USDC, USDT, WETH or DAI, or the 0x ERC-20 contract address |
| address* | string | 0x wallet address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"token",
"address"
],
"properties": {
"token": {
"type": "string",
"description": "Token: a ticker such as USDC, USDT, WETH or DAI, or the 0x ERC-20 contract address"
},
"address": {
"type": "string",
"description": "0x wallet address"
}
}
}Look up the name, symbol, decimals and total supply of an ERC-20 token contract on Base, live from the contract. Use to identify an unknown token address or to format raw amounts; for a holder's balance use base_token_balance. Input is a ticker (USDC, WETH…) or the token's 0x contract address; an address that is not an ERC-20 contract returns 422, uncharged. Example: token=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| token* | string | Token: a ticker such as USDC or WETH, or the 0x ERC-20 contract address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"token"
],
"properties": {
"token": {
"type": "string",
"description": "Token: a ticker such as USDC or WETH, or the 0x ERC-20 contract address"
}
}
}List a wallet's recent transfers of one ERC-20 token (default USDC) on Base, in and out, over the last N blocks (1-2,000, default 1,000): direction, counterparty, amount and transaction, newest first, up to 50. Use to confirm a payment arrived or see what was sent; for the current balance use base_token_balance. Malformed addresses are rejected with 400, uncharged. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| token | string | Token: a ticker such as USDT or WETH, or the 0x ERC-20 contract (default: USDC on this network) |
| blocks | integer | How many recent blocks to scan (1-2000, default 1000; 2,000 blocks is about 67 minutes on Base) |
| address* | string | 0x wallet address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"address"
],
"properties": {
"token": {
"type": "string",
"description": "Token: a ticker such as USDT or WETH, or the 0x ERC-20 contract (default: USDC on this network)"
},
"blocks": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "How many recent blocks to scan (1-2000, default 1000; 2,000 blocks is about 67 minutes on Base)"
},
"address": {
"type": "string",
"description": "0x wallet address"
}
}
}Look up any transaction on Base by hash: whether it succeeded, reverted or is still pending, sender and receiver, ETH value, called method id, block number and time, number of confirmations, gas used, gas price and the execution fee paid, and whether it created a contract. Use to confirm that a payment or contract call went through before acting on it. Example: hash=0x7d108fa131ed949c76d50caf2e7dfe25fc9903b9d276c40a0446d8afbdfe86b0. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| hash* | string | Transaction hash on Base: 0x followed by 64 hex characters |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"hash"
],
"properties": {
"hash": {
"type": "string",
"description": "Transaction hash on Base: 0x followed by 64 hex characters"
}
}
}Balance and activity of any Bitcoin mainnet address (legacy, P2SH or bech32): confirmed balance in sats and BTC, unconfirmed pending amount, total received and sent, and transaction counts. Use for payment verification, checking whether a deposit arrived, and wallet monitoring. Example: address=bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| address* | string | Bitcoin mainnet address (1..., 3... or bc1...) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"address"
],
"properties": {
"address": {
"type": "string",
"description": "Bitcoin mainnet address (1..., 3... or bc1...)"
}
}
}Current Bitcoin network fee rates in sat/vB for next-block, half-hour, one-hour and economy confirmation, the estimated cost in sats of a typical payment, mempool size and total pending fees, and the latest block height. Use before sending a Bitcoin transaction or to decide whether to wait for lower fees. Price $0.002/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| only | string | Optional: comma-separated top-level result keys to keep, for a smaller answer (for example only=price,symbol); unknown keys are ignored and an empty match returns the full result |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"only": {
"type": "string",
"description": "Optional: comma-separated top-level result keys to keep, for a smaller answer (for example only=price,symbol); unknown keys are ignored and an empty match returns the full result"
}
}
}Resolve an Ethereum Name Service name such as vitalik.eth to its wallet address and avatar, or look up the primary ENS name of an address (reverse resolution). Read live from Ethereum mainnet. Use to turn a human-readable name into a payable address, or to show a readable name for a counterparty address. Example: name=vitalik.eth. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| name* | string | An ENS name such as vitalik.eth, or an address (0x...) for reverse lookup |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "An ENS name such as vitalik.eth, or an address (0x...) for reverse lookup"
}
}
}ERC-20 token allowance on Ethereum: how much a spender may move from an owner's wallet (allowance), raw and in token units, and whether the approval is unlimited. Use to check an approval before a swap or to audit risky open approvals; for the owner's balance use eth_token_balance. Token is a ticker (USDC, USDT, WETH…) or a 0x contract; a missing contract is 404 and a non-ERC-20 422, both uncharged. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| owner* | string | 0x wallet that gave the approval |
| token* | string | Token: a ticker such as USDC or WETH, or the 0x ERC-20 contract address |
| spender* | string | 0x contract or wallet allowed to spend (the example is Uniswap Permit2) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"token",
"owner",
"spender"
],
"properties": {
"owner": {
"type": "string",
"description": "0x wallet that gave the approval"
},
"token": {
"type": "string",
"description": "Token: a ticker such as USDC or WETH, or the 0x ERC-20 contract address"
},
"spender": {
"type": "string",
"description": "0x contract or wallet allowed to spend (the example is Uniswap Permit2)"
}
}
}Native ETH balance (eth_getBalance) of any 0x wallet address on Ethereum at the latest block, in wei and in ETH. Use to check whether a wallet can pay gas or a transfer; for ERC-20 tokens use eth_token_balance, for all holdings at once use wallet_portfolio. A malformed address is rejected with 400, uncharged. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| address* | string | 0x wallet or contract address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"address"
],
"properties": {
"address": {
"type": "string",
"description": "0x wallet or contract address"
}
}
}Latest block number and block details on Ethereum, or any block by decimal number: hash, timestamp, transaction count, gas used and limit, base fee in gwei and producer. Use for timestamps and confirmation counts; for current fees use eth_gas. A block that does not exist yet returns 404, uncharged. Example: number=latest. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| number | string | Block number, or 'latest' (default) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"number": {
"type": "string",
"description": "Block number, or 'latest' (default)"
}
}
}Read-only contract call on Ethereum (eth_call): send ABI-encoded calldata to a contract at the latest block and get the raw return data, without a transaction or gas. Use to read any view function that has no dedicated tool (the example reads USDC totalSupply, selector 0x18160ddd); decode the result with the function's ABI. Calldata up to 8 KB; a call that reverts is 422 with the reason, uncharged. Example: to=0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48, data=0x18160ddd. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| to* | string | 0x contract address to call |
| data* | string | 0x ABI-encoded calldata: 4-byte selector plus arguments |
| from | string | Optional 0x sender address for calls that check msg.sender |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"to",
"data"
],
"properties": {
"to": {
"type": "string",
"description": "0x contract address to call"
},
"data": {
"type": "string",
"description": "0x ABI-encoded calldata: 4-byte selector plus arguments"
},
"from": {
"type": "string",
"description": "Optional 0x sender address for calls that check msg.sender"
}
}
}Estimate the gas a transaction would use on Ethereum (eth_estimateGas) and what it would cost at the current gas price, in gas units, gwei and ETH. Give to, plus value in ETH and calldata for a contract call, and the sender when the call depends on it. Use before sending a transaction or to price a batch; for the gas price alone use eth_gas. A transaction that would revert is 422 with the reason, uncharged. Example: to=0x000000000000000000000000000000000000dEaD. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| to* | string | 0x recipient or contract address |
| data | string | Optional 0x calldata for a contract call |
| from | string | 0x sender address (default: an empty address) |
| value | string | number | boolean | Amount of ETH to send, in ETH (default 0) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"to"
],
"properties": {
"to": {
"type": "string",
"description": "0x recipient or contract address"
},
"data": {
"type": "string",
"description": "Optional 0x calldata for a contract call"
},
"from": {
"type": "string",
"description": "0x sender address (default: an empty address)"
},
"value": {
"type": [
"string",
"number",
"boolean"
],
"description": "Amount of ETH to send, in ETH (default 0)"
}
}
}Current gas price on Ethereum (eth_gasPrice): gas price, base fee and suggested priority fee in gwei, plus what a plain ETH transfer (21,000 gas) costs right now. Takes no input. Use before sending a transaction or to decide whether to wait; for the fee a past transaction actually paid use eth_receipt. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| only | string | Optional: comma-separated top-level result keys to keep, for a smaller answer (for example only=price,symbol); unknown keys are ignored and an empty match returns the full result |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"only": {
"type": "string",
"description": "Optional: comma-separated top-level result keys to keep, for a smaller answer (for example only=price,symbol); unknown keys are ignored and an empty match returns the full result"
}
}
}Check whether a 0x address on Ethereum is a smart contract or a plain wallet: bytecode size, and whether it is an EIP-1167 minimal proxy and which implementation it points to. Use before sending funds or approving a spender; for a fuller risk verdict use check_counterparty. A malformed address is rejected with 400, uncharged. Example: address=0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| address* | string | 0x address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"address"
],
"properties": {
"address": {
"type": "string",
"description": "0x address"
}
}
}Recent contract event logs on Ethereum (eth_getLogs): the events a contract emitted over the last N blocks (1-1,000, default 50), optionally filtered by topic0 (the 0x 32-byte event signature hash). Returns up to 100 logs with block, transaction hash and topics. Use to watch transfers or contract events; for one transaction's outcome use eth_receipt. Example: address=0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| blocks | integer | How many recent blocks to scan (1-1000, default 50) |
| topic0 | string | Optional 0x event signature hash to filter by |
| address* | string | 0x contract address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"address"
],
"properties": {
"blocks": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "How many recent blocks to scan (1-1000, default 50)"
},
"topic0": {
"type": "string",
"description": "Optional 0x event signature hash to filter by"
},
"address": {
"type": "string",
"description": "0x contract address"
}
}
}How many NFTs of one ERC-721 collection a wallet holds on Ethereum (balanceOf), with the collection's name and symbol. Use to check a holder before a token-gated action or to see whether a wallet still holds a collection; for who holds one token id use eth_nft_owner. Both inputs are 0x addresses; a missing contract is 404, a contract that is not ERC-721 422, both uncharged. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| address* | string | 0x wallet address |
| contract* | string | 0x ERC-721 collection contract address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"contract",
"address"
],
"properties": {
"address": {
"type": "string",
"description": "0x wallet address"
},
"contract": {
"type": "string",
"description": "0x ERC-721 collection contract address"
}
}
}NFT metadata on Ethereum: the token URI of one ERC-721 token id (tokenURI) and the JSON it points to (name, description, image, attributes), read from data: URIs, https or ipfs:// (through ipfs.io). Strings over 1,000 characters, such as on-chain SVG images, are shortened. Use to show or check what an NFT is; for its owner use eth_nft_owner. A token that does not exist is 422, uncharged; unreachable metadata is reported in metadataError. Example: contract=0xC36442b4a4522E871399CD717aBDD847Ab11FE88, tokenId=1. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| tokenId* | string | number | boolean | Token id, a whole number |
| contract* | string | 0x ERC-721 collection contract address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"contract",
"tokenId"
],
"properties": {
"tokenId": {
"type": [
"string",
"number",
"boolean"
],
"description": "Token id, a whole number"
},
"contract": {
"type": "string",
"description": "0x ERC-721 collection contract address"
}
}
}Owner of an NFT on Ethereum: the wallet that holds one ERC-721 token id right now (ownerOf), plus the collection's name and symbol. Use to verify who holds an NFT before a trade, a mint gate or an airdrop; for how many a wallet holds use eth_nft_balance, for the token's metadata eth_nft_metadata. A missing contract is 404, a token that does not exist 422, both uncharged. Example: contract=0xC36442b4a4522E871399CD717aBDD847Ab11FE88, tokenId=1. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| tokenId* | string | number | boolean | Token id, a whole number |
| contract* | string | 0x ERC-721 collection contract address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"contract",
"tokenId"
],
"properties": {
"tokenId": {
"type": [
"string",
"number",
"boolean"
],
"description": "Token id, a whole number"
},
"contract": {
"type": "string",
"description": "0x ERC-721 collection contract address"
}
}
}Read the transaction count (nonce) of a 0x address on Ethereum, both confirmed and including pending transactions. Use to build the next transaction or to tell whether an address has ever sent anything; for its balance use eth_balance. A malformed address is rejected with 400, uncharged. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| address* | string | 0x address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"address"
],
"properties": {
"address": {
"type": "string",
"description": "0x address"
}
}
}Find the implementation behind a proxy contract on Ethereum: reads the EIP-1967 implementation, beacon and admin slots, EIP-1822 (UUPS), the older OpenZeppelin layout and EIP-1167 minimal-proxy bytecode, and names the kind found. Use before trusting or decoding a contract whose code can be swapped by its admin; for a fuller risk verdict use contract_risk. A malformed address is 400; an address without code is 404, both uncharged. Example: address=0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| address* | string | 0x contract address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"address"
],
"properties": {
"address": {
"type": "string",
"description": "0x contract address"
}
}
}Transaction receipt on Ethereum (eth_getTransactionReceipt): success or reverted, gas used, effective gas price, fee paid in ETH, number of event logs and any contract created. Use to confirm a payment or call went through; for sender, value and calldata use eth_tx. Input is a 0x-prefixed 64-hex hash; a pending or unknown hash returns 404, uncharged. Example: hash=0x9531467e03a57bbb5cd080439ac3b10c0cefed147282eb2ff709b02c897afcbf. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| hash* | string | 0x-prefixed transaction hash (64 hex characters) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"hash"
],
"properties": {
"hash": {
"type": "string",
"description": "0x-prefixed transaction hash (64 hex characters)"
}
}
}Read one raw storage slot of a contract on Ethereum (eth_getStorageAt): the 32-byte word, as a number and, when it holds one, as an address. Slot is a decimal index or a 0x 32-byte key (mapping and proxy slots). Use to inspect contract state that has no getter, owners or implementation pointers; for proxies use eth_proxy. A malformed address or slot is rejected with 400, uncharged. Example: address=0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| slot | string | Slot: a decimal index (0, 1, 2…) or a 0x 32-byte key |
| address* | string | 0x contract address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"address"
],
"properties": {
"slot": {
"type": "string",
"description": "Slot: a decimal index (0, 1, 2…) or a 0x 32-byte key"
},
"address": {
"type": "string",
"description": "0x contract address"
}
}
}ERC-20 token balance of a wallet on Ethereum (USDC, USDT, WETH or any token, via balanceOf): raw amount, decimals, symbol and the human-readable amount, live from the token contract. Use to check stablecoin or token holdings before a transfer or trade; for the native coin use eth_balance. Both inputs are 0x addresses (40 hex characters); no contract returns 404 and a non-ERC-20 contract 422, both uncharged. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| token* | string | Token: a ticker such as USDC, USDT, WETH or DAI, or the 0x ERC-20 contract address |
| address* | string | 0x wallet address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"token",
"address"
],
"properties": {
"token": {
"type": "string",
"description": "Token: a ticker such as USDC, USDT, WETH or DAI, or the 0x ERC-20 contract address"
},
"address": {
"type": "string",
"description": "0x wallet address"
}
}
}Look up the name, symbol, decimals and total supply of an ERC-20 token contract on Ethereum, live from the contract. Use to identify an unknown token address or to format raw amounts; for a holder's balance use eth_token_balance. Input is a ticker (USDC, WETH…) or the token's 0x contract address; an address that is not an ERC-20 contract returns 422, uncharged. Example: token=0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| token* | string | Token: a ticker such as USDC or WETH, or the 0x ERC-20 contract address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"token"
],
"properties": {
"token": {
"type": "string",
"description": "Token: a ticker such as USDC or WETH, or the 0x ERC-20 contract address"
}
}
}List a wallet's recent transfers of one ERC-20 token (default USDC) on Ethereum, in and out, over the last N blocks (1-2,000, default 1,000): direction, counterparty, amount and transaction, newest first, up to 50. Use to confirm a payment arrived or see what was sent; for the current balance use eth_token_balance. Malformed addresses are rejected with 400, uncharged. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| token | string | Token: a ticker such as USDT or WETH, or the 0x ERC-20 contract (default: USDC on this network) |
| blocks | integer | How many recent blocks to scan (1-2000, default 1000; 2,000 blocks is about 6.7 hours on Ethereum) |
| address* | string | 0x wallet address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"address"
],
"properties": {
"token": {
"type": "string",
"description": "Token: a ticker such as USDT or WETH, or the 0x ERC-20 contract (default: USDC on this network)"
},
"blocks": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "How many recent blocks to scan (1-2000, default 1000; 2,000 blocks is about 6.7 hours on Ethereum)"
},
"address": {
"type": "string",
"description": "0x wallet address"
}
}
}Look up an Ethereum transaction by hash: sender, recipient, value in ETH, nonce, gas limit, the 4-byte function selector and its block. Use to see what was sent or whether it exists; for success or failure and fees paid use eth_receipt, for emitted events eth_logs. Input is a 0x-prefixed 64-hex hash; an unknown hash returns 404, uncharged. Example: hash=0x9531467e03a57bbb5cd080439ac3b10c0cefed147282eb2ff709b02c897afcbf. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| hash* | string | 0x-prefixed transaction hash (64 hex characters) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"hash"
],
"properties": {
"hash": {
"type": "string",
"description": "0x-prefixed transaction hash (64 hex characters)"
}
}
}Keccak-256 hash (the Ethereum hash) of text or of 0x hex bytes, as used for function selectors, event topics and storage slots. Use when building or decoding EVM calls. Example: text=transfer(address,uint256). Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| text* | string | Text, or 0x-prefixed hex bytes, up to 10,000 characters |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"text"
],
"properties": {
"text": {
"type": "string",
"description": "Text, or 0x-prefixed hex bytes, up to 10,000 characters"
}
}
}Decode a BOLT11 Lightning Network invoice without paying it: network, amount in sats and BTC, description, payment hash, creation time, expiry time and whether it has already expired. Use to check what an invoice asks for before an agent pays it. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| invoice* | string | BOLT11 invoice string starting with ln (lnbc... for mainnet) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"invoice"
],
"properties": {
"invoice": {
"type": "string",
"description": "BOLT11 invoice string starting with ln (lnbc... for mainnet)"
}
}
}Reference facts for paying and reading on Base mainnet: chain id, native USDC contract and decimals, block explorer and public RPC URLs, and the x402 network identifier. Use to configure an x402 or Base client. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| only | string | Optional: comma-separated top-level result keys to keep, for a smaller answer (for example only=price,symbol); unknown keys are ignored and an empty match returns the full result |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"only": {
"type": "string",
"description": "Optional: comma-separated top-level result keys to keep, for a smaller answer (for example only=price,symbol); unknown keys are ignored and an empty match returns the full result"
}
}
}ERC-20 token allowance on Optimism: how much a spender may move from an owner's wallet (allowance), raw and in token units, and whether the approval is unlimited. Use to check an approval before a swap or to audit risky open approvals; for the owner's balance use op_token_balance. Token is a ticker (USDC, USDT, WETH…) or a 0x contract; a missing contract is 404 and a non-ERC-20 422, both uncharged. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| owner* | string | 0x wallet that gave the approval |
| token* | string | Token: a ticker such as USDC or WETH, or the 0x ERC-20 contract address |
| spender* | string | 0x contract or wallet allowed to spend (the example is Uniswap Permit2) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"token",
"owner",
"spender"
],
"properties": {
"owner": {
"type": "string",
"description": "0x wallet that gave the approval"
},
"token": {
"type": "string",
"description": "Token: a ticker such as USDC or WETH, or the 0x ERC-20 contract address"
},
"spender": {
"type": "string",
"description": "0x contract or wallet allowed to spend (the example is Uniswap Permit2)"
}
}
}Native ETH balance (eth_getBalance) of any 0x wallet address on Optimism at the latest block, in wei and in ETH. Use to check whether a wallet can pay gas or a transfer; for ERC-20 tokens use op_token_balance, for all holdings at once use wallet_portfolio. A malformed address is rejected with 400, uncharged. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| address* | string | 0x wallet or contract address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"address"
],
"properties": {
"address": {
"type": "string",
"description": "0x wallet or contract address"
}
}
}Latest block number and block details on Optimism, or any block by decimal number: hash, timestamp, transaction count, gas used and limit, base fee in gwei and producer. Use for timestamps and confirmation counts; for current fees use op_gas. A block that does not exist yet returns 404, uncharged. Example: number=latest. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| number | string | Block number, or 'latest' (default) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"number": {
"type": "string",
"description": "Block number, or 'latest' (default)"
}
}
}Read-only contract call on Optimism (eth_call): send ABI-encoded calldata to a contract at the latest block and get the raw return data, without a transaction or gas. Use to read any view function that has no dedicated tool (the example reads USDC totalSupply, selector 0x18160ddd); decode the result with the function's ABI. Calldata up to 8 KB; a call that reverts is 422 with the reason, uncharged. Example: to=0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85, data=0x18160ddd. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| to* | string | 0x contract address to call |
| data* | string | 0x ABI-encoded calldata: 4-byte selector plus arguments |
| from | string | Optional 0x sender address for calls that check msg.sender |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"to",
"data"
],
"properties": {
"to": {
"type": "string",
"description": "0x contract address to call"
},
"data": {
"type": "string",
"description": "0x ABI-encoded calldata: 4-byte selector plus arguments"
},
"from": {
"type": "string",
"description": "Optional 0x sender address for calls that check msg.sender"
}
}
}Estimate the gas a transaction would use on Optimism (eth_estimateGas) and what it would cost at the current gas price, in gas units, gwei and ETH. Give to, plus value in ETH and calldata for a contract call, and the sender when the call depends on it. Use before sending a transaction or to price a batch; for the gas price alone use op_gas. A transaction that would revert is 422 with the reason, uncharged. Example: to=0x000000000000000000000000000000000000dEaD. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| to* | string | 0x recipient or contract address |
| data | string | Optional 0x calldata for a contract call |
| from | string | 0x sender address (default: an empty address) |
| value | string | number | boolean | Amount of ETH to send, in ETH (default 0) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"to"
],
"properties": {
"to": {
"type": "string",
"description": "0x recipient or contract address"
},
"data": {
"type": "string",
"description": "Optional 0x calldata for a contract call"
},
"from": {
"type": "string",
"description": "0x sender address (default: an empty address)"
},
"value": {
"type": [
"string",
"number",
"boolean"
],
"description": "Amount of ETH to send, in ETH (default 0)"
}
}
}Current gas price on Optimism (eth_gasPrice): gas price, base fee and suggested priority fee in gwei, plus what a plain ETH transfer (21,000 gas) costs right now. Takes no input. Use before sending a transaction or to decide whether to wait; for the fee a past transaction actually paid use op_receipt. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| only | string | Optional: comma-separated top-level result keys to keep, for a smaller answer (for example only=price,symbol); unknown keys are ignored and an empty match returns the full result |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"only": {
"type": "string",
"description": "Optional: comma-separated top-level result keys to keep, for a smaller answer (for example only=price,symbol); unknown keys are ignored and an empty match returns the full result"
}
}
}Check whether a 0x address on Optimism is a smart contract or a plain wallet: bytecode size, and whether it is an EIP-1167 minimal proxy and which implementation it points to. Use before sending funds or approving a spender; for a fuller risk verdict use check_counterparty. A malformed address is rejected with 400, uncharged. Example: address=0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| address* | string | 0x address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"address"
],
"properties": {
"address": {
"type": "string",
"description": "0x address"
}
}
}Recent contract event logs on Optimism (eth_getLogs): the events a contract emitted over the last N blocks (1-1,000, default 50), optionally filtered by topic0 (the 0x 32-byte event signature hash). Returns up to 100 logs with block, transaction hash and topics. Use to watch transfers or contract events; for one transaction's outcome use op_receipt. Example: address=0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| blocks | integer | How many recent blocks to scan (1-1000, default 50) |
| topic0 | string | Optional 0x event signature hash to filter by |
| address* | string | 0x contract address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"address"
],
"properties": {
"blocks": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "How many recent blocks to scan (1-1000, default 50)"
},
"topic0": {
"type": "string",
"description": "Optional 0x event signature hash to filter by"
},
"address": {
"type": "string",
"description": "0x contract address"
}
}
}How many NFTs of one ERC-721 collection a wallet holds on Optimism (balanceOf), with the collection's name and symbol. Use to check a holder before a token-gated action or to see whether a wallet still holds a collection; for who holds one token id use op_nft_owner. Both inputs are 0x addresses; a missing contract is 404, a contract that is not ERC-721 422, both uncharged. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| address* | string | 0x wallet address |
| contract* | string | 0x ERC-721 collection contract address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"contract",
"address"
],
"properties": {
"address": {
"type": "string",
"description": "0x wallet address"
},
"contract": {
"type": "string",
"description": "0x ERC-721 collection contract address"
}
}
}NFT metadata on Optimism: the token URI of one ERC-721 token id (tokenURI) and the JSON it points to (name, description, image, attributes), read from data: URIs, https or ipfs:// (through ipfs.io). Strings over 1,000 characters, such as on-chain SVG images, are shortened. Use to show or check what an NFT is; for its owner use op_nft_owner. A token that does not exist is 422, uncharged; unreachable metadata is reported in metadataError. Example: contract=0xC36442b4a4522E871399CD717aBDD847Ab11FE88, tokenId=1. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| tokenId* | string | number | boolean | Token id, a whole number |
| contract* | string | 0x ERC-721 collection contract address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"contract",
"tokenId"
],
"properties": {
"tokenId": {
"type": [
"string",
"number",
"boolean"
],
"description": "Token id, a whole number"
},
"contract": {
"type": "string",
"description": "0x ERC-721 collection contract address"
}
}
}Owner of an NFT on Optimism: the wallet that holds one ERC-721 token id right now (ownerOf), plus the collection's name and symbol. Use to verify who holds an NFT before a trade, a mint gate or an airdrop; for how many a wallet holds use op_nft_balance, for the token's metadata op_nft_metadata. A missing contract is 404, a token that does not exist 422, both uncharged. Example: contract=0xC36442b4a4522E871399CD717aBDD847Ab11FE88, tokenId=1. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| tokenId* | string | number | boolean | Token id, a whole number |
| contract* | string | 0x ERC-721 collection contract address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"contract",
"tokenId"
],
"properties": {
"tokenId": {
"type": [
"string",
"number",
"boolean"
],
"description": "Token id, a whole number"
},
"contract": {
"type": "string",
"description": "0x ERC-721 collection contract address"
}
}
}Read the transaction count (nonce) of a 0x address on Optimism, both confirmed and including pending transactions. Use to build the next transaction or to tell whether an address has ever sent anything; for its balance use op_balance. A malformed address is rejected with 400, uncharged. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| address* | string | 0x address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"address"
],
"properties": {
"address": {
"type": "string",
"description": "0x address"
}
}
}Find the implementation behind a proxy contract on Optimism: reads the EIP-1967 implementation, beacon and admin slots, EIP-1822 (UUPS), the older OpenZeppelin layout and EIP-1167 minimal-proxy bytecode, and names the kind found. Use before trusting or decoding a contract whose code can be swapped by its admin; for a fuller risk verdict use contract_risk. A malformed address is 400; an address without code is 404, both uncharged. Example: address=0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| address* | string | 0x contract address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"address"
],
"properties": {
"address": {
"type": "string",
"description": "0x contract address"
}
}
}Transaction receipt on Optimism (eth_getTransactionReceipt): success or reverted, gas used, effective gas price, fee paid in ETH, number of event logs and any contract created. Use to confirm a payment or call went through; for sender, value and calldata use op_tx. Input is a 0x-prefixed 64-hex hash; a pending or unknown hash returns 404, uncharged. Example: hash=0x721f3e9a996da49e2a8929bd2dd42e0f51344c11d7ca7bc3328fda349cdfae89. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| hash* | string | 0x-prefixed transaction hash (64 hex characters) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"hash"
],
"properties": {
"hash": {
"type": "string",
"description": "0x-prefixed transaction hash (64 hex characters)"
}
}
}Read one raw storage slot of a contract on Optimism (eth_getStorageAt): the 32-byte word, as a number and, when it holds one, as an address. Slot is a decimal index or a 0x 32-byte key (mapping and proxy slots). Use to inspect contract state that has no getter, owners or implementation pointers; for proxies use op_proxy. A malformed address or slot is rejected with 400, uncharged. Example: address=0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| slot | string | Slot: a decimal index (0, 1, 2…) or a 0x 32-byte key |
| address* | string | 0x contract address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"address"
],
"properties": {
"slot": {
"type": "string",
"description": "Slot: a decimal index (0, 1, 2…) or a 0x 32-byte key"
},
"address": {
"type": "string",
"description": "0x contract address"
}
}
}ERC-20 token balance of a wallet on Optimism (USDC, USDT, WETH or any token, via balanceOf): raw amount, decimals, symbol and the human-readable amount, live from the token contract. Use to check stablecoin or token holdings before a transfer or trade; for the native coin use op_balance. Both inputs are 0x addresses (40 hex characters); no contract returns 404 and a non-ERC-20 contract 422, both uncharged. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| token* | string | Token: a ticker such as USDC, USDT, WETH or DAI, or the 0x ERC-20 contract address |
| address* | string | 0x wallet address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"token",
"address"
],
"properties": {
"token": {
"type": "string",
"description": "Token: a ticker such as USDC, USDT, WETH or DAI, or the 0x ERC-20 contract address"
},
"address": {
"type": "string",
"description": "0x wallet address"
}
}
}Look up the name, symbol, decimals and total supply of an ERC-20 token contract on Optimism, live from the contract. Use to identify an unknown token address or to format raw amounts; for a holder's balance use op_token_balance. Input is a ticker (USDC, WETH…) or the token's 0x contract address; an address that is not an ERC-20 contract returns 422, uncharged. Example: token=0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| token* | string | Token: a ticker such as USDC or WETH, or the 0x ERC-20 contract address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"token"
],
"properties": {
"token": {
"type": "string",
"description": "Token: a ticker such as USDC or WETH, or the 0x ERC-20 contract address"
}
}
}List a wallet's recent transfers of one ERC-20 token (default USDC) on Optimism, in and out, over the last N blocks (1-2,000, default 1,000): direction, counterparty, amount and transaction, newest first, up to 50. Use to confirm a payment arrived or see what was sent; for the current balance use op_token_balance. Malformed addresses are rejected with 400, uncharged. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| token | string | Token: a ticker such as USDT or WETH, or the 0x ERC-20 contract (default: USDC on this network) |
| blocks | integer | How many recent blocks to scan (1-2000, default 1000; 2,000 blocks is about 67 minutes on Optimism) |
| address* | string | 0x wallet address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"address"
],
"properties": {
"token": {
"type": "string",
"description": "Token: a ticker such as USDT or WETH, or the 0x ERC-20 contract (default: USDC on this network)"
},
"blocks": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "How many recent blocks to scan (1-2000, default 1000; 2,000 blocks is about 67 minutes on Optimism)"
},
"address": {
"type": "string",
"description": "0x wallet address"
}
}
}Look up an Optimism transaction by hash: sender, recipient, value in ETH, nonce, gas limit, the 4-byte function selector and its block. Use to see what was sent or whether it exists; for success or failure and fees paid use op_receipt, for emitted events op_logs. Input is a 0x-prefixed 64-hex hash; an unknown hash returns 404, uncharged. Example: hash=0x721f3e9a996da49e2a8929bd2dd42e0f51344c11d7ca7bc3328fda349cdfae89. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| hash* | string | 0x-prefixed transaction hash (64 hex characters) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"hash"
],
"properties": {
"hash": {
"type": "string",
"description": "0x-prefixed transaction hash (64 hex characters)"
}
}
}ERC-20 token allowance on Polygon PoS: how much a spender may move from an owner's wallet (allowance), raw and in token units, and whether the approval is unlimited. Use to check an approval before a swap or to audit risky open approvals; for the owner's balance use polygon_token_balance. Token is a ticker (USDC, USDT, WETH…) or a 0x contract; a missing contract is 404 and a non-ERC-20 422, both uncharged. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| owner* | string | 0x wallet that gave the approval |
| token* | string | Token: a ticker such as USDC or WETH, or the 0x ERC-20 contract address |
| spender* | string | 0x contract or wallet allowed to spend (the example is Uniswap Permit2) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"token",
"owner",
"spender"
],
"properties": {
"owner": {
"type": "string",
"description": "0x wallet that gave the approval"
},
"token": {
"type": "string",
"description": "Token: a ticker such as USDC or WETH, or the 0x ERC-20 contract address"
},
"spender": {
"type": "string",
"description": "0x contract or wallet allowed to spend (the example is Uniswap Permit2)"
}
}
}Native POL balance (eth_getBalance) of any 0x wallet address on Polygon PoS at the latest block, in wei and in POL. Use to check whether a wallet can pay gas or a transfer; for ERC-20 tokens use polygon_token_balance, for all holdings at once use wallet_portfolio. A malformed address is rejected with 400, uncharged. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| address* | string | 0x wallet or contract address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"address"
],
"properties": {
"address": {
"type": "string",
"description": "0x wallet or contract address"
}
}
}Latest block number and block details on Polygon PoS, or any block by decimal number: hash, timestamp, transaction count, gas used and limit, base fee in gwei and producer. Use for timestamps and confirmation counts; for current fees use polygon_gas. A block that does not exist yet returns 404, uncharged. Example: number=latest. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| number | string | Block number, or 'latest' (default) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"number": {
"type": "string",
"description": "Block number, or 'latest' (default)"
}
}
}Read-only contract call on Polygon PoS (eth_call): send ABI-encoded calldata to a contract at the latest block and get the raw return data, without a transaction or gas. Use to read any view function that has no dedicated tool (the example reads USDC totalSupply, selector 0x18160ddd); decode the result with the function's ABI. Calldata up to 8 KB; a call that reverts is 422 with the reason, uncharged. Example: to=0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359, data=0x18160ddd. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| to* | string | 0x contract address to call |
| data* | string | 0x ABI-encoded calldata: 4-byte selector plus arguments |
| from | string | Optional 0x sender address for calls that check msg.sender |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"to",
"data"
],
"properties": {
"to": {
"type": "string",
"description": "0x contract address to call"
},
"data": {
"type": "string",
"description": "0x ABI-encoded calldata: 4-byte selector plus arguments"
},
"from": {
"type": "string",
"description": "Optional 0x sender address for calls that check msg.sender"
}
}
}Estimate the gas a transaction would use on Polygon PoS (eth_estimateGas) and what it would cost at the current gas price, in gas units, gwei and POL. Give to, plus value in POL and calldata for a contract call, and the sender when the call depends on it. Use before sending a transaction or to price a batch; for the gas price alone use polygon_gas. A transaction that would revert is 422 with the reason, uncharged. Example: to=0x000000000000000000000000000000000000dEaD. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| to* | string | 0x recipient or contract address |
| data | string | Optional 0x calldata for a contract call |
| from | string | 0x sender address (default: an empty address) |
| value | string | number | boolean | Amount of POL to send, in POL (default 0) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"to"
],
"properties": {
"to": {
"type": "string",
"description": "0x recipient or contract address"
},
"data": {
"type": "string",
"description": "Optional 0x calldata for a contract call"
},
"from": {
"type": "string",
"description": "0x sender address (default: an empty address)"
},
"value": {
"type": [
"string",
"number",
"boolean"
],
"description": "Amount of POL to send, in POL (default 0)"
}
}
}Current gas price on Polygon PoS (eth_gasPrice): gas price, base fee and suggested priority fee in gwei, plus what a plain POL transfer (21,000 gas) costs right now. Takes no input. Use before sending a transaction or to decide whether to wait; for the fee a past transaction actually paid use polygon_receipt. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| only | string | Optional: comma-separated top-level result keys to keep, for a smaller answer (for example only=price,symbol); unknown keys are ignored and an empty match returns the full result |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"only": {
"type": "string",
"description": "Optional: comma-separated top-level result keys to keep, for a smaller answer (for example only=price,symbol); unknown keys are ignored and an empty match returns the full result"
}
}
}Check whether a 0x address on Polygon PoS is a smart contract or a plain wallet: bytecode size, and whether it is an EIP-1167 minimal proxy and which implementation it points to. Use before sending funds or approving a spender; for a fuller risk verdict use check_counterparty. A malformed address is rejected with 400, uncharged. Example: address=0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| address* | string | 0x address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"address"
],
"properties": {
"address": {
"type": "string",
"description": "0x address"
}
}
}Recent contract event logs on Polygon PoS (eth_getLogs): the events a contract emitted over the last N blocks (1-1,000, default 50), optionally filtered by topic0 (the 0x 32-byte event signature hash). Returns up to 100 logs with block, transaction hash and topics. Use to watch transfers or contract events; for one transaction's outcome use polygon_receipt. Example: address=0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| blocks | integer | How many recent blocks to scan (1-1000, default 50) |
| topic0 | string | Optional 0x event signature hash to filter by |
| address* | string | 0x contract address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"address"
],
"properties": {
"blocks": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "How many recent blocks to scan (1-1000, default 50)"
},
"topic0": {
"type": "string",
"description": "Optional 0x event signature hash to filter by"
},
"address": {
"type": "string",
"description": "0x contract address"
}
}
}How many NFTs of one ERC-721 collection a wallet holds on Polygon PoS (balanceOf), with the collection's name and symbol. Use to check a holder before a token-gated action or to see whether a wallet still holds a collection; for who holds one token id use polygon_nft_owner. Both inputs are 0x addresses; a missing contract is 404, a contract that is not ERC-721 422, both uncharged. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| address* | string | 0x wallet address |
| contract* | string | 0x ERC-721 collection contract address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"contract",
"address"
],
"properties": {
"address": {
"type": "string",
"description": "0x wallet address"
},
"contract": {
"type": "string",
"description": "0x ERC-721 collection contract address"
}
}
}NFT metadata on Polygon PoS: the token URI of one ERC-721 token id (tokenURI) and the JSON it points to (name, description, image, attributes), read from data: URIs, https or ipfs:// (through ipfs.io). Strings over 1,000 characters, such as on-chain SVG images, are shortened. Use to show or check what an NFT is; for its owner use polygon_nft_owner. A token that does not exist is 422, uncharged; unreachable metadata is reported in metadataError. Example: contract=0xC36442b4a4522E871399CD717aBDD847Ab11FE88, tokenId=1. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| tokenId* | string | number | boolean | Token id, a whole number |
| contract* | string | 0x ERC-721 collection contract address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"contract",
"tokenId"
],
"properties": {
"tokenId": {
"type": [
"string",
"number",
"boolean"
],
"description": "Token id, a whole number"
},
"contract": {
"type": "string",
"description": "0x ERC-721 collection contract address"
}
}
}Owner of an NFT on Polygon PoS: the wallet that holds one ERC-721 token id right now (ownerOf), plus the collection's name and symbol. Use to verify who holds an NFT before a trade, a mint gate or an airdrop; for how many a wallet holds use polygon_nft_balance, for the token's metadata polygon_nft_metadata. A missing contract is 404, a token that does not exist 422, both uncharged. Example: contract=0xC36442b4a4522E871399CD717aBDD847Ab11FE88, tokenId=1. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| tokenId* | string | number | boolean | Token id, a whole number |
| contract* | string | 0x ERC-721 collection contract address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"contract",
"tokenId"
],
"properties": {
"tokenId": {
"type": [
"string",
"number",
"boolean"
],
"description": "Token id, a whole number"
},
"contract": {
"type": "string",
"description": "0x ERC-721 collection contract address"
}
}
}Read the transaction count (nonce) of a 0x address on Polygon PoS, both confirmed and including pending transactions. Use to build the next transaction or to tell whether an address has ever sent anything; for its balance use polygon_balance. A malformed address is rejected with 400, uncharged. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| address* | string | 0x address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"address"
],
"properties": {
"address": {
"type": "string",
"description": "0x address"
}
}
}Find the implementation behind a proxy contract on Polygon PoS: reads the EIP-1967 implementation, beacon and admin slots, EIP-1822 (UUPS), the older OpenZeppelin layout and EIP-1167 minimal-proxy bytecode, and names the kind found. Use before trusting or decoding a contract whose code can be swapped by its admin; for a fuller risk verdict use contract_risk. A malformed address is 400; an address without code is 404, both uncharged. Example: address=0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| address* | string | 0x contract address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"address"
],
"properties": {
"address": {
"type": "string",
"description": "0x contract address"
}
}
}Transaction receipt on Polygon PoS (eth_getTransactionReceipt): success or reverted, gas used, effective gas price, fee paid in POL, number of event logs and any contract created. Use to confirm a payment or call went through; for sender, value and calldata use polygon_tx. Input is a 0x-prefixed 64-hex hash; a pending or unknown hash returns 404, uncharged. Example: hash=0x23e86c30c46638b2e9798692fe89327a66aa8569a5d4a566125f655aeb8f80c7. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| hash* | string | 0x-prefixed transaction hash (64 hex characters) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"hash"
],
"properties": {
"hash": {
"type": "string",
"description": "0x-prefixed transaction hash (64 hex characters)"
}
}
}Read one raw storage slot of a contract on Polygon PoS (eth_getStorageAt): the 32-byte word, as a number and, when it holds one, as an address. Slot is a decimal index or a 0x 32-byte key (mapping and proxy slots). Use to inspect contract state that has no getter, owners or implementation pointers; for proxies use polygon_proxy. A malformed address or slot is rejected with 400, uncharged. Example: address=0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| slot | string | Slot: a decimal index (0, 1, 2…) or a 0x 32-byte key |
| address* | string | 0x contract address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"address"
],
"properties": {
"slot": {
"type": "string",
"description": "Slot: a decimal index (0, 1, 2…) or a 0x 32-byte key"
},
"address": {
"type": "string",
"description": "0x contract address"
}
}
}ERC-20 token balance of a wallet on Polygon PoS (USDC, USDT, WETH or any token, via balanceOf): raw amount, decimals, symbol and the human-readable amount, live from the token contract. Use to check stablecoin or token holdings before a transfer or trade; for the native coin use polygon_balance. Both inputs are 0x addresses (40 hex characters); no contract returns 404 and a non-ERC-20 contract 422, both uncharged. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| token* | string | Token: a ticker such as USDC, USDT, WETH or DAI, or the 0x ERC-20 contract address |
| address* | string | 0x wallet address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"token",
"address"
],
"properties": {
"token": {
"type": "string",
"description": "Token: a ticker such as USDC, USDT, WETH or DAI, or the 0x ERC-20 contract address"
},
"address": {
"type": "string",
"description": "0x wallet address"
}
}
}Look up the name, symbol, decimals and total supply of an ERC-20 token contract on Polygon PoS, live from the contract. Use to identify an unknown token address or to format raw amounts; for a holder's balance use polygon_token_balance. Input is a ticker (USDC, WETH…) or the token's 0x contract address; an address that is not an ERC-20 contract returns 422, uncharged. Example: token=0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| token* | string | Token: a ticker such as USDC or WETH, or the 0x ERC-20 contract address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"token"
],
"properties": {
"token": {
"type": "string",
"description": "Token: a ticker such as USDC or WETH, or the 0x ERC-20 contract address"
}
}
}List a wallet's recent transfers of one ERC-20 token (default USDC) on Polygon PoS, in and out, over the last N blocks (1-2,000, default 1,000): direction, counterparty, amount and transaction, newest first, up to 50. Use to confirm a payment arrived or see what was sent; for the current balance use polygon_token_balance. Malformed addresses are rejected with 400, uncharged. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| token | string | Token: a ticker such as USDT or WETH, or the 0x ERC-20 contract (default: USDC on this network) |
| blocks | integer | How many recent blocks to scan (1-2000, default 1000; 2,000 blocks is about 67 minutes on Polygon PoS) |
| address* | string | 0x wallet address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"address"
],
"properties": {
"token": {
"type": "string",
"description": "Token: a ticker such as USDT or WETH, or the 0x ERC-20 contract (default: USDC on this network)"
},
"blocks": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "How many recent blocks to scan (1-2000, default 1000; 2,000 blocks is about 67 minutes on Polygon PoS)"
},
"address": {
"type": "string",
"description": "0x wallet address"
}
}
}Look up a Polygon PoS transaction by hash: sender, recipient, value in POL, nonce, gas limit, the 4-byte function selector and its block. Use to see what was sent or whether it exists; for success or failure and fees paid use polygon_receipt, for emitted events polygon_logs. Input is a 0x-prefixed 64-hex hash; an unknown hash returns 404, uncharged. Example: hash=0x23e86c30c46638b2e9798692fe89327a66aa8569a5d4a566125f655aeb8f80c7. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| hash* | string | 0x-prefixed transaction hash (64 hex characters) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"hash"
],
"properties": {
"hash": {
"type": "string",
"description": "0x-prefixed transaction hash (64 hex characters)"
}
}
}Base only (all 5 chains: wallet_balances; USD values: wallet_portfolio). An address on Base: ETH and major token balances (USDC, WETH, cbBTC, DAI, USDbC, cbETH, AERO, EURC) plus up to 20 token addresses you pass, the account nonce, and whether it is an EOA, a contract or an EIP-7702 account. The nonce counts outgoing transactions only; not transfer or trading history. Use to check a counterparty's holdings. Example: address=0x4200000000000000000000000000000000000006. Price $0.005/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| tokens | string | Optional comma-separated extra ERC-20 addresses to check (max 20) |
| address* | string | Wallet or contract address on Base (0x...) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"address"
],
"properties": {
"tokens": {
"type": "string",
"description": "Optional comma-separated extra ERC-20 addresses to check (max 20)"
},
"address": {
"type": "string",
"description": "Wallet or contract address on Base (0x...)"
}
}
}Read a wallet's native coin and USDC balances on Base, Ethereum, Arbitrum, Optimism and Polygon in one call, live from each network, plus the USDC total. Use to find where a wallet's funds are before a payment or bridge; for one token on one network use <chain>_token_balance, for all tokens on Base use wallet_portfolio. A network whose nodes do not answer is listed with an error instead of failing the call. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.005/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| address* | string | 0x wallet address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"address"
],
"properties": {
"address": {
"type": "string",
"description": "0x wallet address"
}
}
}