Skip to content

Agent Data Tools: Chain data

by Nutshell2000 · remote · no sign-in to list tools · v1.45.3 · published by GitHub user Nutshell2000

64 tools: balances, blocks, gas, txs and logs on 5 EVM chains, plus Bitcoin. 25 free calls.

Final · 5Changes · 47

64 tools: 5 do something that can't be undone, 47 change things and 12 only read.

Scanned Oct 21, 2026

36 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http agent-data-tools-chain https://agent-data-tools.revmesh2074.workers.dev/mcp/chain

Findings

Matches of fixed checks, with the text they matched.

36 warn
  • The description contains a 42-character base64 string.

    Matched text

    description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...ged. Example: token=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913. Price $0.003/call..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...d. Example: address=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913. Price $0.003/call..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...t. Example: address=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913. Price $0.003/call..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."

    What this check looks for
Show 30 more findings
  • The server marks "base_token_transfers" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "base_token_transfers" says "transfer": a word for a change that another call does not undo.

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...ged. Example: token=0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48. Price $0.003/call..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...d. Example: address=0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48. Price $0.003/call..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...t. Example: address=0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48. Price $0.003/call..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."

    What this check looks for
  • The server marks "eth_token_transfers" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "eth_token_transfers" says "transfer": a word for a change that another call does not undo.

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...ged. Example: token=0xaf88d065e77c8cC2239327C5EDb3A432268e5831. Price $0.003/call..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...d. Example: address=0xaf88d065e77c8cC2239327C5EDb3A432268e5831. Price $0.003/call..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...t. Example: address=0xaf88d065e77c8cC2239327C5EDb3A432268e5831. Price $0.003/call..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."

    What this check looks for
  • The server marks "arb_token_transfers" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "arb_token_transfers" says "transfer": a word for a change that another call does not undo.

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...ged. Example: token=0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85. Price $0.003/call..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...d. Example: address=0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85. Price $0.003/call..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...t. Example: address=0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85. Price $0.003/call..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."

    What this check looks for
  • The server marks "op_token_transfers" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "op_token_transfers" says "transfer": a word for a change that another call does not undo.

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...ged. Example: token=0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359. Price $0.003/call..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...d. Example: address=0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359. Price $0.003/call..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...t. Example: address=0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359. Price $0.003/call..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."

    What this check looks for
  • The server marks "polygon_token_transfers" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "polygon_token_transfers" says "transfer": a word for a change that another call does not undo.

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...l. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.005/call..."

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

64 tools

