{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_3wn6yaykt9e3","handle":"tanod-chain","url":"https://wellknown.network/agents/tanod-chain","links":{"self":"https://wellknown.network/agents/tanod-chain/record.json","html":"https://wellknown.network/agents/tanod-chain","markdown":"https://wellknown.network/agents/tanod-chain/record.md","api":"https://wellknown.network/api/v1/agents/tanod-chain","status":"https://wellknown.network/api/v1/agents/tanod-chain/status","claim":"https://wellknown.network/agents/tanod-chain/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/tanod-chain/claim.json","badge":"https://wellknown.network/agents/tanod-chain/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/tanod-chain/history","tools":"https://wellknown.network/api/v1/agents/tanod-chain/tools"},"ard":{"identifier":"urn:air:tanod.dev:server:tanod-chain","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Tanod Chain","summary":"EVM and Solana reads: balances, tokens, eth_call, logs, receipts, gas, blocks, transactions, ENS.","description":"EVM and Solana reads: balances, tokens, eth_call, logs, receipts, gas, blocks, transactions, ENS.","publisher":{"name":"dev.tanod","url":null},"homepage":"https://tanod.dev","repository":null,"version":"0.1.1","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://tanod.dev/mcp/chain","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-10-09T13:22:17.158782Z","publishedAt":"2026-10-09T13:22:17.158782Z","registryName":"dev.tanod/chain"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"commerce.pricing","name":"Pricing & Quotes","confidence":1,"provenance":"derived"},{"slug":"finance.markets","name":"Markets & Trading","confidence":1,"provenance":"derived"},{"slug":"dev.monitoring","name":"Monitoring & Observability","confidence":0.833,"provenance":"derived"},{"slug":"documents.contracts","name":"Contracts & Legal","confidence":0.525,"provenance":"derived"}],"categories":["commerce","dev","documents","finance"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 4h ago.","lastOkAt":"2026-10-31T08:24:48.841Z","lastProbedAt":"2026-10-31T08:24:48.841Z","statusComputedAt":"2026-10-31T08:27:26.679Z","reliability30d":{"probes":78,"successRate":1,"p50Ms":672,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":78,"ok":78,"authBoundaryOk":0,"serviceOk":78,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-31T08:24:48.841Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":889,"error":null,"detail":{"tools":[{"name":"get_balance","description":"chainpeek: read the native or ERC-20 balance of an address on Ethereum, Base or Robinhood Chain. For several tokens at once use get_portfolio; for Solana use ge"},{"name":"get_portfolio","description":"chainpeek: read the native balance and up to 20 ERC-20 balances of an address on Ethereum, Base or Robinhood Chain in one call. For one balance use get_balance;"},{"name":"get_token_info","description":"chainpeek: get ERC-20 token metadata on Ethereum, Base or Robinhood Chain. For a holder's balance use get_balance; for supply alone use get_total_supply. Return"},{"name":"get_token_price","description":"chainpeek: read a token price from a Chainlink on-chain price feed (deterministic oracle answer, not a DEX spot price). For a DEX quote of any token use get_swa"},{"name":"get_dex_price_candles","description":"chainpeek: Get ETH or BTC OHLCV price candles from on-chain DEX swaps. For the oracle price now use get_token_price. Returns OHLCV candles for ETH (WETH/USDC) o"},{"name":"get_swap_quote","description":"chainpeek: quote an exact-input swap on Uniswap V3 (QuoterV2, read-only eth_call) on Ethereum or Base. For price impact over up to five sizes use pre_trade_chec"},{"name":"get_allowance","description":"chainpeek: read an ERC-20 allowance on Ethereum, Base or Robinhood Chain. For every live approval of a wallet use audit_token_approvals. A token that is not a r"},{"name":"get_nft","description":"chainpeek: read one NFT on Ethereum, Base or Robinhood Chain. For the ERC-721 owner alone use get_nft_owner. The collection name, symbol and token URI are attac"},{"name":"get_gas","description":"chainpeek: read the current gas price on Ethereum, Base or Robinhood Chain. For the gas units a transaction needs use estimate_gas. Returns `gas_price_wei`, `ga"},{"name":"get_block","description":"chainpeek: read the latest block header on Ethereum, Base or Robinhood Chain. For height and age only use get_block_number; for a past time use get_block_at_tim"},{"name":"get_block_at_time","description":"chainpeek: find the block at a point in time on Ethereum, Base or Robinhood Chain. For the latest block use get_block_number. Returns `block` (the last block at"},{"name":"get_transaction","description":"chainpeek: read a transaction and its receipt on Ethereum, Base or Robinhood Chain. For the receipt alone use get_transaction_receipt; for decoded events use de"},{"name":"decode_tx_logs","description":"chainpeek: decode a transaction's event logs on Ethereum, Base or Robinhood Chain. For events over a block range use get_event_logs. Returns `status`, `block`, "},{"name":"decode_calldata","description":"chainpeek: decode EVM transaction calldata. To run a read call use eth_call; to fetch a transaction use get_transaction. Input: `calldata` and optional `signatu"},{"name":"detect_proxy","description":"chainpeek: detect whether a contract is a proxy, and of which kind. For code size and hash use get_contract_code. Reads the code, the EIP-1967 / EIP-1822 / Open"},{"name":"resolve_ens","description":"chainpeek: resolve an ENS name or address on Ethereum mainnet. For text records use get_ens_records. Input: `name` XOR `address`. Forward-resolves a name, or re"},{"name":"get_ens_records","description":"chainpeek: read an ENS name's records (Ethereum mainnet). To resolve the address use resolve_ens. Returns the `resolver` (with ENSIP-10 `wildcard`), `addresses`"},{"name":"check_contract_before_interaction","description":"txpeek: Check an address for risk right before you send a transaction to it, approve it, or buy its token (Base or Ethereum). For a full scan of verified source"},{"name":"check_sanctions","description":"chainpeek: screen one crypto address against the US OFAC SDN list's digital currency addresses. For up to 1,000 addresses use check_sanctions_batch; for lookali"},{"name":"get_account_nonce","description":"chainpeek: Get an account's transaction count on Ethereum, Base or Robinhood Chain. For the next nonce with balance and gas checks use transfer_preflight; for t"},{"name":"get_transaction_receipt","description":"chainpeek: Get a transaction receipt on Ethereum, Base or Robinhood Chain. For value, nonce and confirmations too use get_transaction; for decoded events use de"},{"name":"get_event_logs","description":"chainpeek: Query contract event logs over a block range, decoded. For one transaction's events use decode_tx_logs; for an address's token transfers use get_erc2"},{"name":"eth_call","description":"chainpeek: Call a smart contract function read-only on Ethereum, Base or Robinhood Chain. For gas units use estimate_gas; for a raw storage slot use get_storage"},{"name":"estimate_gas","description":"chainpeek: Estimate the gas of a transaction on Ethereum, Base or Robinhood Chain. For the gas price use get_gas; for a whole transfer check use transfer_prefli"},{"name":"get_storage_at","description":"chainpeek: Read a contract storage slot on Ethereum, Base or Robinhood Chain. For proxy implementation and admin slots use detect_proxy. Returns the 32-byte wor"},{"name":"get_erc1155_balance","description":"chainpeek: Get an account's ERC-1155 token balance for a token id on Ethereum, Base or Robinhood Chain. For an ERC-721 owner use get_nft_owner. Returns balanceO"},{"name":"get_chain_info","description":"chainpeek: Get the chain id, latest block, head age and gas price of Ethereum, Base or Robinhood Chain. For gas alone use get_gas; for the header alone use get_"},{"name":"get_erc20_transfers","description":"chainpeek: List the ERC-20 token transfers into and out of an address on Ethereum, Base or Robinhood Chain. For current balances use get_portfolio; for top coun"},{"name":"get_block_number","description":"chainpeek: Get the latest block number, timestamp and age in seconds of Ethereum, Base or Robinhood Chain. For the full header use get_block; for chain id and g"},{"name":"get_contract_code","description":"chainpeek: Get the deployed bytecode size and hash of an address, with EIP-1167 and EIP-7702 detection. For other proxy kinds use detect_proxy. Returns what is "},{"name":"get_total_supply","description":"chainpeek: Get an ERC-20 total supply with decimals and symbol on Ethereum, Base or Robinhood Chain. For name and symbol too use get_token_info. Returns the tot"},{"name":"get_nft_owner","description":"chainpeek: Get the owner and token URI of an ERC-721 token on Ethereum, Base or Robinhood Chain. For the standard check and collection data use get_nft. Returns"},{"name":"get_funding_rates","description":"chainpeek: Use when an agent needs what a Hyperliquid perp costs to hold, or whether funding is flipping, before sizing a trade. For Hyperliquid against dYdX us"},{"name":"get_perp_markets","description":"chainpeek: List Hyperliquid perpetual markets with mark, oracle, open interest and volume. For funding history use get_funding_rates. Returns the Hyperliquid pe"},{"name":"get_solana_balance","description":"chainpeek: Get the SOL balance of a Solana address. For SPL tokens use get_solana_token_balances. Returns `lamports` (exact integer string), `sol` (exact decima"},{"name":"get_solana_token_balances","description":"chainpeek: Get the SPL token balances of a Solana wallet. For SOL use get_solana_balance; for EVM tokens use get_portfolio. Returns its SPL Token and Token-2022"},{"name":"get_solana_transaction","description":"chainpeek: Get a parsed Solana transaction by its signature. For an address's recent signatures use get_solana_signatures. An unknown or pruned transaction is a"},{"name":"get_solana_signatures","description":"chainpeek: List the recent transaction signatures of a Solana address. For one transaction's details use get_solana_transaction. `next_before` is null on the la"},{"name":"get_solana_account","description":"chainpeek: Get the account info of a Solana address. For a mint's supply and authorities use get_solana_token_info. Returns whether the account `exists`, `lampo"},{"name":"get_solana_token_info","description":"chainpeek: Get the supply, decimals and authorities of a Solana token mint. For the price use get_solana_token_price; for rug risk use check_solana_token_safety"}],"toolCount":40,"toolsHash":"68bf8242582943a6cea4e67bac049035bc3dd877f5af25eabd49e724b0766779","serverName":"tanod-chain","capabilities":["prompts","resources","tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-31T00:25:00.337Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":710,"error":null,"detail":{"tools":[{"name":"get_balance","description":"chainpeek: read the native or ERC-20 balance of an address on Ethereum, Base or Robinhood Chain. For several tokens at once use get_portfolio; for Solana use ge"},{"name":"get_portfolio","description":"chainpeek: read the native balance and up to 20 ERC-20 balances of an address on Ethereum, Base or Robinhood Chain in one call. For one balance use get_balance;"},{"name":"get_token_info","description":"chainpeek: get ERC-20 token metadata on Ethereum, Base or Robinhood Chain. For a holder's balance use get_balance; for supply alone use get_total_supply. Return"},{"name":"get_token_price","description":"chainpeek: read a token price from a Chainlink on-chain price feed (deterministic oracle answer, not a DEX spot price). For a DEX quote of any token use get_swa"},{"name":"get_dex_price_candles","description":"chainpeek: Get ETH or BTC OHLCV price candles from on-chain DEX swaps. For the oracle price now use get_token_price. Returns OHLCV candles for ETH (WETH/USDC) o"},{"name":"get_swap_quote","description":"chainpeek: quote an exact-input swap on Uniswap V3 (QuoterV2, read-only eth_call) on Ethereum or Base. For price impact over up to five sizes use pre_trade_chec"},{"name":"get_allowance","description":"chainpeek: read an ERC-20 allowance on Ethereum, Base or Robinhood Chain. For every live approval of a wallet use audit_token_approvals. A token that is not a r"},{"name":"get_nft","description":"chainpeek: read one NFT on Ethereum, Base or Robinhood Chain. For the ERC-721 owner alone use get_nft_owner. The collection name, symbol and token URI are attac"},{"name":"get_gas","description":"chainpeek: read the current gas price on Ethereum, Base or Robinhood Chain. For the gas units a transaction needs use estimate_gas. Returns `gas_price_wei`, `ga"},{"name":"get_block","description":"chainpeek: read the latest block header on Ethereum, Base or Robinhood Chain. For height and age only use get_block_number; for a past time use get_block_at_tim"},{"name":"get_block_at_time","description":"chainpeek: find the block at a point in time on Ethereum, Base or Robinhood Chain. For the latest block use get_block_number. Returns `block` (the last block at"},{"name":"get_transaction","description":"chainpeek: read a transaction and its receipt on Ethereum, Base or Robinhood Chain. For the receipt alone use get_transaction_receipt; for decoded events use de"},{"name":"decode_tx_logs","description":"chainpeek: decode a transaction's event logs on Ethereum, Base or Robinhood Chain. For events over a block range use get_event_logs. Returns `status`, `block`, "},{"name":"decode_calldata","description":"chainpeek: decode EVM transaction calldata. To run a read call use eth_call; to fetch a transaction use get_transaction. Input: `calldata` and optional `signatu"},{"name":"detect_proxy","description":"chainpeek: detect whether a contract is a proxy, and of which kind. For code size and hash use get_contract_code. Reads the code, the EIP-1967 / EIP-1822 / Open"},{"name":"resolve_ens","description":"chainpeek: resolve an ENS name or address on Ethereum mainnet. For text records use get_ens_records. Input: `name` XOR `address`. Forward-resolves a name, or re"},{"name":"get_ens_records","description":"chainpeek: read an ENS name's records (Ethereum mainnet). To resolve the address use resolve_ens. Returns the `resolver` (with ENSIP-10 `wildcard`), `addresses`"},{"name":"check_contract_before_interaction","description":"txpeek: Check an address for risk right before you send a transaction to it, approve it, or buy its token (Base or Ethereum). For a full scan of verified source"},{"name":"check_sanctions","description":"chainpeek: screen one crypto address against the US OFAC SDN list's digital currency addresses. For up to 1,000 addresses use check_sanctions_batch; for lookali"},{"name":"get_account_nonce","description":"chainpeek: Get an account's transaction count on Ethereum, Base or Robinhood Chain. For the next nonce with balance and gas checks use transfer_preflight; for t"},{"name":"get_transaction_receipt","description":"chainpeek: Get a transaction receipt on Ethereum, Base or Robinhood Chain. For value, nonce and confirmations too use get_transaction; for decoded events use de"},{"name":"get_event_logs","description":"chainpeek: Query contract event logs over a block range, decoded. For one transaction's events use decode_tx_logs; for an address's token transfers use get_erc2"},{"name":"eth_call","description":"chainpeek: Call a smart contract function read-only on Ethereum, Base or Robinhood Chain. For gas units use estimate_gas; for a raw storage slot use get_storage"},{"name":"estimate_gas","description":"chainpeek: Estimate the gas of a transaction on Ethereum, Base or Robinhood Chain. For the gas price use get_gas; for a whole transfer check use transfer_prefli"},{"name":"get_storage_at","description":"chainpeek: Read a contract storage slot on Ethereum, Base or Robinhood Chain. For proxy implementation and admin slots use detect_proxy. Returns the 32-byte wor"},{"name":"get_erc1155_balance","description":"chainpeek: Get an account's ERC-1155 token balance for a token id on Ethereum, Base or Robinhood Chain. For an ERC-721 owner use get_nft_owner. Returns balanceO"},{"name":"get_chain_info","description":"chainpeek: Get the chain id, latest block, head age and gas price of Ethereum, Base or Robinhood Chain. For gas alone use get_gas; for the header alone use get_"},{"name":"get_erc20_transfers","description":"chainpeek: List the ERC-20 token transfers into and out of an address on Ethereum, Base or Robinhood Chain. For current balances use get_portfolio; for top coun"},{"name":"get_block_number","description":"chainpeek: Get the latest block number, timestamp and age in seconds of Ethereum, Base or Robinhood Chain. For the full header use get_block; for chain id and g"},{"name":"get_contract_code","description":"chainpeek: Get the deployed bytecode size and hash of an address, with EIP-1167 and EIP-7702 detection. For other proxy kinds use detect_proxy. Returns what is "},{"name":"get_total_supply","description":"chainpeek: Get an ERC-20 total supply with decimals and symbol on Ethereum, Base or Robinhood Chain. For name and symbol too use get_token_info. Returns the tot"},{"name":"get_nft_owner","description":"chainpeek: Get the owner and token URI of an ERC-721 token on Ethereum, Base or Robinhood Chain. For the standard check and collection data use get_nft. Returns"},{"name":"get_funding_rates","description":"chainpeek: Use when an agent needs what a Hyperliquid perp costs to hold, or whether funding is flipping, before sizing a trade. For Hyperliquid against dYdX us"},{"name":"get_perp_markets","description":"chainpeek: List Hyperliquid perpetual markets with mark, oracle, open interest and volume. For funding history use get_funding_rates. Returns the Hyperliquid pe"},{"name":"get_solana_balance","description":"chainpeek: Get the SOL balance of a Solana address. For SPL tokens use get_solana_token_balances. Returns `lamports` (exact integer string), `sol` (exact decima"},{"name":"get_solana_token_balances","description":"chainpeek: Get the SPL token balances of a Solana wallet. For SOL use get_solana_balance; for EVM tokens use get_portfolio. Returns its SPL Token and Token-2022"},{"name":"get_solana_transaction","description":"chainpeek: Get a parsed Solana transaction by its signature. For an address's recent signatures use get_solana_signatures. An unknown or pruned transaction is a"},{"name":"get_solana_signatures","description":"chainpeek: List the recent transaction signatures of a Solana address. For one transaction's details use get_solana_transaction. `next_before` is null on the la"},{"name":"get_solana_account","description":"chainpeek: Get the account info of a Solana address. For a mint's supply and authorities use get_solana_token_info. Returns whether the account `exists`, `lampo"},{"name":"get_solana_token_info","description":"chainpeek: Get the supply, decimals and authorities of a Solana token mint. For the price use get_solana_token_price; for rug risk use check_solana_token_safety"}],"toolCount":40,"toolsHash":"68bf8242582943a6cea4e67bac049035bc3dd877f5af25eabd49e724b0766779","serverName":"tanod-chain","capabilities":["prompts","resources","tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-30T17:27:48.646Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":310,"error":null,"detail":{"tools":[{"name":"get_balance","description":"chainpeek: read the native or ERC-20 balance of an address on Ethereum, Base or Robinhood Chain. For several tokens at once use get_portfolio; for Solana use ge"},{"name":"get_portfolio","description":"chainpeek: read the native balance and up to 20 ERC-20 balances of an address on Ethereum, Base or Robinhood Chain in one call. For one balance use get_balance;"},{"name":"get_token_info","description":"chainpeek: get ERC-20 token metadata on Ethereum, Base or Robinhood Chain. For a holder's balance use get_balance; for supply alone use get_total_supply. Return"},{"name":"get_token_price","description":"chainpeek: read a token price from a Chainlink on-chain price feed (deterministic oracle answer, not a DEX spot price). For a DEX quote of any token use get_swa"},{"name":"get_dex_price_candles","description":"chainpeek: Get ETH or BTC OHLCV price candles from on-chain DEX swaps. For the oracle price now use get_token_price. Returns OHLCV candles for ETH (WETH/USDC) o"},{"name":"get_swap_quote","description":"chainpeek: quote an exact-input swap on Uniswap V3 (QuoterV2, read-only eth_call) on Ethereum or Base. For price impact over up to five sizes use pre_trade_chec"},{"name":"get_allowance","description":"chainpeek: read an ERC-20 allowance on Ethereum, Base or Robinhood Chain. For every live approval of a wallet use audit_token_approvals. A token that is not a r"},{"name":"get_nft","description":"chainpeek: read one NFT on Ethereum, Base or Robinhood Chain. For the ERC-721 owner alone use get_nft_owner. The collection name, symbol and token URI are attac"},{"name":"get_gas","description":"chainpeek: read the current gas price on Ethereum, Base or Robinhood Chain. For the gas units a transaction needs use estimate_gas. Returns `gas_price_wei`, `ga"},{"name":"get_block","description":"chainpeek: read the latest block header on Ethereum, Base or Robinhood Chain. For height and age only use get_block_number; for a past time use get_block_at_tim"},{"name":"get_block_at_time","description":"chainpeek: find the block at a point in time on Ethereum, Base or Robinhood Chain. For the latest block use get_block_number. Returns `block` (the last block at"},{"name":"get_transaction","description":"chainpeek: read a transaction and its receipt on Ethereum, Base or Robinhood Chain. For the receipt alone use get_transaction_receipt; for decoded events use de"},{"name":"decode_tx_logs","description":"chainpeek: decode a transaction's event logs on Ethereum, Base or Robinhood Chain. For events over a block range use get_event_logs. Returns `status`, `block`, "},{"name":"decode_calldata","description":"chainpeek: decode EVM transaction calldata. To run a read call use eth_call; to fetch a transaction use get_transaction. Input: `calldata` and optional `signatu"},{"name":"detect_proxy","description":"chainpeek: detect whether a contract is a proxy, and of which kind. For code size and hash use get_contract_code. Reads the code, the EIP-1967 / EIP-1822 / Open"},{"name":"resolve_ens","description":"chainpeek: resolve an ENS name or address on Ethereum mainnet. For text records use get_ens_records. Input: `name` XOR `address`. Forward-resolves a name, or re"},{"name":"get_ens_records","description":"chainpeek: read an ENS name's records (Ethereum mainnet). To resolve the address use resolve_ens. Returns the `resolver` (with ENSIP-10 `wildcard`), `addresses`"},{"name":"check_contract_before_interaction","description":"txpeek: Check an address for risk right before you send a transaction to it, approve it, or buy its token (Base or Ethereum). For a full scan of verified source"},{"name":"check_sanctions","description":"chainpeek: screen one crypto address against the US OFAC SDN list's digital currency addresses. For up to 1,000 addresses use check_sanctions_batch; for lookali"},{"name":"get_account_nonce","description":"chainpeek: Get an account's transaction count on Ethereum, Base or Robinhood Chain. For the next nonce with balance and gas checks use transfer_preflight; for t"},{"name":"get_transaction_receipt","description":"chainpeek: Get a transaction receipt on Ethereum, Base or Robinhood Chain. For value, nonce and confirmations too use get_transaction; for decoded events use de"},{"name":"get_event_logs","description":"chainpeek: Query contract event logs over a block range, decoded. For one transaction's events use decode_tx_logs; for an address's token transfers use get_erc2"},{"name":"eth_call","description":"chainpeek: Call a smart contract function read-only on Ethereum, Base or Robinhood Chain. For gas units use estimate_gas; for a raw storage slot use get_storage"},{"name":"estimate_gas","description":"chainpeek: Estimate the gas of a transaction on Ethereum, Base or Robinhood Chain. For the gas price use get_gas; for a whole transfer check use transfer_prefli"},{"name":"get_storage_at","description":"chainpeek: Read a contract storage slot on Ethereum, Base or Robinhood Chain. For proxy implementation and admin slots use detect_proxy. Returns the 32-byte wor"},{"name":"get_erc1155_balance","description":"chainpeek: Get an account's ERC-1155 token balance for a token id on Ethereum, Base or Robinhood Chain. For an ERC-721 owner use get_nft_owner. Returns balanceO"},{"name":"get_chain_info","description":"chainpeek: Get the chain id, latest block, head age and gas price of Ethereum, Base or Robinhood Chain. For gas alone use get_gas; for the header alone use get_"},{"name":"get_erc20_transfers","description":"chainpeek: List the ERC-20 token transfers into and out of an address on Ethereum, Base or Robinhood Chain. For current balances use get_portfolio; for top coun"},{"name":"get_block_number","description":"chainpeek: Get the latest block number, timestamp and age in seconds of Ethereum, Base or Robinhood Chain. For the full header use get_block; for chain id and g"},{"name":"get_contract_code","description":"chainpeek: Get the deployed bytecode size and hash of an address, with EIP-1167 and EIP-7702 detection. For other proxy kinds use detect_proxy. Returns what is "},{"name":"get_total_supply","description":"chainpeek: Get an ERC-20 total supply with decimals and symbol on Ethereum, Base or Robinhood Chain. For name and symbol too use get_token_info. Returns the tot"},{"name":"get_nft_owner","description":"chainpeek: Get the owner and token URI of an ERC-721 token on Ethereum, Base or Robinhood Chain. For the standard check and collection data use get_nft. Returns"},{"name":"get_funding_rates","description":"chainpeek: Use when an agent needs what a Hyperliquid perp costs to hold, or whether funding is flipping, before sizing a trade. For Hyperliquid against dYdX us"},{"name":"get_perp_markets","description":"chainpeek: List Hyperliquid perpetual markets with mark, oracle, open interest and volume. For funding history use get_funding_rates. Returns the Hyperliquid pe"},{"name":"get_solana_balance","description":"chainpeek: Get the SOL balance of a Solana address. For SPL tokens use get_solana_token_balances. Returns `lamports` (exact integer string), `sol` (exact decima"},{"name":"get_solana_token_balances","description":"chainpeek: Get the SPL token balances of a Solana wallet. For SOL use get_solana_balance; for EVM tokens use get_portfolio. Returns its SPL Token and Token-2022"},{"name":"get_solana_transaction","description":"chainpeek: Get a parsed Solana transaction by its signature. For an address's recent signatures use get_solana_signatures. An unknown or pruned transaction is a"},{"name":"get_solana_signatures","description":"chainpeek: List the recent transaction signatures of a Solana address. For one transaction's details use get_solana_transaction. `next_before` is null on the la"},{"name":"get_solana_account","description":"chainpeek: Get the account info of a Solana address. For a mint's supply and authorities use get_solana_token_info. Returns whether the account `exists`, `lampo"},{"name":"get_solana_token_info","description":"chainpeek: Get the supply, decimals and authorities of a Solana token mint. For the price use get_solana_token_price; for rug risk use check_solana_token_safety"}],"toolCount":40,"toolsHash":"01fb1331f633c59ab9481392943c1b689aa96c4022fabd4964d9d8ef039b8a25","serverName":"tanod-chain","capabilities":["prompts","resources","tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-30T09:28:38.001Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":734,"error":null,"detail":{"tools":[{"name":"get_balance","description":"chainpeek: read the native or ERC-20 balance of an address on Ethereum, Base or Robinhood Chain. For several tokens at once use get_portfolio; for Solana use ge"},{"name":"get_portfolio","description":"chainpeek: read the native balance and up to 20 ERC-20 balances of an address on Ethereum, Base or Robinhood Chain in one call. For one balance use get_balance;"},{"name":"get_token_info","description":"chainpeek: get ERC-20 token metadata on Ethereum, Base or Robinhood Chain. For a holder's balance use get_balance; for supply alone use get_total_supply. Return"},{"name":"get_token_price","description":"chainpeek: read a token price from a Chainlink on-chain price feed (deterministic oracle answer, not a DEX spot price). For a DEX quote of any token use get_swa"},{"name":"get_dex_price_candles","description":"chainpeek: Get ETH or BTC OHLCV price candles from on-chain DEX swaps. For the oracle price now use get_token_price. Returns OHLCV candles for ETH (WETH/USDC) o"},{"name":"get_swap_quote","description":"chainpeek: quote an exact-input swap on Uniswap V3 (QuoterV2, read-only eth_call) on Ethereum or Base. For price impact over up to five sizes use pre_trade_chec"},{"name":"get_allowance","description":"chainpeek: read an ERC-20 allowance on Ethereum, Base or Robinhood Chain. For every live approval of a wallet use audit_token_approvals. A token that is not a r"},{"name":"get_nft","description":"chainpeek: read one NFT on Ethereum, Base or Robinhood Chain. For the ERC-721 owner alone use get_nft_owner. The collection name, symbol and token URI are attac"},{"name":"get_gas","description":"chainpeek: read the current gas price on Ethereum, Base or Robinhood Chain. For the gas units a transaction needs use estimate_gas. Returns `gas_price_wei`, `ga"},{"name":"get_block","description":"chainpeek: read the latest block header on Ethereum, Base or Robinhood Chain. For height and age only use get_block_number; for a past time use get_block_at_tim"},{"name":"get_block_at_time","description":"chainpeek: find the block at a point in time on Ethereum, Base or Robinhood Chain. For the latest block use get_block_number. Returns `block` (the last block at"},{"name":"get_transaction","description":"chainpeek: read a transaction and its receipt on Ethereum, Base or Robinhood Chain. For the receipt alone use get_transaction_receipt; for decoded events use de"},{"name":"decode_tx_logs","description":"chainpeek: decode a transaction's event logs on Ethereum, Base or Robinhood Chain. For events over a block range use get_event_logs. Returns `status`, `block`, "},{"name":"decode_calldata","description":"chainpeek: decode EVM transaction calldata. To run a read call use eth_call; to fetch a transaction use get_transaction. Input: `calldata` and optional `signatu"},{"name":"detect_proxy","description":"chainpeek: detect whether a contract is a proxy, and of which kind. For code size and hash use get_contract_code. Reads the code, the EIP-1967 / EIP-1822 / Open"},{"name":"resolve_ens","description":"chainpeek: resolve an ENS name or address on Ethereum mainnet. For text records use get_ens_records. Input: `name` XOR `address`. Forward-resolves a name, or re"},{"name":"get_ens_records","description":"chainpeek: read an ENS name's records (Ethereum mainnet). To resolve the address use resolve_ens. Returns the `resolver` (with ENSIP-10 `wildcard`), `addresses`"},{"name":"check_contract_before_interaction","description":"txpeek: Check an address for risk right before you send a transaction to it, approve it, or buy its token (Base or Ethereum). For a full scan of verified source"},{"name":"check_sanctions","description":"chainpeek: screen one crypto address against the US OFAC SDN list's digital currency addresses. For up to 1,000 addresses use check_sanctions_batch; for lookali"},{"name":"get_account_nonce","description":"chainpeek: Get an account's transaction count on Ethereum, Base or Robinhood Chain. For the next nonce with balance and gas checks use transfer_preflight; for t"},{"name":"get_transaction_receipt","description":"chainpeek: Get a transaction receipt on Ethereum, Base or Robinhood Chain. For value, nonce and confirmations too use get_transaction; for decoded events use de"},{"name":"get_event_logs","description":"chainpeek: Query contract event logs over a block range, decoded. For one transaction's events use decode_tx_logs; for an address's token transfers use get_erc2"},{"name":"eth_call","description":"chainpeek: Call a smart contract function read-only on Ethereum, Base or Robinhood Chain. For gas units use estimate_gas; for a raw storage slot use get_storage"},{"name":"estimate_gas","description":"chainpeek: Estimate the gas of a transaction on Ethereum, Base or Robinhood Chain. For the gas price use get_gas; for a whole transfer check use transfer_prefli"},{"name":"get_storage_at","description":"chainpeek: Read a contract storage slot on Ethereum, Base or Robinhood Chain. For proxy implementation and admin slots use detect_proxy. Returns the 32-byte wor"},{"name":"get_erc1155_balance","description":"chainpeek: Get an account's ERC-1155 token balance for a token id on Ethereum, Base or Robinhood Chain. For an ERC-721 owner use get_nft_owner. Returns balanceO"},{"name":"get_chain_info","description":"chainpeek: Get the chain id, latest block, head age and gas price of Ethereum, Base or Robinhood Chain. For gas alone use get_gas; for the header alone use get_"},{"name":"get_erc20_transfers","description":"chainpeek: List the ERC-20 token transfers into and out of an address on Ethereum, Base or Robinhood Chain. For current balances use get_portfolio; for top coun"},{"name":"get_block_number","description":"chainpeek: Get the latest block number, timestamp and age in seconds of Ethereum, Base or Robinhood Chain. For the full header use get_block; for chain id and g"},{"name":"get_contract_code","description":"chainpeek: Get the deployed bytecode size and hash of an address, with EIP-1167 and EIP-7702 detection. For other proxy kinds use detect_proxy. Returns what is "},{"name":"get_total_supply","description":"chainpeek: Get an ERC-20 total supply with decimals and symbol on Ethereum, Base or Robinhood Chain. For name and symbol too use get_token_info. Returns the tot"},{"name":"get_nft_owner","description":"chainpeek: Get the owner and token URI of an ERC-721 token on Ethereum, Base or Robinhood Chain. For the standard check and collection data use get_nft. Returns"},{"name":"get_funding_rates","description":"chainpeek: Use when an agent needs what a Hyperliquid perp costs to hold, or whether funding is flipping, before sizing a trade. For Hyperliquid against dYdX us"},{"name":"get_perp_markets","description":"chainpeek: List Hyperliquid perpetual markets with mark, oracle, open interest and volume. For funding history use get_funding_rates. Returns the Hyperliquid pe"},{"name":"get_solana_balance","description":"chainpeek: Get the SOL balance of a Solana address. For SPL tokens use get_solana_token_balances. Returns `lamports` (exact integer string), `sol` (exact decima"},{"name":"get_solana_token_balances","description":"chainpeek: Get the SPL token balances of a Solana wallet. For SOL use get_solana_balance; for EVM tokens use get_portfolio. Returns its SPL Token and Token-2022"},{"name":"get_solana_transaction","description":"chainpeek: Get a parsed Solana transaction by its signature. For an address's recent signatures use get_solana_signatures. An unknown or pruned transaction is a"},{"name":"get_solana_signatures","description":"chainpeek: List the recent transaction signatures of a Solana address. For one transaction's details use get_solana_transaction. `next_before` is null on the la"},{"name":"get_solana_account","description":"chainpeek: Get the account info of a Solana address. For a mint's supply and authorities use get_solana_token_info. Returns whether the account `exists`, `lampo"},{"name":"get_solana_token_info","description":"chainpeek: Get the supply, decimals and authorities of a Solana token mint. For the price use get_solana_token_price; for rug risk use check_solana_token_safety"}],"toolCount":40,"toolsHash":"01fb1331f633c59ab9481392943c1b689aa96c4022fabd4964d9d8ef039b8a25","serverName":"tanod-chain","capabilities":["prompts","resources","tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-30T01:25:13.128Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":702,"error":null,"detail":{"tools":[{"name":"get_balance","description":"chainpeek: read the native or ERC-20 balance of an address on Ethereum, Base or Robinhood Chain. For several tokens at once use get_portfolio; for Solana use ge"},{"name":"get_portfolio","description":"chainpeek: read the native balance and up to 20 ERC-20 balances of an address on Ethereum, Base or Robinhood Chain in one call. For one balance use get_balance;"},{"name":"get_token_info","description":"chainpeek: get ERC-20 token metadata on Ethereum, Base or Robinhood Chain. For a holder's balance use get_balance; for supply alone use get_total_supply. Return"},{"name":"get_token_price","description":"chainpeek: read a token price from a Chainlink on-chain price feed (deterministic oracle answer, not a DEX spot price). For a DEX quote of any token use get_swa"},{"name":"get_dex_price_candles","description":"chainpeek: Get ETH or BTC OHLCV price candles from on-chain DEX swaps. For the oracle price now use get_token_price. Returns OHLCV candles for ETH (WETH/USDC) o"},{"name":"get_swap_quote","description":"chainpeek: quote an exact-input swap on Uniswap V3 (QuoterV2, read-only eth_call) on Ethereum or Base. For price impact over up to five sizes use pre_trade_chec"},{"name":"get_allowance","description":"chainpeek: read an ERC-20 allowance on Ethereum, Base or Robinhood Chain. For every live approval of a wallet use audit_token_approvals. A token that is not a r"},{"name":"get_nft","description":"chainpeek: read one NFT on Ethereum, Base or Robinhood Chain. For the ERC-721 owner alone use get_nft_owner. The collection name, symbol and token URI are attac"},{"name":"get_gas","description":"chainpeek: read the current gas price on Ethereum, Base or Robinhood Chain. For the gas units a transaction needs use estimate_gas. Returns `gas_price_wei`, `ga"},{"name":"get_block","description":"chainpeek: read the latest block header on Ethereum, Base or Robinhood Chain. For height and age only use get_block_number; for a past time use get_block_at_tim"},{"name":"get_block_at_time","description":"chainpeek: find the block at a point in time on Ethereum, Base or Robinhood Chain. For the latest block use get_block_number. Returns `block` (the last block at"},{"name":"get_transaction","description":"chainpeek: read a transaction and its receipt on Ethereum, Base or Robinhood Chain. For the receipt alone use get_transaction_receipt; for decoded events use de"},{"name":"decode_tx_logs","description":"chainpeek: decode a transaction's event logs on Ethereum, Base or Robinhood Chain. For events over a block range use get_event_logs. Returns `status`, `block`, "},{"name":"decode_calldata","description":"chainpeek: decode EVM transaction calldata. To run a read call use eth_call; to fetch a transaction use get_transaction. Input: `calldata` and optional `signatu"},{"name":"detect_proxy","description":"chainpeek: detect whether a contract is a proxy, and of which kind. For code size and hash use get_contract_code. Reads the code, the EIP-1967 / EIP-1822 / Open"},{"name":"resolve_ens","description":"chainpeek: resolve an ENS name or address on Ethereum mainnet. For text records use get_ens_records. Input: `name` XOR `address`. Forward-resolves a name, or re"},{"name":"get_ens_records","description":"chainpeek: read an ENS name's records (Ethereum mainnet). To resolve the address use resolve_ens. Returns the `resolver` (with ENSIP-10 `wildcard`), `addresses`"},{"name":"check_contract_before_interaction","description":"txpeek: Check an address for risk right before you send a transaction to it, approve it, or buy its token (Base or Ethereum). For a full scan of verified source"},{"name":"check_sanctions","description":"chainpeek: screen one crypto address against the US OFAC SDN list's digital currency addresses. For up to 1,000 addresses use check_sanctions_batch; for lookali"},{"name":"get_account_nonce","description":"chainpeek: Get an account's transaction count on Ethereum, Base or Robinhood Chain. For the next nonce with balance and gas checks use transfer_preflight; for t"},{"name":"get_transaction_receipt","description":"chainpeek: Get a transaction receipt on Ethereum, Base or Robinhood Chain. For value, nonce and confirmations too use get_transaction; for decoded events use de"},{"name":"get_event_logs","description":"chainpeek: Query contract event logs over a block range, decoded. For one transaction's events use decode_tx_logs; for an address's token transfers use get_erc2"},{"name":"eth_call","description":"chainpeek: Call a smart contract function read-only on Ethereum, Base or Robinhood Chain. For gas units use estimate_gas; for a raw storage slot use get_storage"},{"name":"estimate_gas","description":"chainpeek: Estimate the gas of a transaction on Ethereum, Base or Robinhood Chain. For the gas price use get_gas; for a whole transfer check use transfer_prefli"},{"name":"get_storage_at","description":"chainpeek: Read a contract storage slot on Ethereum, Base or Robinhood Chain. For proxy implementation and admin slots use detect_proxy. Returns the 32-byte wor"},{"name":"get_erc1155_balance","description":"chainpeek: Get an account's ERC-1155 token balance for a token id on Ethereum, Base or Robinhood Chain. For an ERC-721 owner use get_nft_owner. Returns balanceO"},{"name":"get_chain_info","description":"chainpeek: Get the chain id, latest block, head age and gas price of Ethereum, Base or Robinhood Chain. For gas alone use get_gas; for the header alone use get_"},{"name":"get_erc20_transfers","description":"chainpeek: List the ERC-20 token transfers into and out of an address on Ethereum, Base or Robinhood Chain. For current balances use get_portfolio; for top coun"},{"name":"get_block_number","description":"chainpeek: Get the latest block number, timestamp and age in seconds of Ethereum, Base or Robinhood Chain. For the full header use get_block; for chain id and g"},{"name":"get_contract_code","description":"chainpeek: Get the deployed bytecode size and hash of an address, with EIP-1167 and EIP-7702 detection. For other proxy kinds use detect_proxy. Returns what is "},{"name":"get_total_supply","description":"chainpeek: Get an ERC-20 total supply with decimals and symbol on Ethereum, Base or Robinhood Chain. For name and symbol too use get_token_info. Returns the tot"},{"name":"get_nft_owner","description":"chainpeek: Get the owner and token URI of an ERC-721 token on Ethereum, Base or Robinhood Chain. For the standard check and collection data use get_nft. Returns"},{"name":"get_funding_rates","description":"chainpeek: Use when an agent needs what a Hyperliquid perp costs to hold, or whether funding is flipping, before sizing a trade. For Hyperliquid against dYdX us"},{"name":"get_perp_markets","description":"chainpeek: List Hyperliquid perpetual markets with mark, oracle, open interest and volume. For funding history use get_funding_rates. Returns the Hyperliquid pe"},{"name":"get_solana_balance","description":"chainpeek: Get the SOL balance of a Solana address. For SPL tokens use get_solana_token_balances. Returns `lamports` (exact integer string), `sol` (exact decima"},{"name":"get_solana_token_balances","description":"chainpeek: Get the SPL token balances of a Solana wallet. For SOL use get_solana_balance; for EVM tokens use get_portfolio. Returns its SPL Token and Token-2022"},{"name":"get_solana_transaction","description":"chainpeek: Get a parsed Solana transaction by its signature. For an address's recent signatures use get_solana_signatures. An unknown or pruned transaction is a"},{"name":"get_solana_signatures","description":"chainpeek: List the recent transaction signatures of a Solana address. For one transaction's details use get_solana_transaction. `next_before` is null on the la"},{"name":"get_solana_account","description":"chainpeek: Get the account info of a Solana address. For a mint's supply and authorities use get_solana_token_info. Returns whether the account `exists`, `lampo"},{"name":"get_solana_token_info","description":"chainpeek: Get the supply, decimals and authorities of a Solana token mint. For the price use get_solana_token_price; for rug risk use check_solana_token_safety"}],"toolCount":40,"toolsHash":"01fb1331f633c59ab9481392943c1b689aa96c4022fabd4964d9d8ef039b8a25","serverName":"tanod-chain","capabilities":["prompts","resources","tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-29T17:25:10.439Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":685,"error":null,"detail":{"tools":[{"name":"get_balance","description":"chainpeek: read the native or ERC-20 balance of an address on Ethereum, Base or Robinhood Chain. For several tokens at once use get_portfolio; for Solana use ge"},{"name":"get_portfolio","description":"chainpeek: read the native balance and up to 20 ERC-20 balances of an address on Ethereum, Base or Robinhood Chain in one call. For one balance use get_balance;"},{"name":"get_token_info","description":"chainpeek: get ERC-20 token metadata on Ethereum, Base or Robinhood Chain. For a holder's balance use get_balance; for supply alone use get_total_supply. Return"},{"name":"get_token_price","description":"chainpeek: read a token price from a Chainlink on-chain price feed (deterministic oracle answer, not a DEX spot price). For a DEX quote of any token use get_swa"},{"name":"get_dex_price_candles","description":"chainpeek: Get ETH or BTC OHLCV price candles from on-chain DEX swaps. For the oracle price now use get_token_price. Returns OHLCV candles for ETH (WETH/USDC) o"},{"name":"get_swap_quote","description":"chainpeek: quote an exact-input swap on Uniswap V3 (QuoterV2, read-only eth_call) on Ethereum or Base. For price impact over up to five sizes use pre_trade_chec"},{"name":"get_allowance","description":"chainpeek: read an ERC-20 allowance on Ethereum, Base or Robinhood Chain. For every live approval of a wallet use audit_token_approvals. A token that is not a r"},{"name":"get_nft","description":"chainpeek: read one NFT on Ethereum, Base or Robinhood Chain. For the ERC-721 owner alone use get_nft_owner. The collection name, symbol and token URI are attac"},{"name":"get_gas","description":"chainpeek: read the current gas price on Ethereum, Base or Robinhood Chain. For the gas units a transaction needs use estimate_gas. Returns `gas_price_wei`, `ga"},{"name":"get_block","description":"chainpeek: read the latest block header on Ethereum, Base or Robinhood Chain. For height and age only use get_block_number; for a past time use get_block_at_tim"},{"name":"get_block_at_time","description":"chainpeek: find the block at a point in time on Ethereum, Base or Robinhood Chain. For the latest block use get_block_number. Returns `block` (the last block at"},{"name":"get_transaction","description":"chainpeek: read a transaction and its receipt on Ethereum, Base or Robinhood Chain. For the receipt alone use get_transaction_receipt; for decoded events use de"},{"name":"decode_tx_logs","description":"chainpeek: decode a transaction's event logs on Ethereum, Base or Robinhood Chain. For events over a block range use get_event_logs. Returns `status`, `block`, "},{"name":"decode_calldata","description":"chainpeek: decode EVM transaction calldata. To run a read call use eth_call; to fetch a transaction use get_transaction. Input: `calldata` and optional `signatu"},{"name":"detect_proxy","description":"chainpeek: detect whether a contract is a proxy, and of which kind. For code size and hash use get_contract_code. Reads the code, the EIP-1967 / EIP-1822 / Open"},{"name":"resolve_ens","description":"chainpeek: resolve an ENS name or address on Ethereum mainnet. For text records use get_ens_records. Input: `name` XOR `address`. Forward-resolves a name, or re"},{"name":"get_ens_records","description":"chainpeek: read an ENS name's records (Ethereum mainnet). To resolve the address use resolve_ens. Returns the `resolver` (with ENSIP-10 `wildcard`), `addresses`"},{"name":"check_contract_before_interaction","description":"txpeek: Check an address for risk right before you send a transaction to it, approve it, or buy its token (Base or Ethereum). For a full scan of verified source"},{"name":"check_sanctions","description":"chainpeek: screen one crypto address against the US OFAC SDN list's digital currency addresses. For up to 1,000 addresses use check_sanctions_batch; for lookali"},{"name":"get_account_nonce","description":"chainpeek: Get an account's transaction count on Ethereum, Base or Robinhood Chain. For the next nonce with balance and gas checks use transfer_preflight; for t"},{"name":"get_transaction_receipt","description":"chainpeek: Get a transaction receipt on Ethereum, Base or Robinhood Chain. For value, nonce and confirmations too use get_transaction; for decoded events use de"},{"name":"get_event_logs","description":"chainpeek: Query contract event logs over a block range, decoded. For one transaction's events use decode_tx_logs; for an address's token transfers use get_erc2"},{"name":"eth_call","description":"chainpeek: Call a smart contract function read-only on Ethereum, Base or Robinhood Chain. For gas units use estimate_gas; for a raw storage slot use get_storage"},{"name":"estimate_gas","description":"chainpeek: Estimate the gas of a transaction on Ethereum, Base or Robinhood Chain. For the gas price use get_gas; for a whole transfer check use transfer_prefli"},{"name":"get_storage_at","description":"chainpeek: Read a contract storage slot on Ethereum, Base or Robinhood Chain. For proxy implementation and admin slots use detect_proxy. Returns the 32-byte wor"},{"name":"get_erc1155_balance","description":"chainpeek: Get an account's ERC-1155 token balance for a token id on Ethereum, Base or Robinhood Chain. For an ERC-721 owner use get_nft_owner. Returns balanceO"},{"name":"get_chain_info","description":"chainpeek: Get the chain id, latest block, head age and gas price of Ethereum, Base or Robinhood Chain. For gas alone use get_gas; for the header alone use get_"},{"name":"get_erc20_transfers","description":"chainpeek: List the ERC-20 token transfers into and out of an address on Ethereum, Base or Robinhood Chain. For current balances use get_portfolio; for top coun"},{"name":"get_block_number","description":"chainpeek: Get the latest block number, timestamp and age in seconds of Ethereum, Base or Robinhood Chain. For the full header use get_block; for chain id and g"},{"name":"get_contract_code","description":"chainpeek: Get the deployed bytecode size and hash of an address, with EIP-1167 and EIP-7702 detection. For other proxy kinds use detect_proxy. Returns what is "},{"name":"get_total_supply","description":"chainpeek: Get an ERC-20 total supply with decimals and symbol on Ethereum, Base or Robinhood Chain. For name and symbol too use get_token_info. Returns the tot"},{"name":"get_nft_owner","description":"chainpeek: Get the owner and token URI of an ERC-721 token on Ethereum, Base or Robinhood Chain. For the standard check and collection data use get_nft. Returns"},{"name":"get_funding_rates","description":"chainpeek: Use when an agent needs what a Hyperliquid perp costs to hold, or whether funding is flipping, before sizing a trade. For Hyperliquid against dYdX us"},{"name":"get_perp_markets","description":"chainpeek: List Hyperliquid perpetual markets with mark, oracle, open interest and volume. For funding history use get_funding_rates. Returns the Hyperliquid pe"},{"name":"get_solana_balance","description":"chainpeek: Get the SOL balance of a Solana address. For SPL tokens use get_solana_token_balances. Returns `lamports` (exact integer string), `sol` (exact decima"},{"name":"get_solana_token_balances","description":"chainpeek: Get the SPL token balances of a Solana wallet. For SOL use get_solana_balance; for EVM tokens use get_portfolio. Returns its SPL Token and Token-2022"},{"name":"get_solana_transaction","description":"chainpeek: Get a parsed Solana transaction by its signature. For an address's recent signatures use get_solana_signatures. An unknown or pruned transaction is a"},{"name":"get_solana_signatures","description":"chainpeek: List the recent transaction signatures of a Solana address. For one transaction's details use get_solana_transaction. `next_before` is null on the la"},{"name":"get_solana_account","description":"chainpeek: Get the account info of a Solana address. For a mint's supply and authorities use get_solana_token_info. Returns whether the account `exists`, `lampo"},{"name":"get_solana_token_info","description":"chainpeek: Get the supply, decimals and authorities of a Solana token mint. For the price use get_solana_token_price; for rug risk use check_solana_token_safety"}],"toolCount":40,"toolsHash":"01fb1331f633c59ab9481392943c1b689aa96c4022fabd4964d9d8ef039b8a25","serverName":"tanod-chain","capabilities":["prompts","resources","tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-29T10:24:55.977Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":283,"error":null,"detail":{"tools":[{"name":"get_balance","description":"chainpeek: read the native or ERC-20 balance of an address on Ethereum, Base or Robinhood Chain. For several tokens at once use get_portfolio; for Solana use ge"},{"name":"get_portfolio","description":"chainpeek: read the native balance and up to 20 ERC-20 balances of an address on Ethereum, Base or Robinhood Chain in one call. For one balance use get_balance;"},{"name":"get_token_info","description":"chainpeek: get ERC-20 token metadata on Ethereum, Base or Robinhood Chain. For a holder's balance use get_balance; for supply alone use get_total_supply. Return"},{"name":"get_token_price","description":"chainpeek: read a token price from a Chainlink on-chain price feed (deterministic oracle answer, not a DEX spot price). For a DEX quote of any token use get_swa"},{"name":"get_dex_price_candles","description":"chainpeek: Get ETH or BTC OHLCV price candles from on-chain DEX swaps. For the oracle price now use get_token_price. Returns OHLCV candles for ETH (WETH/USDC) o"},{"name":"get_swap_quote","description":"chainpeek: quote an exact-input swap on Uniswap V3 (QuoterV2, read-only eth_call) on Ethereum or Base. For price impact over up to five sizes use pre_trade_chec"},{"name":"get_allowance","description":"chainpeek: read an ERC-20 allowance on Ethereum, Base or Robinhood Chain. For every live approval of a wallet use audit_token_approvals. A token that is not a r"},{"name":"get_nft","description":"chainpeek: read one NFT on Ethereum, Base or Robinhood Chain. For the ERC-721 owner alone use get_nft_owner. The collection name, symbol and token URI are attac"},{"name":"get_gas","description":"chainpeek: read the current gas price on Ethereum, Base or Robinhood Chain. For the gas units a transaction needs use estimate_gas. Returns `gas_price_wei`, `ga"},{"name":"get_block","description":"chainpeek: read the latest block header on Ethereum, Base or Robinhood Chain. For height and age only use get_block_number; for a past time use get_block_at_tim"},{"name":"get_block_at_time","description":"chainpeek: find the block at a point in time on Ethereum, Base or Robinhood Chain. For the latest block use get_block_number. Returns `block` (the last block at"},{"name":"get_transaction","description":"chainpeek: read a transaction and its receipt on Ethereum, Base or Robinhood Chain. For the receipt alone use get_transaction_receipt; for decoded events use de"},{"name":"decode_tx_logs","description":"chainpeek: decode a transaction's event logs on Ethereum, Base or Robinhood Chain. For events over a block range use get_event_logs. Returns `status`, `block`, "},{"name":"decode_calldata","description":"chainpeek: decode EVM transaction calldata. To run a read call use eth_call; to fetch a transaction use get_transaction. Input: `calldata` and optional `signatu"},{"name":"detect_proxy","description":"chainpeek: detect whether a contract is a proxy, and of which kind. For code size and hash use get_contract_code. Reads the code, the EIP-1967 / EIP-1822 / Open"},{"name":"resolve_ens","description":"chainpeek: resolve an ENS name or address on Ethereum mainnet. For text records use get_ens_records. Input: `name` XOR `address`. Forward-resolves a name, or re"},{"name":"get_ens_records","description":"chainpeek: read an ENS name's records (Ethereum mainnet). To resolve the address use resolve_ens. Returns the `resolver` (with ENSIP-10 `wildcard`), `addresses`"},{"name":"check_contract_before_interaction","description":"txpeek: Check an address for risk right before you send a transaction to it, approve it, or buy its token (Base or Ethereum). For a full scan of verified source"},{"name":"check_sanctions","description":"chainpeek: screen one crypto address against the US OFAC SDN list's digital currency addresses. For up to 1,000 addresses use check_sanctions_batch; for lookali"},{"name":"get_account_nonce","description":"chainpeek: Get an account's transaction count on Ethereum, Base or Robinhood Chain. For the next nonce with balance and gas checks use transfer_preflight; for t"},{"name":"get_transaction_receipt","description":"chainpeek: Get a transaction receipt on Ethereum, Base or Robinhood Chain. For value, nonce and confirmations too use get_transaction; for decoded events use de"},{"name":"get_event_logs","description":"chainpeek: Query contract event logs over a block range, decoded. For one transaction's events use decode_tx_logs; for an address's token transfers use get_erc2"},{"name":"eth_call","description":"chainpeek: Call a smart contract function read-only on Ethereum, Base or Robinhood Chain. For gas units use estimate_gas; for a raw storage slot use get_storage"},{"name":"estimate_gas","description":"chainpeek: Estimate the gas of a transaction on Ethereum, Base or Robinhood Chain. For the gas price use get_gas; for a whole transfer check use transfer_prefli"},{"name":"get_storage_at","description":"chainpeek: Read a contract storage slot on Ethereum, Base or Robinhood Chain. For proxy implementation and admin slots use detect_proxy. Returns the 32-byte wor"},{"name":"get_erc1155_balance","description":"chainpeek: Get an account's ERC-1155 token balance for a token id on Ethereum, Base or Robinhood Chain. For an ERC-721 owner use get_nft_owner. Returns balanceO"},{"name":"get_chain_info","description":"chainpeek: Get the chain id, latest block, head age and gas price of Ethereum, Base or Robinhood Chain. For gas alone use get_gas; for the header alone use get_"},{"name":"get_erc20_transfers","description":"chainpeek: List the ERC-20 token transfers into and out of an address on Ethereum, Base or Robinhood Chain. For current balances use get_portfolio; for top coun"},{"name":"get_block_number","description":"chainpeek: Get the latest block number, timestamp and age in seconds of Ethereum, Base or Robinhood Chain. For the full header use get_block; for chain id and g"},{"name":"get_contract_code","description":"chainpeek: Get the deployed bytecode size and hash of an address, with EIP-1167 and EIP-7702 detection. For other proxy kinds use detect_proxy. Returns what is "},{"name":"get_total_supply","description":"chainpeek: Get an ERC-20 total supply with decimals and symbol on Ethereum, Base or Robinhood Chain. For name and symbol too use get_token_info. Returns the tot"},{"name":"get_nft_owner","description":"chainpeek: Get the owner and token URI of an ERC-721 token on Ethereum, Base or Robinhood Chain. For the standard check and collection data use get_nft. Returns"},{"name":"get_funding_rates","description":"chainpeek: Use when an agent needs what a Hyperliquid perp costs to hold, or whether funding is flipping, before sizing a trade. For Hyperliquid against dYdX us"},{"name":"get_perp_markets","description":"chainpeek: List Hyperliquid perpetual markets with mark, oracle, open interest and volume. For funding history use get_funding_rates. Returns the Hyperliquid pe"},{"name":"get_solana_balance","description":"chainpeek: Get the SOL balance of a Solana address. For SPL tokens use get_solana_token_balances. Returns `lamports` (exact integer string), `sol` (exact decima"},{"name":"get_solana_token_balances","description":"chainpeek: Get the SPL token balances of a Solana wallet. For SOL use get_solana_balance; for EVM tokens use get_portfolio. Returns its SPL Token and Token-2022"},{"name":"get_solana_transaction","description":"chainpeek: Get a parsed Solana transaction by its signature. For an address's recent signatures use get_solana_signatures. An unknown or pruned transaction is a"},{"name":"get_solana_signatures","description":"chainpeek: List the recent transaction signatures of a Solana address. For one transaction's details use get_solana_transaction. `next_before` is null on the la"},{"name":"get_solana_account","description":"chainpeek: Get the account info of a Solana address. For a mint's supply and authorities use get_solana_token_info. Returns whether the account `exists`, `lampo"},{"name":"get_solana_token_info","description":"chainpeek: Get the supply, decimals and authorities of a Solana token mint. For the price use get_solana_token_price; for rug risk use check_solana_token_safety"}],"toolCount":40,"toolsHash":"01fb1331f633c59ab9481392943c1b689aa96c4022fabd4964d9d8ef039b8a25","serverName":"tanod-chain","capabilities":["prompts","resources","tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-29T03:24:21.305Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":1609,"error":null,"detail":{"tools":[{"name":"get_balance","description":"chainpeek: read the native or ERC-20 balance of an address on Ethereum, Base or Robinhood Chain. For several tokens at once use get_portfolio; for Solana use ge"},{"name":"get_portfolio","description":"chainpeek: read the native balance and up to 20 ERC-20 balances of an address on Ethereum, Base or Robinhood Chain in one call. For one balance use get_balance;"},{"name":"get_token_info","description":"chainpeek: get ERC-20 token metadata on Ethereum, Base or Robinhood Chain. For a holder's balance use get_balance; for supply alone use get_total_supply. Return"},{"name":"get_token_price","description":"chainpeek: read a token price from a Chainlink on-chain price feed (deterministic oracle answer, not a DEX spot price). For a DEX quote of any token use get_swa"},{"name":"get_dex_price_candles","description":"chainpeek: Get ETH or BTC OHLCV price candles from on-chain DEX swaps. For the oracle price now use get_token_price. Returns OHLCV candles for ETH (WETH/USDC) o"},{"name":"get_swap_quote","description":"chainpeek: quote an exact-input swap on Uniswap V3 (QuoterV2, read-only eth_call) on Ethereum or Base. For price impact over up to five sizes use pre_trade_chec"},{"name":"get_allowance","description":"chainpeek: read an ERC-20 allowance on Ethereum, Base or Robinhood Chain. For every live approval of a wallet use audit_token_approvals. A token that is not a r"},{"name":"get_nft","description":"chainpeek: read one NFT on Ethereum, Base or Robinhood Chain. For the ERC-721 owner alone use get_nft_owner. The collection name, symbol and token URI are attac"},{"name":"get_gas","description":"chainpeek: read the current gas price on Ethereum, Base or Robinhood Chain. For the gas units a transaction needs use estimate_gas. Returns `gas_price_wei`, `ga"},{"name":"get_block","description":"chainpeek: read the latest block header on Ethereum, Base or Robinhood Chain. For height and age only use get_block_number; for a past time use get_block_at_tim"},{"name":"get_block_at_time","description":"chainpeek: find the block at a point in time on Ethereum, Base or Robinhood Chain. For the latest block use get_block_number. Returns `block` (the last block at"},{"name":"get_transaction","description":"chainpeek: read a transaction and its receipt on Ethereum, Base or Robinhood Chain. For the receipt alone use get_transaction_receipt; for decoded events use de"},{"name":"decode_tx_logs","description":"chainpeek: decode a transaction's event logs on Ethereum, Base or Robinhood Chain. For events over a block range use get_event_logs. Returns `status`, `block`, "},{"name":"decode_calldata","description":"chainpeek: decode EVM transaction calldata. To run a read call use eth_call; to fetch a transaction use get_transaction. Input: `calldata` and optional `signatu"},{"name":"detect_proxy","description":"chainpeek: detect whether a contract is a proxy, and of which kind. For code size and hash use get_contract_code. Reads the code, the EIP-1967 / EIP-1822 / Open"},{"name":"resolve_ens","description":"chainpeek: resolve an ENS name or address on Ethereum mainnet. For text records use get_ens_records. Input: `name` XOR `address`. Forward-resolves a name, or re"},{"name":"get_ens_records","description":"chainpeek: read an ENS name's records (Ethereum mainnet). To resolve the address use resolve_ens. Returns the `resolver` (with ENSIP-10 `wildcard`), `addresses`"},{"name":"check_contract_before_interaction","description":"txpeek: Check an address for risk right before you send a transaction to it, approve it, or buy its token (Base or Ethereum). For a full scan of verified source"},{"name":"check_sanctions","description":"chainpeek: screen one crypto address against the US OFAC SDN list's digital currency addresses. For up to 1,000 addresses use check_sanctions_batch; for lookali"},{"name":"get_account_nonce","description":"chainpeek: Get an account's transaction count on Ethereum, Base or Robinhood Chain. For the next nonce with balance and gas checks use transfer_preflight; for t"},{"name":"get_transaction_receipt","description":"chainpeek: Get a transaction receipt on Ethereum, Base or Robinhood Chain. For value, nonce and confirmations too use get_transaction; for decoded events use de"},{"name":"get_event_logs","description":"chainpeek: Query contract event logs over a block range, decoded. For one transaction's events use decode_tx_logs; for an address's token transfers use get_erc2"},{"name":"eth_call","description":"chainpeek: Call a smart contract function read-only on Ethereum, Base or Robinhood Chain. For gas units use estimate_gas; for a raw storage slot use get_storage"},{"name":"estimate_gas","description":"chainpeek: Estimate the gas of a transaction on Ethereum, Base or Robinhood Chain. For the gas price use get_gas; for a whole transfer check use transfer_prefli"},{"name":"get_storage_at","description":"chainpeek: Read a contract storage slot on Ethereum, Base or Robinhood Chain. For proxy implementation and admin slots use detect_proxy. Returns the 32-byte wor"},{"name":"get_erc1155_balance","description":"chainpeek: Get an account's ERC-1155 token balance for a token id on Ethereum, Base or Robinhood Chain. For an ERC-721 owner use get_nft_owner. Returns balanceO"},{"name":"get_chain_info","description":"chainpeek: Get the chain id, latest block, head age and gas price of Ethereum, Base or Robinhood Chain. For gas alone use get_gas; for the header alone use get_"},{"name":"get_erc20_transfers","description":"chainpeek: List the ERC-20 token transfers into and out of an address on Ethereum, Base or Robinhood Chain. For current balances use get_portfolio; for top coun"},{"name":"get_block_number","description":"chainpeek: Get the latest block number, timestamp and age in seconds of Ethereum, Base or Robinhood Chain. For the full header use get_block; for chain id and g"},{"name":"get_contract_code","description":"chainpeek: Get the deployed bytecode size and hash of an address, with EIP-1167 and EIP-7702 detection. For other proxy kinds use detect_proxy. Returns what is "},{"name":"get_total_supply","description":"chainpeek: Get an ERC-20 total supply with decimals and symbol on Ethereum, Base or Robinhood Chain. For name and symbol too use get_token_info. Returns the tot"},{"name":"get_nft_owner","description":"chainpeek: Get the owner and token URI of an ERC-721 token on Ethereum, Base or Robinhood Chain. For the standard check and collection data use get_nft. Returns"},{"name":"get_funding_rates","description":"chainpeek: Use when an agent needs what a Hyperliquid perp costs to hold, or whether funding is flipping, before sizing a trade. For Hyperliquid against dYdX us"},{"name":"get_perp_markets","description":"chainpeek: List Hyperliquid perpetual markets with mark, oracle, open interest and volume. For funding history use get_funding_rates. Returns the Hyperliquid pe"},{"name":"get_solana_balance","description":"chainpeek: Get the SOL balance of a Solana address. For SPL tokens use get_solana_token_balances. Returns `lamports` (exact integer string), `sol` (exact decima"},{"name":"get_solana_token_balances","description":"chainpeek: Get the SPL token balances of a Solana wallet. For SOL use get_solana_balance; for EVM tokens use get_portfolio. Returns its SPL Token and Token-2022"},{"name":"get_solana_transaction","description":"chainpeek: Get a parsed Solana transaction by its signature. For an address's recent signatures use get_solana_signatures. An unknown or pruned transaction is a"},{"name":"get_solana_signatures","description":"chainpeek: List the recent transaction signatures of a Solana address. For one transaction's details use get_solana_transaction. `next_before` is null on the la"},{"name":"get_solana_account","description":"chainpeek: Get the account info of a Solana address. For a mint's supply and authorities use get_solana_token_info. Returns whether the account `exists`, `lampo"},{"name":"get_solana_token_info","description":"chainpeek: Get the supply, decimals and authorities of a Solana token mint. For the price use get_solana_token_price; for rug risk use check_solana_token_safety"}],"toolCount":40,"toolsHash":"01fb1331f633c59ab9481392943c1b689aa96c4022fabd4964d9d8ef039b8a25","serverName":"tanod-chain","capabilities":["prompts","resources","tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-28T19:26:24.253Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":238,"error":null,"detail":{"tools":[{"name":"get_balance","description":"chainpeek: read the native or ERC-20 balance of an address on Ethereum, Base or Robinhood Chain. For several tokens at once use get_portfolio; for Solana use ge"},{"name":"get_portfolio","description":"chainpeek: read the native balance and up to 20 ERC-20 balances of an address on Ethereum, Base or Robinhood Chain in one call. For one balance use get_balance;"},{"name":"get_token_info","description":"chainpeek: get ERC-20 token metadata on Ethereum, Base or Robinhood Chain. For a holder's balance use get_balance; for supply alone use get_total_supply. Return"},{"name":"get_token_price","description":"chainpeek: read a token price from a Chainlink on-chain price feed (deterministic oracle answer, not a DEX spot price). For a DEX quote of any token use get_swa"},{"name":"get_dex_price_candles","description":"chainpeek: Get ETH or BTC OHLCV price candles from on-chain DEX swaps. For the oracle price now use get_token_price. Returns OHLCV candles for ETH (WETH/USDC) o"},{"name":"get_swap_quote","description":"chainpeek: quote an exact-input swap on Uniswap V3 (QuoterV2, read-only eth_call) on Ethereum or Base. For price impact over up to five sizes use pre_trade_chec"},{"name":"get_allowance","description":"chainpeek: read an ERC-20 allowance on Ethereum, Base or Robinhood Chain. For every live approval of a wallet use audit_token_approvals. A token that is not a r"},{"name":"get_nft","description":"chainpeek: read one NFT on Ethereum, Base or Robinhood Chain. For the ERC-721 owner alone use get_nft_owner. The collection name, symbol and token URI are attac"},{"name":"get_gas","description":"chainpeek: read the current gas price on Ethereum, Base or Robinhood Chain. For the gas units a transaction needs use estimate_gas. Returns `gas_price_wei`, `ga"},{"name":"get_block","description":"chainpeek: read the latest block header on Ethereum, Base or Robinhood Chain. For height and age only use get_block_number; for a past time use get_block_at_tim"},{"name":"get_block_at_time","description":"chainpeek: find the block at a point in time on Ethereum, Base or Robinhood Chain. For the latest block use get_block_number. Returns `block` (the last block at"},{"name":"get_transaction","description":"chainpeek: read a transaction and its receipt on Ethereum, Base or Robinhood Chain. For the receipt alone use get_transaction_receipt; for decoded events use de"},{"name":"decode_tx_logs","description":"chainpeek: decode a transaction's event logs on Ethereum, Base or Robinhood Chain. For events over a block range use get_event_logs. Returns `status`, `block`, "},{"name":"decode_calldata","description":"chainpeek: decode EVM transaction calldata. To run a read call use eth_call; to fetch a transaction use get_transaction. Input: `calldata` and optional `signatu"},{"name":"detect_proxy","description":"chainpeek: detect whether a contract is a proxy, and of which kind. For code size and hash use get_contract_code. Reads the code, the EIP-1967 / EIP-1822 / Open"},{"name":"resolve_ens","description":"chainpeek: resolve an ENS name or address on Ethereum mainnet. For text records use get_ens_records. Input: `name` XOR `address`. Forward-resolves a name, or re"},{"name":"get_ens_records","description":"chainpeek: read an ENS name's records (Ethereum mainnet). To resolve the address use resolve_ens. Returns the `resolver` (with ENSIP-10 `wildcard`), `addresses`"},{"name":"check_contract_before_interaction","description":"txpeek: Check an address for risk right before you send a transaction to it, approve it, or buy its token (Base or Ethereum). For a full scan of verified source"},{"name":"check_sanctions","description":"chainpeek: screen one crypto address against the US OFAC SDN list's digital currency addresses. For up to 1,000 addresses use check_sanctions_batch; for lookali"},{"name":"get_account_nonce","description":"chainpeek: Get an account's transaction count on Ethereum, Base or Robinhood Chain. For the next nonce with balance and gas checks use transfer_preflight; for t"},{"name":"get_transaction_receipt","description":"chainpeek: Get a transaction receipt on Ethereum, Base or Robinhood Chain. For value, nonce and confirmations too use get_transaction; for decoded events use de"},{"name":"get_event_logs","description":"chainpeek: Query contract event logs over a block range, decoded. For one transaction's events use decode_tx_logs; for an address's token transfers use get_erc2"},{"name":"eth_call","description":"chainpeek: Call a smart contract function read-only on Ethereum, Base or Robinhood Chain. For gas units use estimate_gas; for a raw storage slot use get_storage"},{"name":"estimate_gas","description":"chainpeek: Estimate the gas of a transaction on Ethereum, Base or Robinhood Chain. For the gas price use get_gas; for a whole transfer check use transfer_prefli"},{"name":"get_storage_at","description":"chainpeek: Read a contract storage slot on Ethereum, Base or Robinhood Chain. For proxy implementation and admin slots use detect_proxy. Returns the 32-byte wor"},{"name":"get_erc1155_balance","description":"chainpeek: Get an account's ERC-1155 token balance for a token id on Ethereum, Base or Robinhood Chain. For an ERC-721 owner use get_nft_owner. Returns balanceO"},{"name":"get_chain_info","description":"chainpeek: Get the chain id, latest block, head age and gas price of Ethereum, Base or Robinhood Chain. For gas alone use get_gas; for the header alone use get_"},{"name":"get_erc20_transfers","description":"chainpeek: List the ERC-20 token transfers into and out of an address on Ethereum, Base or Robinhood Chain. For current balances use get_portfolio; for top coun"},{"name":"get_block_number","description":"chainpeek: Get the latest block number, timestamp and age in seconds of Ethereum, Base or Robinhood Chain. For the full header use get_block; for chain id and g"},{"name":"get_contract_code","description":"chainpeek: Get the deployed bytecode size and hash of an address, with EIP-1167 and EIP-7702 detection. For other proxy kinds use detect_proxy. Returns what is "},{"name":"get_total_supply","description":"chainpeek: Get an ERC-20 total supply with decimals and symbol on Ethereum, Base or Robinhood Chain. For name and symbol too use get_token_info. Returns the tot"},{"name":"get_nft_owner","description":"chainpeek: Get the owner and token URI of an ERC-721 token on Ethereum, Base or Robinhood Chain. For the standard check and collection data use get_nft. Returns"},{"name":"get_funding_rates","description":"chainpeek: Use when an agent needs what a Hyperliquid perp costs to hold, or whether funding is flipping, before sizing a trade. For Hyperliquid against dYdX us"},{"name":"get_perp_markets","description":"chainpeek: List Hyperliquid perpetual markets with mark, oracle, open interest and volume. For funding history use get_funding_rates. Returns the Hyperliquid pe"},{"name":"get_solana_balance","description":"chainpeek: Get the SOL balance of a Solana address. For SPL tokens use get_solana_token_balances. Returns `lamports` (exact integer string), `sol` (exact decima"},{"name":"get_solana_token_balances","description":"chainpeek: Get the SPL token balances of a Solana wallet. For SOL use get_solana_balance; for EVM tokens use get_portfolio. Returns its SPL Token and Token-2022"},{"name":"get_solana_transaction","description":"chainpeek: Get a parsed Solana transaction by its signature. For an address's recent signatures use get_solana_signatures. An unknown or pruned transaction is a"},{"name":"get_solana_signatures","description":"chainpeek: List the recent transaction signatures of a Solana address. For one transaction's details use get_solana_transaction. `next_before` is null on the la"},{"name":"get_solana_account","description":"chainpeek: Get the account info of a Solana address. For a mint's supply and authorities use get_solana_token_info. Returns whether the account `exists`, `lampo"},{"name":"get_solana_token_info","description":"chainpeek: Get the supply, decimals and authorities of a Solana token mint. For the price use get_solana_token_price; for rug risk use check_solana_token_safety"}],"toolCount":40,"toolsHash":"01fb1331f633c59ab9481392943c1b689aa96c4022fabd4964d9d8ef039b8a25","serverName":"tanod-chain","capabilities":["prompts","resources","tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-28T12:27:32.269Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":824,"error":null,"detail":{"tools":[{"name":"get_balance","description":"chainpeek: read the native or ERC-20 balance of an address on Ethereum, Base or Robinhood Chain. For several tokens at once use get_portfolio; for Solana use ge"},{"name":"get_portfolio","description":"chainpeek: read the native balance and up to 20 ERC-20 balances of an address on Ethereum, Base or Robinhood Chain in one call. For one balance use get_balance;"},{"name":"get_token_info","description":"chainpeek: get ERC-20 token metadata on Ethereum, Base or Robinhood Chain. For a holder's balance use get_balance; for supply alone use get_total_supply. Return"},{"name":"get_token_price","description":"chainpeek: read a token price from a Chainlink on-chain price feed (deterministic oracle answer, not a DEX spot price). For a DEX quote of any token use get_swa"},{"name":"get_dex_price_candles","description":"chainpeek: Get ETH or BTC OHLCV price candles from on-chain DEX swaps. For the oracle price now use get_token_price. Returns OHLCV candles for ETH (WETH/USDC) o"},{"name":"get_swap_quote","description":"chainpeek: quote an exact-input swap on Uniswap V3 (QuoterV2, read-only eth_call) on Ethereum or Base. For price impact over up to five sizes use pre_trade_chec"},{"name":"get_allowance","description":"chainpeek: read an ERC-20 allowance on Ethereum, Base or Robinhood Chain. For every live approval of a wallet use audit_token_approvals. A token that is not a r"},{"name":"get_nft","description":"chainpeek: read one NFT on Ethereum, Base or Robinhood Chain. For the ERC-721 owner alone use get_nft_owner. The collection name, symbol and token URI are attac"},{"name":"get_gas","description":"chainpeek: read the current gas price on Ethereum, Base or Robinhood Chain. For the gas units a transaction needs use estimate_gas. Returns `gas_price_wei`, `ga"},{"name":"get_block","description":"chainpeek: read the latest block header on Ethereum, Base or Robinhood Chain. For height and age only use get_block_number; for a past time use get_block_at_tim"},{"name":"get_block_at_time","description":"chainpeek: find the block at a point in time on Ethereum, Base or Robinhood Chain. For the latest block use get_block_number. Returns `block` (the last block at"},{"name":"get_transaction","description":"chainpeek: read a transaction and its receipt on Ethereum, Base or Robinhood Chain. For the receipt alone use get_transaction_receipt; for decoded events use de"},{"name":"decode_tx_logs","description":"chainpeek: decode a transaction's event logs on Ethereum, Base or Robinhood Chain. For events over a block range use get_event_logs. Returns `status`, `block`, "},{"name":"decode_calldata","description":"chainpeek: decode EVM transaction calldata. To run a read call use eth_call; to fetch a transaction use get_transaction. Input: `calldata` and optional `signatu"},{"name":"detect_proxy","description":"chainpeek: detect whether a contract is a proxy, and of which kind. For code size and hash use get_contract_code. Reads the code, the EIP-1967 / EIP-1822 / Open"},{"name":"resolve_ens","description":"chainpeek: resolve an ENS name or address on Ethereum mainnet. For text records use get_ens_records. Input: `name` XOR `address`. Forward-resolves a name, or re"},{"name":"get_ens_records","description":"chainpeek: read an ENS name's records (Ethereum mainnet). To resolve the address use resolve_ens. Returns the `resolver` (with ENSIP-10 `wildcard`), `addresses`"},{"name":"check_contract_before_interaction","description":"txpeek: Check an address for risk right before you send a transaction to it, approve it, or buy its token (Base or Ethereum). For a full scan of verified source"},{"name":"check_sanctions","description":"chainpeek: screen one crypto address against the US OFAC SDN list's digital currency addresses. For up to 1,000 addresses use check_sanctions_batch; for lookali"},{"name":"get_account_nonce","description":"chainpeek: Get an account's transaction count on Ethereum, Base or Robinhood Chain. For the next nonce with balance and gas checks use transfer_preflight; for t"},{"name":"get_transaction_receipt","description":"chainpeek: Get a transaction receipt on Ethereum, Base or Robinhood Chain. For value, nonce and confirmations too use get_transaction; for decoded events use de"},{"name":"get_event_logs","description":"chainpeek: Query contract event logs over a block range, decoded. For one transaction's events use decode_tx_logs; for an address's token transfers use get_erc2"},{"name":"eth_call","description":"chainpeek: Call a smart contract function read-only on Ethereum, Base or Robinhood Chain. For gas units use estimate_gas; for a raw storage slot use get_storage"},{"name":"estimate_gas","description":"chainpeek: Estimate the gas of a transaction on Ethereum, Base or Robinhood Chain. For the gas price use get_gas; for a whole transfer check use transfer_prefli"},{"name":"get_storage_at","description":"chainpeek: Read a contract storage slot on Ethereum, Base or Robinhood Chain. For proxy implementation and admin slots use detect_proxy. Returns the 32-byte wor"},{"name":"get_erc1155_balance","description":"chainpeek: Get an account's ERC-1155 token balance for a token id on Ethereum, Base or Robinhood Chain. For an ERC-721 owner use get_nft_owner. Returns balanceO"},{"name":"get_chain_info","description":"chainpeek: Get the chain id, latest block, head age and gas price of Ethereum, Base or Robinhood Chain. For gas alone use get_gas; for the header alone use get_"},{"name":"get_erc20_transfers","description":"chainpeek: List the ERC-20 token transfers into and out of an address on Ethereum, Base or Robinhood Chain. For current balances use get_portfolio; for top coun"},{"name":"get_block_number","description":"chainpeek: Get the latest block number, timestamp and age in seconds of Ethereum, Base or Robinhood Chain. For the full header use get_block; for chain id and g"},{"name":"get_contract_code","description":"chainpeek: Get the deployed bytecode size and hash of an address, with EIP-1167 and EIP-7702 detection. For other proxy kinds use detect_proxy. Returns what is "},{"name":"get_total_supply","description":"chainpeek: Get an ERC-20 total supply with decimals and symbol on Ethereum, Base or Robinhood Chain. For name and symbol too use get_token_info. Returns the tot"},{"name":"get_nft_owner","description":"chainpeek: Get the owner and token URI of an ERC-721 token on Ethereum, Base or Robinhood Chain. For the standard check and collection data use get_nft. Returns"},{"name":"get_funding_rates","description":"chainpeek: Use when an agent needs what a Hyperliquid perp costs to hold, or whether funding is flipping, before sizing a trade. For Hyperliquid against dYdX us"},{"name":"get_perp_markets","description":"chainpeek: List Hyperliquid perpetual markets with mark, oracle, open interest and volume. For funding history use get_funding_rates. Returns the Hyperliquid pe"},{"name":"get_solana_balance","description":"chainpeek: Get the SOL balance of a Solana address. For SPL tokens use get_solana_token_balances. Returns `lamports` (exact integer string), `sol` (exact decima"},{"name":"get_solana_token_balances","description":"chainpeek: Get the SPL token balances of a Solana wallet. For SOL use get_solana_balance; for EVM tokens use get_portfolio. Returns its SPL Token and Token-2022"},{"name":"get_solana_transaction","description":"chainpeek: Get a parsed Solana transaction by its signature. For an address's recent signatures use get_solana_signatures. An unknown or pruned transaction is a"},{"name":"get_solana_signatures","description":"chainpeek: List the recent transaction signatures of a Solana address. For one transaction's details use get_solana_transaction. `next_before` is null on the la"},{"name":"get_solana_account","description":"chainpeek: Get the account info of a Solana address. For a mint's supply and authorities use get_solana_token_info. Returns whether the account `exists`, `lampo"},{"name":"get_solana_token_info","description":"chainpeek: Get the supply, decimals and authorities of a Solana token mint. For the price use get_solana_token_price; for rug risk use check_solana_token_safety"}],"toolCount":40,"toolsHash":"01fb1331f633c59ab9481392943c1b689aa96c4022fabd4964d9d8ef039b8a25","serverName":"tanod-chain","capabilities":["prompts","resources","tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"get_balance","description":"chainpeek: read the native or ERC-20 balance of an address on Ethereum, Base or Robinhood Chain. For several tokens at once use get_portfolio; for Solana use ge"},{"name":"get_portfolio","description":"chainpeek: read the native balance and up to 20 ERC-20 balances of an address on Ethereum, Base or Robinhood Chain in one call. For one balance use get_balance;"},{"name":"get_token_info","description":"chainpeek: get ERC-20 token metadata on Ethereum, Base or Robinhood Chain. For a holder's balance use get_balance; for supply alone use get_total_supply. Return"},{"name":"get_token_price","description":"chainpeek: read a token price from a Chainlink on-chain price feed (deterministic oracle answer, not a DEX spot price). For a DEX quote of any token use get_swa"},{"name":"get_dex_price_candles","description":"chainpeek: Get ETH or BTC OHLCV price candles from on-chain DEX swaps. For the oracle price now use get_token_price. Returns OHLCV candles for ETH (WETH/USDC) o"},{"name":"get_swap_quote","description":"chainpeek: quote an exact-input swap on Uniswap V3 (QuoterV2, read-only eth_call) on Ethereum or Base. For price impact over up to five sizes use pre_trade_chec"},{"name":"get_allowance","description":"chainpeek: read an ERC-20 allowance on Ethereum, Base or Robinhood Chain. For every live approval of a wallet use audit_token_approvals. A token that is not a r"},{"name":"get_nft","description":"chainpeek: read one NFT on Ethereum, Base or Robinhood Chain. For the ERC-721 owner alone use get_nft_owner. The collection name, symbol and token URI are attac"},{"name":"get_gas","description":"chainpeek: read the current gas price on Ethereum, Base or Robinhood Chain. For the gas units a transaction needs use estimate_gas. Returns `gas_price_wei`, `ga"},{"name":"get_block","description":"chainpeek: read the latest block header on Ethereum, Base or Robinhood Chain. For height and age only use get_block_number; for a past time use get_block_at_tim"},{"name":"get_block_at_time","description":"chainpeek: find the block at a point in time on Ethereum, Base or Robinhood Chain. For the latest block use get_block_number. Returns `block` (the last block at"},{"name":"get_transaction","description":"chainpeek: read a transaction and its receipt on Ethereum, Base or Robinhood Chain. For the receipt alone use get_transaction_receipt; for decoded events use de"},{"name":"decode_tx_logs","description":"chainpeek: decode a transaction's event logs on Ethereum, Base or Robinhood Chain. For events over a block range use get_event_logs. Returns `status`, `block`, "},{"name":"decode_calldata","description":"chainpeek: decode EVM transaction calldata. To run a read call use eth_call; to fetch a transaction use get_transaction. Input: `calldata` and optional `signatu"},{"name":"detect_proxy","description":"chainpeek: detect whether a contract is a proxy, and of which kind. For code size and hash use get_contract_code. Reads the code, the EIP-1967 / EIP-1822 / Open"},{"name":"resolve_ens","description":"chainpeek: resolve an ENS name or address on Ethereum mainnet. For text records use get_ens_records. Input: `name` XOR `address`. Forward-resolves a name, or re"},{"name":"get_ens_records","description":"chainpeek: read an ENS name's records (Ethereum mainnet). To resolve the address use resolve_ens. Returns the `resolver` (with ENSIP-10 `wildcard`), `addresses`"},{"name":"check_contract_before_interaction","description":"txpeek: Check an address for risk right before you send a transaction to it, approve it, or buy its token (Base or Ethereum). For a full scan of verified source"},{"name":"check_sanctions","description":"chainpeek: screen one crypto address against the US OFAC SDN list's digital currency addresses. For up to 1,000 addresses use check_sanctions_batch; for lookali"},{"name":"get_account_nonce","description":"chainpeek: Get an account's transaction count on Ethereum, Base or Robinhood Chain. For the next nonce with balance and gas checks use transfer_preflight; for t"},{"name":"get_transaction_receipt","description":"chainpeek: Get a transaction receipt on Ethereum, Base or Robinhood Chain. For value, nonce and confirmations too use get_transaction; for decoded events use de"},{"name":"get_event_logs","description":"chainpeek: Query contract event logs over a block range, decoded. For one transaction's events use decode_tx_logs; for an address's token transfers use get_erc2"},{"name":"eth_call","description":"chainpeek: Call a smart contract function read-only on Ethereum, Base or Robinhood Chain. For gas units use estimate_gas; for a raw storage slot use get_storage"},{"name":"estimate_gas","description":"chainpeek: Estimate the gas of a transaction on Ethereum, Base or Robinhood Chain. For the gas price use get_gas; for a whole transfer check use transfer_prefli"},{"name":"get_storage_at","description":"chainpeek: Read a contract storage slot on Ethereum, Base or Robinhood Chain. For proxy implementation and admin slots use detect_proxy. Returns the 32-byte wor"},{"name":"get_erc1155_balance","description":"chainpeek: Get an account's ERC-1155 token balance for a token id on Ethereum, Base or Robinhood Chain. For an ERC-721 owner use get_nft_owner. Returns balanceO"},{"name":"get_chain_info","description":"chainpeek: Get the chain id, latest block, head age and gas price of Ethereum, Base or Robinhood Chain. For gas alone use get_gas; for the header alone use get_"},{"name":"get_erc20_transfers","description":"chainpeek: List the ERC-20 token transfers into and out of an address on Ethereum, Base or Robinhood Chain. For current balances use get_portfolio; for top coun"},{"name":"get_block_number","description":"chainpeek: Get the latest block number, timestamp and age in seconds of Ethereum, Base or Robinhood Chain. For the full header use get_block; for chain id and g"},{"name":"get_contract_code","description":"chainpeek: Get the deployed bytecode size and hash of an address, with EIP-1167 and EIP-7702 detection. For other proxy kinds use detect_proxy. Returns what is "},{"name":"get_total_supply","description":"chainpeek: Get an ERC-20 total supply with decimals and symbol on Ethereum, Base or Robinhood Chain. For name and symbol too use get_token_info. Returns the tot"},{"name":"get_nft_owner","description":"chainpeek: Get the owner and token URI of an ERC-721 token on Ethereum, Base or Robinhood Chain. For the standard check and collection data use get_nft. Returns"},{"name":"get_funding_rates","description":"chainpeek: Use when an agent needs what a Hyperliquid perp costs to hold, or whether funding is flipping, before sizing a trade. For Hyperliquid against dYdX us"},{"name":"get_perp_markets","description":"chainpeek: List Hyperliquid perpetual markets with mark, oracle, open interest and volume. For funding history use get_funding_rates. Returns the Hyperliquid pe"},{"name":"get_solana_balance","description":"chainpeek: Get the SOL balance of a Solana address. For SPL tokens use get_solana_token_balances. Returns `lamports` (exact integer string), `sol` (exact decima"},{"name":"get_solana_token_balances","description":"chainpeek: Get the SPL token balances of a Solana wallet. For SOL use get_solana_balance; for EVM tokens use get_portfolio. Returns its SPL Token and Token-2022"},{"name":"get_solana_transaction","description":"chainpeek: Get a parsed Solana transaction by its signature. For an address's recent signatures use get_solana_signatures. An unknown or pruned transaction is a"},{"name":"get_solana_signatures","description":"chainpeek: List the recent transaction signatures of a Solana address. For one transaction's details use get_solana_transaction. `next_before` is null on the la"},{"name":"get_solana_account","description":"chainpeek: Get the account info of a Solana address. For a mint's supply and authorities use get_solana_token_info. Returns whether the account `exists`, `lampo"},{"name":"get_solana_token_info","description":"chainpeek: Get the supply, decimals and authorities of a Solana token mint. For the price use get_solana_token_price; for rug risk use check_solana_token_safety"}],"package":null,"toolSurface":{"id":"ts_ckem8vk87pp5","endpointId":"ep_wnfrbsjmscpd","hash":"68bf8242582943a6cea4e67bac049035bc3dd877f5af25eabd49e724b0766779","toolCount":40,"serverName":"tanod-chain","serverVersion":"0.1.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-31T00:25:00.325Z","lastSeenAt":"2026-10-31T08:24:48.836Z","observations":2,"toolNames":["get_balance","get_portfolio","get_token_info","get_token_price","get_dex_price_candles","get_swap_quote","get_allowance","get_nft","get_gas","get_block","get_block_at_time","get_transaction","decode_tx_logs","decode_calldata","detect_proxy","resolve_ens","get_ens_records","check_contract_before_interaction","check_sanctions","get_account_nonce","get_transaction_receipt","get_event_logs","eth_call","estimate_gas","get_storage_at","get_erc1155_balance","get_chain_info","get_erc20_transfers","get_block_number","get_contract_code","get_total_supply","get_nft_owner","get_funding_rates","get_perp_markets","get_solana_balance","get_solana_token_balances","get_solana_transaction","get_solana_signatures","get_solana_account","get_solana_token_info"],"distinctSurfaces":11},"endpointFacts":[{"id":"ep_wnfrbsjmscpd","url":"https://tanod.dev/mcp/chain","type":"mcp_streamable_http","factsCheckedAt":"2026-10-26T16:25:53.973Z","auth":{"observedAt":"2026-10-26T16:25:54.266Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-26T16:25:54.300Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"tanod.dev","issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validFrom":"2026-10-06T15:23:54.000Z","validTo":"2027-01-04T15:23:53.000Z","daysToExpiry":65,"sanCount":2,"fingerprint256":"42:4E:C3:21:85:BF:3C:16:A2:A4:8A:B6:42:6C:B6:FD:E6:C5:58:F5:8B:E1:73:93:8B:FF:10:6E:25:A4:98:76"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"dev.tanod/chain","url":"https://registry.modelcontextprotocol.io/v0/servers/dev.tanod%2Fchain","firstSeenAt":"2026-10-09T14:21:22.203Z","fetchedAt":"2026-10-29T01:19:47.453Z","normalizedAt":"2026-10-29T01:19:47.453Z"}]},"firstSeenAt":"2026-10-09T14:21:22.203Z","updatedAt":"2026-10-31T08:28:47.844Z"}