portal_bitcoin_get_analytics
ClaudeGet the big picture for Bitcoin block, fee, and address activity over a recent or explicit window. COMMON USER ASKS: - Bitcoin network snapshot FIRST CHOICE FOR: - the big picture for Bitcoin right now WHEN TO USE: - You want the big picture for Bitcoin right now. - You want a network-level Bitcoin snapshot. - You care about block cadence, fees, SegWit/Taproot adoption, or activity metrics. DON'T USE: - You need raw transactions rather than network analytics. EXAMPLES: - Bitcoin network snapshot: {"network":"bitcoin-mainnet","timeframe":"1h"}
portal_bitcoin_query_transactions
ClaudeQuery raw Bitcoin transactions and optionally attach inputs and outputs inline. COMMON USER ASKS: - Recent Bitcoin transactions - Attach inputs and outputs WHEN TO USE: - You need raw Bitcoin transaction records. - You want the UTXO envelope without switching to separate input/output tools. DON'T USE: - You only need a quick wallet or network summary. EXAMPLES: - Recent Bitcoin transactions: {"network":"bitcoin-mainnet","timeframe":"1h","limit":20} - Attach inputs and outputs: {"network":"bitcoin-mainnet","timeframe":"1h","include_inputs":true,"include_outputs":true,"limit":10}
portal_debug_hyperliquid_query_replica_commands
ClaudeADVANCED: Query Hyperliquid replica-command actions such as orders, cancels, and leverage updates. COMMON USER ASKS: - Recent order actions WHEN TO USE: - You are debugging Hyperliquid replica-command records. - You need raw order-action events instead of fills or analytics. DON'T USE: - You only need public trading activity; fills and analytics are usually the better fit. EXAMPLES: - Recent order actions: {"network":"hyperliquid-replica-cmds","timeframe":"1h","limit":20}
portal_debug_query_blocks
ClaudeADVANCED: Query raw block records directly for EVM, Solana, or Bitcoin. COMMON USER ASKS: - Recent Base blocks WHEN TO USE: - You are debugging Portal coverage or block-level fields. - You need raw block records instead of transactions, logs, or summaries. DON'T USE: - You are answering a normal end-user question; prefer recent activity, time series, or raw transaction tools first. EXAMPLES: - Recent Base blocks: {"network":"base-mainnet","timeframe":"1h","limit":5}
portal_debug_resolve_time_to_block
ClaudeADVANCED: Resolve a timestamp to the nearest indexed block or slot. COMMON USER ASKS: - Resolve one hour ago on Base - Resolve an older time on Polkadot WHEN TO USE: - You are debugging timestamp windows or building a manual block-range query. - You want to inspect exact versus estimated timestamp-to-block resolution. DON'T USE: - You just want to query by time; most public tools already accept natural timestamps directly. EXAMPLES: - Resolve one hour ago on Base: {"network":"base-mainnet","timestamp":"1h ago"} - Resolve an older time on Polkadot: {"network":"polkadot","timestamp":"2026-04-08T12:00:00Z"}
portal_evm_get_analytics
ClaudeGet the big picture for network-wide EVM activity with ranked contracts and compact overview metrics. COMMON USER ASKS: - Top contracts on Base FIRST CHOICE FOR: - the big picture for activity on an EVM network like Base or Optimism WHEN TO USE: - You want the big picture for activity on an EVM network. - You want the most active contracts on an EVM network. - You want an analytics-style network overview instead of a raw record list. DON'T USE: - You need chart buckets over time rather than ranked entities. EXAMPLES: - Top contracts on Base: {"network":"base-mainnet","timeframe":"1h","limit":10}
portal_evm_get_contract_activity
ClaudeSummarize what one specific contract has been doing lately, including recent interactions, unique callers, and optional event activity. COMMON USER ASKS: - Contract activity snapshot FIRST CHOICE FOR: - what one specific contract has been doing lately on an EVM network WHEN TO USE: - You want to ask "what has this contract been doing?" and get a contract-level answer. - You want a contract-centric activity summary instead of raw records. - You need top callers and interaction volume for one contract. DON'T USE: - You need the underlying raw logs or transactions. - You want general recent network activity without naming one contract. EXAMPLES: - Contract activity snapshot: {"network":"base-mainnet","contract_address":"0xabc...","timeframe":"24h"}
portal_evm_get_contract_deployment
ClaudeLocate the create trace and parent transaction that deployed a specific EVM contract address within a bounded window. COMMON USER ASKS: - Find BAYC deployment - Find recent deployment - Find deployment from known range FIRST CHOICE FOR: - who deployed this EVM contract - when was this contract deployed - what deployment transaction created this contract WHEN TO USE: - You need the deployer, deployment block, deployment timestamp, or deployment transaction for an EVM contract. - You can provide a starting block/time window, a contract address, or a supported well-known contract alias such as BAYC/Bored Apes. - You want a deployment lookup instead of general contract activity. DON'T USE: - You need all activity for a contract after deployment. - The contract is old and no block/time hint is available; provide from_block or from_timestamp first. EXAMPLES: - Find BAYC deployment: {"network":"ethereum-mainnet","contract":"bored apes","from_block":12000000,"to_block":13000000,"scan_order":"earliest"} - Find recent deployment: {"network":"base-mainnet","contract_address":"0xabc...","search_depth_blocks":100000} - Find deployment from known range: {"network":"ethereum-mainnet","contract_address":"0xabc...","from_block":17000000,"to_block":17100000,"scan_order":"earliest"}
portal_evm_get_ohlc
ClaudeBuild chart-ready EVM OHLC candles plus a recent trade tape from supported DEX event sources, including Uniswap v2-style swaps, Uniswap v3/v4, and Aerodrome Slipstream. COMMON USER ASKS: - Base Uniswap v2-style swap candles - Base Uniswap candles - Base Uniswap v4 candles WHEN TO USE: - You need OHLC candles for supported EVM event-derived price sources. - You want a candle chart and recent trades instead of scalar time-series buckets. - You want a Dexscreener-style pool chart with hover-ready candle metadata and a trade tape. DON'T USE: - You only need counts or scalar metrics over time. - You want a simple activity chart for a network rather than pool candles. EXAMPLES: - Base Uniswap v2-style swap candles: {"network":"base-mainnet","source":"uniswap_v2_swap","pool_address":"0x<pool-address>","duration":"1h","interval":"5m","price_in":"auto","include_recent_trades":true} - Base Uniswap candles: {"network":"base-mainnet","source":"uniswap_v3_swap","pool_address":"0x<pool-address>","duration":"1h","interval":"5m","price_in":"auto"} - Base Uniswap v4 candles: {"network":"base-mainnet","source":"uniswap_v4_swap","pool_id":"0x<pool-id>","duration":"1h","interval":"5m","price_in":"auto","include_recent_trades":true} - Base Aerodrome Slipstream candles: {"network":"base-mainnet","source":"aerodrome_slipstream_swap","pool_address":"0x<pool-address>","duration":"1h","interval":"5m","price_in":"token1"}
portal_evm_query_logs
ClaudeQuery raw EVM logs with address/topic filters, common event aliases, earliest/latest scanning, and optional inline decoding. COMMON USER ASKS: - Recent USDC Transfer logs - First recent USDC Transfer log - Latest ERC721/pass mint ID and tx hash FIRST CHOICE FOR: - NFT or ERC721 mint lookups such as latest pass minted, token ID, and mint transaction hash - contract event questions where the user needs exact event evidence rather than wallet or transaction summaries WHEN TO USE: - You need event logs filtered by contract or topic signature. - You want decoded log hints while still keeping the raw log shape available. - You want the first or last matching event in a bounded block/time window. - You want common event names such as transfer, approval, swap, mint, or burn instead of remembering topic0 hashes. - You need the latest ERC721/pass mint in a bounded deployment/recent window: filter Transfer events with topic1 as the zero address, use scan_order=latest, limit=1, and decode=true to expose decoded_log.decoded.token_id plus transaction_hash. DON'T USE: - You only want token transfers, which are easier with the token-transfer tool. EXAMPLES: - Recent USDC Transfer logs: {"network":"base-mainnet","timeframe":"1h","token_symbols":["USDC"],"event":"transfer","limit":20} - First recent USDC Transfer log: {"network":"base-mainnet","timeframe":"1h","token_symbols":["USDC"],"event":"transfer","scan_order":"earliest","limit":1} - Latest ERC721/pass mint ID and tx hash: {"network":"base-mainnet","from_block":46020000,"to_block":46100000,"addresses":["0xE4E70FdF2Fc1147a7f35c4c5de88E6BeA63eeAfA"],"event":"transfer","topic1":["0x0000000000000000000000000000000000000000000000000000000000000000"],"scan_order":"latest","decode":true,"include_transaction":true,"limit":1} - Decode logs inline: {"network":"ethereum-mainnet","timeframe":"1h","topic0":["0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"],"decode":true,"limit":10}
portal_evm_query_token_transfers
ClaudeQuery token-transfer activity on EVM without needing to remember Transfer event signatures. Best for "did token X move?" and asset-tracing questions. COMMON USER ASKS: - Recent USDC transfers - First recent USDC transfer WHEN TO USE: - You want ERC-20 style transfer activity filtered by token, sender, or recipient. - You want the fastest answer to a token movement question like "did USDC move?". - You are tracing suspicious, stolen, bridged, or exploit-related token movement and need sender/recipient/transaction pivots. - You want the easiest raw transfer query on an EVM network. - You need the first matching transfer in a bounded window without typing the Transfer topic hash. DON'T USE: - You need arbitrary event logs beyond token transfers. EXAMPLES: - Recent USDC transfers: {"network":"base-mainnet","timeframe":"1h","token_symbols":["USDC"],"limit":20} - First recent USDC transfer: {"network":"base-mainnet","timeframe":"1h","token_symbols":["USDC"],"scan_order":"earliest","limit":1}
portal_evm_query_transactions
ClaudeQuery raw EVM transactions with optional logs, traces, state-diff context, and evidence pivots for transaction-level investigations. COMMON USER ASKS: - Recent Base transactions - Filter by sender - First EIP-2930 transaction from Berlin fork WHEN TO USE: - You need raw transaction records on an EVM network. - You want chain-specific transaction fields or include flags that convenience tools do not expose. - You need exact transaction evidence for an investigation, including sender, receiver, transaction hash, logs, traces, or failed calls. - You need to find the first transaction matching a raw field condition such as transaction type 0x1 from a known block. - You need top-N raw transactions ranked by value, gas used, or effective gas price. - You need top senders or receivers from a bounded transaction window. - You want common method names such as transfer, approve, deposit, or withdraw instead of remembering sighashes. - You want calls to a token contract by symbol, such as transfer calls to USDC, without hardcoding token addresses. DON'T USE: - You only need a quick recent feed or wallet-level summary. EXAMPLES: - Recent Base transactions: {"network":"base-mainnet","timeframe":"1h","limit":20} - Filter by sender: {"network":"ethereum-mainnet","timeframe":"6h","from_addresses":["0xabc..."],"limit":20} - First EIP-2930 transaction from Berlin fork: {"network":"ethereum-mainnet","from_block":12244000,"transaction_type":"0x1","scan_order":"earliest","limit":1,"field_preset":"minimal"} - Largest recent calls to a resolved token contract: {"network":"base-mainnet","timeframe":"1h","to_token_symbols":["USDC"],"method":"transfer","order_by":"gas_used_desc","limit":5} - Top senders by transaction count: {"network":"base-mainnet","timeframe":"1h","aggregate_by":"sender","aggregate_metric":"count","limit":10}
portal_get_head
ClaudeGet just the latest indexed head block or slot for a network. COMMON USER ASKS: - Latest head - Finalized head FIRST CHOICE FOR: - getting the current indexed head before building a manual block range WHEN TO USE: - You only need the current block or slot number. - You need the current head before building a raw block-range query. DON'T USE: - You want to know if the network is caught up, behind, fresh, or what tables are available. EXAMPLES: - Latest head: {"network":"base-mainnet"} - Finalized head: {"network":"ethereum-mainnet","type":"finalized"}
portal_get_network_info
ClaudeAnswer "is this network caught up?" with indexing freshness, lag, heads, and available tables. COMMON USER ASKS: - Is Base caught up? FIRST CHOICE FOR: - checking indexing head, lag, tables, and capabilities for one network WHEN TO USE: - You want to know whether a network is indexed, fresh, caught up, or behind before querying. - You need chain family, real-time status, or available tables for a network. DON'T USE: - You only need the latest block or slot number. EXAMPLES: - Is Base caught up?: {"network":"base-mainnet"}
portal_get_recent_activity
ClaudeGet a simple recent-activity feed across EVM, Solana, Bitcoin, or Hyperliquid with chronological paging and investigation pivots. COMMON USER ASKS: - Recent activity on Base - Recent Hyperliquid fills FIRST CHOICE FOR: - recent activity on any supported network without manual block math - questions like "what has been happening on Base lately?" - first-pass incident triage when the user asks what happened recently on a network WHEN TO USE: - You want a quick recent-activity feed for a network. - You want to ask what has been happening lately on a network and see the newest activity first. - You want the simplest starting point before reaching for raw VM-specific query tools. - You are investigating an incident and need a bounded, recent evidence timeline before narrowing to wallets, transfers, logs, or fills. DON'T USE: - You need raw logs, instructions, or chain-specific fields that only raw query tools return. - You want a chart over time rather than a recent feed. EXAMPLES: - Recent activity on Base: {"network":"base-mainnet","timeframe":"1h","limit":10} - Recent Hyperliquid fills: {"network":"hyperliquid-fills","timeframe":"1h","limit":10}
portal_get_time_series
ClaudeBuild simple activity charts and other time-series views across supported VMs, including compare-previous windows and grouped EVM contract trends. COMMON USER ASKS: - Base transactions per 15m bucket - Compare two periods FIRST CHOICE FOR: - activity over time, compare-current-vs-previous, grouped trends, and simple activity charts WHEN TO USE: - You want chart-ready metric buckets over time. - You want a simple activity chart for a network, defaulting to a 6h interactive window unless a longer window is explicitly requested. - You want to compare the current period to the previous period. DON'T USE: - You need raw record lists instead of aggregated buckets. - You need DEX pool candles or OHLC output. EXAMPLES: - Base transactions per 15m bucket: {"network":"base-mainnet","metric":"transaction_count","duration":"6h","interval":"15m"} - Compare two periods: {"network":"solana-mainnet","metric":"transaction_count","duration":"1h","interval":"5m","compare_previous":true}
portal_get_wallet_summary
ClaudeSummarize wallet activity and fund flow with shared overview, asset movement, counterparties, evidence pivots, and follow-up filters across supported networks. COMMON USER ASKS: - EVM wallet fund-flow triage - Solana wallet activity and fee flow FIRST CHOICE FOR: - one-call wallet analysis across supported VMs - suspicious wallet triage, fund-flow direction, counterparties, and next evidence pivots before drilling into raw records WHEN TO USE: - You want a single high-level answer about what one wallet has been doing and where value appears to move. - You want inbound/outbound flow, top counterparties, largest movements, and exact next pivots before drilling into raw transactions or fills. - The user asks to investigate a suspicious wallet, stolen-funds path, exploit counterparty, or incident address. DON'T USE: - You need every raw record with full chain-specific fields and no summarization. EXAMPLES: - EVM wallet fund-flow triage: {"network":"base-mainnet","address":"0xabc...","timeframe":"24h"} - Solana wallet activity and fee flow: {"network":"solana-mainnet","address":"Vote111...","timeframe":"6h"}
portal_hyperliquid_get_analytics
ClaudeGet the big-picture Hyperliquid fill analytics with top traders, volume by coin, fees, and PnL. COMMON USER ASKS: - Hyperliquid fill snapshot - Who traded the most? WHEN TO USE: - You want network-level Hyperliquid fill analytics. - You want to know who traded the most, which coins had volume, or how fees and PnL looked. - You want grouped aggregate sections without stitching raw fills together yourself. DON'T USE: - You need individual fill records or OHLC candles. EXAMPLES: - Hyperliquid fill snapshot: {"network":"hyperliquid-fills","timeframe":"1h"} - Who traded the most?: {"network":"hyperliquid-fills","timeframe":"1h"}
portal_hyperliquid_get_ohlc
ClaudeBuild chart-ready Hyperliquid trade OHLC candles with fixed buckets and auto intervals. COMMON USER ASKS: - BTC candles WHEN TO USE: - You want candles for one coin on Hyperliquid. - You need chart-ready OHLC, volume, and VWAP data from fills. DON'T USE: - You want scalar time-series buckets or raw fills. EXAMPLES: - BTC candles: {"network":"hyperliquid-fills","coin":"BTC","duration":"6h","interval":"auto"}
portal_hyperliquid_query_fills
ClaudeQuery raw individual Hyperliquid fills with trader, coin, fee, PnL, and builder context. COMMON USER ASKS: - Recent BTC fills WHEN TO USE: - You need raw fill records on Hyperliquid. - You want to filter by trader, coin, direction, builder, or fee token. DON'T USE: - You want the big picture, top traders, grouped aggregates, or candles instead of raw fill rows. EXAMPLES: - Recent BTC fills: {"network":"hyperliquid-fills","timeframe":"1h","coin":["BTC"],"limit":20}
portal_list_networks
ClaudeFind the right network or chain name to use across EVM, Solana, Bitcoin, Substrate, and Hyperliquid. COMMON USER ASKS: - Find Base-like networks - Show Solana mainnets - Show Substrate mainnets FIRST CHOICE FOR: - finding the correct network before any other query WHEN TO USE: - You are not sure which network name, chain name, or alias to use. - You want to filter networks by VM family, network type, or real-time availability. DON'T USE: - You already know the exact network and want live data from that network. EXAMPLES: - Find Base-like networks: {"query":"base","limit":10} - Show Solana mainnets: {"vm":"solana","network_type":"mainnet"} - Show Substrate mainnets: {"vm":"substrate","network_type":"mainnet"}
portal_resolve_entity
ClaudeResolve user-facing blockchain entities into query-ready identifiers, with ambiguity kept explicit. COMMON USER ASKS: - Resolve USDC on Base - Resolve WETH on Ethereum - Resolve BAYC contract FIRST CHOICE FOR: - resolving a token symbol like USDC to token contract addresses - resolving EVM contract aliases, protocol names, pool identifiers, or Hyperliquid coin names before querying - checking which token-list addresses a symbol maps to before querying logs or transfers - turning a user-friendly token name into deterministic EVM filters WHEN TO USE: - The user names a token symbol such as USDC, WETH, DAI, or PEPE and you need contract addresses before querying raw data. - The user names a well-known EVM contract, protocol, pool identifier, or Hyperliquid ticker and you need a deterministic follow-up filter. - You need to disambiguate bridged token variants on an EVM network. - You want a source-backed token address rather than relying on memory or hardcoded constants. DON'T USE: - You already have the exact address, pool id, protocol slug, or coin filter and can pass it directly. EXAMPLES: - Resolve USDC on Base: {"network":"base-mainnet","kind":"token","query":"USDC","limit":10} - Resolve WETH on Ethereum: {"network":"ethereum-mainnet","kind":"token","query":"WETH","limit":5} - Resolve BAYC contract: {"network":"ethereum-mainnet","kind":"contract","query":"bored apes"} - Resolve Hyperliquid coin: {"kind":"hyperliquid_coin","query":"bitcoin"}
portal_solana_get_analytics
ClaudeGet the big picture for Solana throughput, fees, wallet activity, and optional top-program usage. COMMON USER ASKS: - Solana network snapshot - Include top programs FIRST CHOICE FOR: - the big picture for Solana right now WHEN TO USE: - You want the big picture for Solana right now. - You want a network health snapshot for Solana. - You want throughput, fee, success-rate, or top-program analytics rather than raw records. DON'T USE: - You want chart buckets or raw transaction/instruction records. EXAMPLES: - Solana network snapshot: {"network":"solana-mainnet","timeframe":"1h"} - Include top programs: {"network":"solana-mainnet","timeframe":"1h","include_programs":true}
portal_solana_query_instructions
ClaudeQuery raw Solana instructions with program and account filters. COMMON USER ASKS: - Token Program instructions WHEN TO USE: - You need program-level or account-level instruction activity. - You want to inspect Token Program, Jupiter, System Program, or Anchor discriminator activity. DON'T USE: - You only need transaction-level activity and not individual instructions. EXAMPLES: - Token Program instructions: {"network":"solana-mainnet","timeframe":"1h","program_id":["TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"],"limit":20}
portal_solana_query_transactions
ClaudeQuery raw Solana transactions with optional balances, rewards, logs, and instruction context. COMMON USER ASKS: - Recent Solana transactions - Filter by program WHEN TO USE: - You need raw Solana transaction records. - You want Solana-specific filters or include flags that convenience tools do not expose. DON'T USE: - You only want recent activity or a compact network summary. EXAMPLES: - Recent Solana transactions: {"network":"solana-mainnet","timeframe":"1h","limit":20} - Filter by program: {"network":"solana-mainnet","timeframe":"1h","program_id":["TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"],"limit":20}
portal_substrate_get_analytics
ClaudeAnalytics snapshot for Substrate or Polkadot activity in an indexed window, with event, call, and extrinsic counts plus top event and call names. COMMON USER ASKS: - Polkadot activity snapshot - Big picture for Polkadot activity - How is Polkadot doing? FIRST CHOICE FOR: - Polkadot activity analytics in an indexed window - how Polkadot is doing in an indexed window - analytics snapshot for Polkadot or another Substrate network in an indexed window WHEN TO USE: - You want Polkadot activity analytics in a selected indexed window. - You want to ask "how is Polkadot doing in this indexed window?" and get an analytics answer rather than just network freshness metadata. - You want a quick Substrate network snapshot or health check. - You want top pallet events and calls rather than raw rows. - You want to know how a Substrate network is doing in the selected indexed window. DON'T USE: - You need full raw event or call records. EXAMPLES: - Polkadot activity snapshot: {"network":"polkadot","timeframe":"1h"} - Big picture for Polkadot activity: {"network":"polkadot","timeframe":"1h"} - How is Polkadot doing?: {"network":"polkadot","timeframe":"6h"}
portal_substrate_query_calls
ClaudeQuery raw Substrate or Polkadot calls with pallet/call-name filters and optional child-call, emitted-event, or extrinsic context. COMMON USER ASKS: - Recent Balances calls - Polkadot calls with emitted events FIRST CHOICE FOR: - raw Substrate or Polkadot call rows, especially when you want the events emitted by those calls WHEN TO USE: - You need raw call records on a Substrate network. - You want pallet call activity like Balances.transfer_keep_alive or Ethereum.transact. - You want calls plus the events emitted by those calls. DON'T USE: - You want events or aggregate analytics rather than call rows. EXAMPLES: - Recent Balances calls: {"network":"polkadot","timeframe":"1h","call_names":["Balances.transfer_keep_alive"],"limit":20} - Polkadot calls with emitted events: {"network":"polkadot","timeframe":"1h","call_names":["ParaInherent.enter"],"include_events":true,"limit":20}
portal_substrate_query_events
ClaudeQuery raw Substrate or Polkadot event rows with pallet/event-name filters and optional parent call or extrinsic context. COMMON USER ASKS: - Balances.Transfer events on Polkadot FIRST CHOICE FOR: - raw Substrate or Polkadot event rows with optional parent call or extrinsic context WHEN TO USE: - You need raw event records on a Substrate network. - You want pallet-level event activity like Balances.Transfer or Contracts.ContractEmitted. - You want event rows first, even if the network is a Polkadot-family chain. DON'T USE: - You want calls or aggregate analytics rather than event rows. EXAMPLES: - Balances.Transfer events on Polkadot: {"network":"polkadot","timeframe":"1h","event_names":["Balances.Transfer"],"limit":20}