Can't be undone 5Claude Code: ask
  • arb_token_transfersList 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 an…2 findings

    Why it is in this group

    • The name "arb_token_transfers" says "transfer": a word for a change that another call does not undo.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The description contains a 42-character base64 string.

      Matched text

      description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."

      What this check looks for
    • Warn

      The server marks "arb_token_transfers" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "arb_token_transfers" says "transfer": a word for a change that another call does not undo.

      What this check looks for
    Description, as the server wrote it
    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.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.

    Annotations the server declares

    • title: Arbitrum One wallet token transfers
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • base_token_transfersList 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 transa…2 findings

    Why it is in this group

    • The name "base_token_transfers" says "transfer": a word for a change that another call does not undo.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The description contains a 42-character base64 string.

      Matched text

      description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."

      What this check looks for
    • Warn

      The server marks "base_token_transfers" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "base_token_transfers" says "transfer": a word for a change that another call does not undo.

      What this check looks for
    Description, as the server wrote it
    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.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.

    Annotations the server declares

    • title: Base wallet token transfers
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • eth_token_transfersList 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 tr…2 findings

    Why it is in this group

    • The name "eth_token_transfers" says "transfer": a word for a change that another call does not undo.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The description contains a 42-character base64 string.

      Matched text

      description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."

      What this check looks for
    • Warn

      The server marks "eth_token_transfers" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "eth_token_transfers" says "transfer": a word for a change that another call does not undo.

      What this check looks for
    Description, as the server wrote it
    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.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.

    Annotations the server declares

    • title: Ethereum wallet token transfers
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • op_token_transfersList 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 tr…2 findings

    Why it is in this group

    • The name "op_token_transfers" says "transfer": a word for a change that another call does not undo.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The description contains a 42-character base64 string.

      Matched text

      description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."

      What this check looks for
    • Warn

      The server marks "op_token_transfers" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "op_token_transfers" says "transfer": a word for a change that another call does not undo.

      What this check looks for
    Description, as the server wrote it
    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.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.

    Annotations the server declares

    • title: Optimism wallet token transfers
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • polygon_token_transfersList 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…2 findings

    Why it is in this group

    • The name "polygon_token_transfers" says "transfer": a word for a change that another call does not undo.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The description contains a 42-character base64 string.

      Matched text

      description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."

      What this check looks for
    • Warn

      The server marks "polygon_token_transfers" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "polygon_token_transfers" says "transfer": a word for a change that another call does not undo.

      What this check looks for
    Description, as the server wrote it
    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.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.

    Annotations the server declares

    • title: Polygon PoS wallet token transfers
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
Changes things 47Claude Code: ask
  • arb_balanceNative ETH balance (eth_getBalance) of any 0x wallet address on Arbitrum One at the latest block, in wei and in ETH.1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The description contains a 42-character base64 string.

      Matched text

      description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."

      What this check looks for
    Description, as the server wrote it
    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.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.

    Annotations the server declares

    • title: Arbitrum One native balance
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • arb_blockLatest 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.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.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.

    Annotations the server declares

    • title: Arbitrum One block
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • arb_gasCurrent 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.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.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.

    Annotations the server declares

    • title: Arbitrum One gas price
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • arb_is_contractCheck 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.1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The description contains a 42-character base64 string.

      Matched text

      description: "...d. Example: address=0xaf88d065e77c8cC2239327C5EDb3A432268e5831. Price $0.003/call..."

      What this check looks for
    Description, as the server wrote it
    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.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.

    Annotations the server declares

    • title: Arbitrum One contract check
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • arb_receiptTransaction 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.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.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.

    Annotations the server declares

    • title: Arbitrum One transaction receipt
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • arb_token_balanceERC-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 con…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.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.

    Annotations the server declares

    • title: Arbitrum One ERC-20 balance
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • arb_token_infoLook up the name, symbol, decimals and total supply of an ERC-20 token contract on Arbitrum One, live from the contract.1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The description contains a 42-character base64 string.

      Matched text

      description: "...ged. Example: token=0xaf88d065e77c8cC2239327C5EDb3A432268e5831. Price $0.003/call..."

      What this check looks for
    Description, as the server wrote it
    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.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.

    Annotations the server declares

    • title: Arbitrum One ERC-20 token info
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • arb_txLook up a Arbitrum One transaction by hash: sender, recipient, value in ETH, nonce, gas limit, the 4-byte function selector and its block.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Look up a 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.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.

    Annotations the server declares

    • title: Arbitrum One transaction
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • base_allowanceCheck 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 i…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: ERC-20 token approval check on Base
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • base_balanceNative ETH balance (eth_getBalance) of any 0x wallet address on Base at the latest block, in wei and in ETH.1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The description contains a 42-character base64 string.

      Matched text

      description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."

      What this check looks for
    Description, as the server wrote it
    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.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.

    Annotations the server declares

    • title: Base native balance
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • base_blockLatest 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.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.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.

    Annotations the server declares

    • title: Base block
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • base_gasLive 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 transacti…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Base network gas price and fee estimate
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • base_is_contractCheck 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.1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The description contains a 42-character base64 string.

      Matched text

      description: "...d. Example: address=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913. Price $0.003/call..."

      What this check looks for
    Description, as the server wrote it
    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.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.

    Annotations the server declares

    • title: Base contract check
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • base_receiptTransaction 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.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.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.

    Annotations the server declares

    • title: Base transaction receipt
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • base_token_balanceERC-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.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.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.

    Annotations the server declares

    • title: Base ERC-20 balance
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • base_token_infoLook up the name, symbol, decimals and total supply of an ERC-20 token contract on Base, live from the contract.1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The description contains a 42-character base64 string.

      Matched text

      description: "...ged. Example: token=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913. Price $0.003/call..."

      What this check looks for
    Description, as the server wrote it
    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.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.

    Annotations the server declares

    • title: Base ERC-20 token info
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • base_txLook 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 conf…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Base transaction status and details
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • btc_addressBalance 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 transactio…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.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.

    Annotations the server declares

    • title: Bitcoin address balance and activity
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • btc_feesCurrent 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 pe…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Bitcoin fee rates and mempool status
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • eth_balanceNative ETH balance (eth_getBalance) of any 0x wallet address on Ethereum at the latest block, in wei and in ETH.1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The description contains a 42-character base64 string.

      Matched text

      description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."

      What this check looks for
    Description, as the server wrote it
    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.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.

    Annotations the server declares

    • title: Ethereum native balance
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • eth_blockLatest 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.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.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.

    Annotations the server declares

    • title: Ethereum block
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • eth_gasCurrent 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.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.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.

    Annotations the server declares

    • title: Ethereum gas price
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • eth_is_contractCheck 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.1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The description contains a 42-character base64 string.

      Matched text

      description: "...d. Example: address=0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48. Price $0.003/call..."

      What this check looks for
    Description, as the server wrote it
    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.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.

    Annotations the server declares

    • title: Ethereum contract check
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • eth_receiptTransaction 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.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.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.

    Annotations the server declares

    • title: Ethereum transaction receipt
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • eth_token_balanceERC-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 contrac…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.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.

    Annotations the server declares

    • title: Ethereum ERC-20 balance
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • eth_token_infoLook up the name, symbol, decimals and total supply of an ERC-20 token contract on Ethereum, live from the contract.1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The description contains a 42-character base64 string.

      Matched text

      description: "...ged. Example: token=0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48. Price $0.003/call..."

      What this check looks for
    Description, as the server wrote it
    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.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.

    Annotations the server declares

    • title: Ethereum ERC-20 token info
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • eth_txLook up a Ethereum transaction by hash: sender, recipient, value in ETH, nonce, gas limit, the 4-byte function selector and its block.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Look up a 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.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.

    Annotations the server declares

    • title: Ethereum transaction
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • keccakKeccak-256 hash (the Ethereum hash) of text or of 0x hex bytes, as used for function selectors, event topics and storage slots.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.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.

    Annotations the server declares

    • title: Keccak-256 hash
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • ln_invoiceDecode 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 expir…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.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.

    Annotations the server declares

    • title: Decode a Lightning invoice
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • networkReference 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.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.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.

    Annotations the server declares

    • title: Base network and USDC facts
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • op_balanceNative ETH balance (eth_getBalance) of any 0x wallet address on Optimism at the latest block, in wei and in ETH.1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The description contains a 42-character base64 string.

      Matched text

      description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."

      What this check looks for
    Description, as the server wrote it
    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.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.

    Annotations the server declares

    • title: Optimism native balance
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • op_blockLatest 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.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.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.

    Annotations the server declares

    • title: Optimism block
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • op_gasCurrent 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.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.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.

    Annotations the server declares

    • title: Optimism gas price
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • op_is_contractCheck 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.1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The description contains a 42-character base64 string.

      Matched text

      description: "...d. Example: address=0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85. Price $0.003/call..."

      What this check looks for
    Description, as the server wrote it
    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.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.

    Annotations the server declares

    • title: Optimism contract check
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • op_receiptTransaction 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.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.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.

    Annotations the server declares

    • title: Optimism transaction receipt
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • op_token_balanceERC-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 contrac…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.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.

    Annotations the server declares

    • title: Optimism ERC-20 balance
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • op_token_infoLook up the name, symbol, decimals and total supply of an ERC-20 token contract on Optimism, live from the contract.1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The description contains a 42-character base64 string.

      Matched text

      description: "...ged. Example: token=0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85. Price $0.003/call..."

      What this check looks for
    Description, as the server wrote it
    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.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.

    Annotations the server declares

    • title: Optimism ERC-20 token info
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • op_txLook up a Optimism transaction by hash: sender, recipient, value in ETH, nonce, gas limit, the 4-byte function selector and its block.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Look up a 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.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.

    Annotations the server declares

    • title: Optimism transaction
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • polygon_balanceNative POL balance (eth_getBalance) of any 0x wallet address on Polygon PoS at the latest block, in wei and in POL.1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The description contains a 42-character base64 string.

      Matched text

      description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."

      What this check looks for
    Description, as the server wrote it
    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.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.

    Annotations the server declares

    • title: Polygon PoS native balance
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • polygon_blockLatest 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.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.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.

    Annotations the server declares

    • title: Polygon PoS block
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • polygon_gasCurrent 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.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.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.

    Annotations the server declares

    • title: Polygon PoS gas price
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • polygon_is_contractCheck 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.1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The description contains a 42-character base64 string.

      Matched text

      description: "...d. Example: address=0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359. Price $0.003/call..."

      What this check looks for
    Description, as the server wrote it
    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.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.

    Annotations the server declares

    • title: Polygon PoS contract check
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • polygon_receiptTransaction 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.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.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.

    Annotations the server declares

    • title: Polygon PoS transaction receipt
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • polygon_token_balanceERC-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 cont…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.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.

    Annotations the server declares

    • title: Polygon PoS ERC-20 balance
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • polygon_token_infoLook up the name, symbol, decimals and total supply of an ERC-20 token contract on Polygon PoS, live from the contract.1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The description contains a 42-character base64 string.

      Matched text

      description: "...ged. Example: token=0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359. Price $0.003/call..."

      What this check looks for
    Description, as the server wrote it
    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.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.

    Annotations the server declares

    • title: Polygon PoS ERC-20 token info
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • polygon_txLook up a Polygon PoS transaction by hash: sender, recipient, value in POL, nonce, gas limit, the 4-byte function selector and its block.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.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.

    Annotations the server declares

    • title: Polygon PoS transaction
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • walletBase only (all 5 chains: wallet_balances; USD values: wallet_portfolio).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Base wallet balances and account nonce snapshot
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
Only reads 12Claude Code: allow
  • arb_logsRecent 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 …1 finding

    Why it is in this group

    • The name "arb_logs" says "log": a word for reading.

    Findings

    • Warn

      The description contains a 42-character base64 string.

      Matched text

      description: "...t. Example: address=0xaf88d065e77c8cC2239327C5EDb3A432268e5831. Price $0.003/call..."

      What this check looks for
    Description, as the server wrote it
    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.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.

    Annotations the server declares

    • title: Arbitrum One recent event logs
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • arb_nonceRead the transaction count (nonce) of a 0x address on Arbitrum One, both confirmed and including pending transactions.1 finding

    Why it is in this group

    • The description's first verb is "read": a word for reading.

    Findings

    • Warn

      The description contains a 42-character base64 string.

      Matched text

      description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."

      What this check looks for
    Description, as the server wrote it
    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.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.

    Annotations the server declares

    • title: Arbitrum One account nonce
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • base_logsRecent 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 si…1 finding

    Why it is in this group

    • The name "base_logs" says "log": a word for reading.

    Findings

    • Warn

      The description contains a 42-character base64 string.

      Matched text

      description: "...t. Example: address=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913. Price $0.003/call..."

      What this check looks for
    Description, as the server wrote it
    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.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.

    Annotations the server declares

    • title: Base recent event logs
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • base_nonceRead the transaction count (nonce) of a 0x address on Base, both confirmed and including pending transactions.1 finding

    Why it is in this group

    • The description's first verb is "read": a word for reading.

    Findings

    • Warn

      The description contains a 42-character base64 string.

      Matched text

      description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."

      What this check looks for
    Description, as the server wrote it
    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.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.

    Annotations the server declares

    • title: Base account nonce
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • ensResolve 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).No findings

    Why it is in this group

    • The description's first verb is "resolve": a word for reading.
    Description, as the server wrote it
    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.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.

    Annotations the server declares

    • title: ENS name to address and address to ENS name
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • eth_logsRecent 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 even…1 finding

    Why it is in this group

    • The name "eth_logs" says "log": a word for reading.

    Findings

    • Warn

      The description contains a 42-character base64 string.

      Matched text

      description: "...t. Example: address=0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48. Price $0.003/call..."

      What this check looks for
    Description, as the server wrote it
    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.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.

    Annotations the server declares

    • title: Ethereum recent event logs
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • eth_nonceRead the transaction count (nonce) of a 0x address on Ethereum, both confirmed and including pending transactions.1 finding

    Why it is in this group

    • The description's first verb is "read": a word for reading.

    Findings

    • Warn

      The description contains a 42-character base64 string.

      Matched text

      description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."

      What this check looks for
    Description, as the server wrote it
    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.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.

    Annotations the server declares

    • title: Ethereum account nonce
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • op_logsRecent 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 even…1 finding

    Why it is in this group

    • The name "op_logs" says "log": a word for reading.

    Findings

    • Warn

      The description contains a 42-character base64 string.

      Matched text

      description: "...t. Example: address=0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85. Price $0.003/call..."

      What this check looks for
    Description, as the server wrote it
    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.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.

    Annotations the server declares

    • title: Optimism recent event logs
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • op_nonceRead the transaction count (nonce) of a 0x address on Optimism, both confirmed and including pending transactions.1 finding

    Why it is in this group

    • The description's first verb is "read": a word for reading.

    Findings

    • Warn

      The description contains a 42-character base64 string.

      Matched text

      description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."

      What this check looks for
    Description, as the server wrote it
    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.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.

    Annotations the server declares

    • title: Optimism account nonce
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • polygon_logsRecent 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 e…1 finding

    Why it is in this group

    • The name "polygon_logs" says "log": a word for reading.

    Findings

    • Warn

      The description contains a 42-character base64 string.

      Matched text

      description: "...t. Example: address=0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359. Price $0.003/call..."

      What this check looks for
    Description, as the server wrote it
    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.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.

    Annotations the server declares

    • title: Polygon PoS recent event logs
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • polygon_nonceRead the transaction count (nonce) of a 0x address on Polygon PoS, both confirmed and including pending transactions.1 finding

    Why it is in this group

    • The description's first verb is "read": a word for reading.

    Findings

    • Warn

      The description contains a 42-character base64 string.

      Matched text

      description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."

      What this check looks for
    Description, as the server wrote it
    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.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.

    Annotations the server declares

    • title: Polygon PoS account nonce
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • wallet_balancesRead 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.1 finding

    Why it is in this group

    • The description's first verb is "read": a word for reading.

    Findings

    • Warn

      The description contains a 42-character base64 string.

      Matched text

      description: "...l. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.005/call..."

      What this check looks for
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Wallet balance: native and USDC balances on 5 networks
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.45.3. Values in angle brackets are yours to fill in.

claude mcp add --transport http agent-data-tools-chain https://agent-data-tools.revmesh2074.workers.dev/mcp/chain

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__agent-data-tools-chain__ens",
      "mcp__agent-data-tools-chain__base_nonce",
      "mcp__agent-data-tools-chain__base_logs",
      "mcp__agent-data-tools-chain__eth_nonce",
      "mcp__agent-data-tools-chain__eth_logs",
      "mcp__agent-data-tools-chain__arb_nonce",
      "mcp__agent-data-tools-chain__arb_logs",
      "mcp__agent-data-tools-chain__op_nonce",
      "mcp__agent-data-tools-chain__op_logs",
      "mcp__agent-data-tools-chain__polygon_nonce",
      "mcp__agent-data-tools-chain__polygon_logs",
      "mcp__agent-data-tools-chain__wallet_balances"
    ],
    "ask": [
      "mcp__agent-data-tools-chain__wallet",
      "mcp__agent-data-tools-chain__btc_fees",
      "mcp__agent-data-tools-chain__btc_address",
      "mcp__agent-data-tools-chain__ln_invoice",
      "mcp__agent-data-tools-chain__base_gas",
      "mcp__agent-data-tools-chain__base_tx",
      "mcp__agent-data-tools-chain__base_allowance",
      "mcp__agent-data-tools-chain__base_balance",
      "mcp__agent-data-tools-chain__base_token_balance",
      "mcp__agent-data-tools-chain__base_token_info",
      "mcp__agent-data-tools-chain__base_block",
      "mcp__agent-data-tools-chain__base_receipt",
      "mcp__agent-data-tools-chain__base_is_contract",
      "mcp__agent-data-tools-chain__base_token_transfers",
      "mcp__agent-data-tools-chain__eth_balance",
      "mcp__agent-data-tools-chain__eth_token_balance",
      "mcp__agent-data-tools-chain__eth_token_info",
      "mcp__agent-data-tools-chain__eth_block",
      "mcp__agent-data-tools-chain__eth_gas",
      "mcp__agent-data-tools-chain__eth_tx",
      "mcp__agent-data-tools-chain__eth_receipt",
      "mcp__agent-data-tools-chain__eth_is_contract",
      "mcp__agent-data-tools-chain__eth_token_transfers",
      "mcp__agent-data-tools-chain__arb_balance",
      "mcp__agent-data-tools-chain__arb_token_balance",
      "mcp__agent-data-tools-chain__arb_token_info",
      "mcp__agent-data-tools-chain__arb_block",
      "mcp__agent-data-tools-chain__arb_gas",
      "mcp__agent-data-tools-chain__arb_tx",
      "mcp__agent-data-tools-chain__arb_receipt",
      "mcp__agent-data-tools-chain__arb_is_contract",
      "mcp__agent-data-tools-chain__arb_token_transfers",
      "mcp__agent-data-tools-chain__op_balance",
      "mcp__agent-data-tools-chain__op_token_balance",
      "mcp__agent-data-tools-chain__op_token_info",
      "mcp__agent-data-tools-chain__op_block",
      "mcp__agent-data-tools-chain__op_gas",
      "mcp__agent-data-tools-chain__op_tx",
      "mcp__agent-data-tools-chain__op_receipt",
      "mcp__agent-data-tools-chain__op_is_contract",
      "mcp__agent-data-tools-chain__op_token_transfers",
      "mcp__agent-data-tools-chain__polygon_balance",
      "mcp__agent-data-tools-chain__polygon_token_balance",
      "mcp__agent-data-tools-chain__polygon_token_info",
      "mcp__agent-data-tools-chain__polygon_block",
      "mcp__agent-data-tools-chain__polygon_gas",
      "mcp__agent-data-tools-chain__polygon_tx",
      "mcp__agent-data-tools-chain__polygon_receipt",
      "mcp__agent-data-tools-chain__polygon_is_contract",
      "mcp__agent-data-tools-chain__polygon_token_transfers",
      "mcp__agent-data-tools-chain__keccak",
      "mcp__agent-data-tools-chain__network"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as agent-data-tools-chain. Review it before you use it.