| portal_list_networksA | Find 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: 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: 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_get_network_infoA | Answer "is this network caught up?" with indexing freshness, lag, heads, and available tables. COMMON USER ASKS: FIRST CHOICE FOR: 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: EXAMPLES: |
| portal_get_headA | Get just the latest indexed head block or slot for a network. COMMON USER ASKS: Latest head Finalized head
FIRST CHOICE FOR: WHEN TO USE: DON'T USE: EXAMPLES: Latest head: {"network":"base-mainnet"} Finalized head: {"network":"ethereum-mainnet","type":"finalized"}
|
| portal_resolve_entityA | Resolve 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_get_recent_activityA | Get 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_wallet_summaryA | Summarize wallet activity and fund flow with shared overview, asset movement, counterparties, evidence pivots, and follow-up filters across supported networks. COMMON USER ASKS: 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: 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_get_time_seriesA | Build simple activity charts and other time-series views across supported VMs, including compare-previous windows and grouped EVM contract trends. COMMON USER ASKS: FIRST CHOICE FOR: 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: 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_evm_query_logsA | Query 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: 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_transactionsA | Query raw EVM transactions with optional logs, traces, state-diff context, and evidence pivots for transaction-level investigations. COMMON USER ASKS: 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: 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_evm_query_token_transfersA | Query 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: 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: 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_get_contract_deploymentA | Locate the create trace and parent transaction that deployed a specific EVM contract address within a bounded window. COMMON USER ASKS: 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: 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_contract_activityA | Summarize what one specific contract has been doing lately, including recent interactions, unique callers, and optional event activity. COMMON USER ASKS: FIRST CHOICE FOR: 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: EXAMPLES: |
| portal_evm_get_analyticsA | Get the big picture for network-wide EVM activity with ranked contracts and compact overview metrics. COMMON USER ASKS: FIRST CHOICE FOR: 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: EXAMPLES: |
| portal_evm_get_ohlcA | Build 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: 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: EXAMPLES: Base Uniswap v2-style swap candles: {"network":"base-mainnet","source":"uniswap_v2_swap","pool_address":"0x","duration":"1h","interval":"5m","price_in":"auto","include_recent_trades":true} Base Uniswap candles: {"network":"base-mainnet","source":"uniswap_v3_swap","pool_address":"0x","duration":"1h","interval":"5m","price_in":"auto"} Base Uniswap v4 candles: {"network":"base-mainnet","source":"uniswap_v4_swap","pool_id":"0x","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","duration":"1h","interval":"5m","price_in":"token1"}
|
| portal_solana_query_instructionsA | Query raw Solana instructions with program and account filters. COMMON USER ASKS: 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: EXAMPLES: Token Program instructions: {"network":"solana-mainnet","timeframe":"1h","program_id":["TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"],"limit":20}
|
| portal_solana_query_transactionsA | Query raw Solana transactions with optional balances, rewards, logs, and instruction context. COMMON USER ASKS: WHEN TO USE: DON'T USE: 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_solana_get_analyticsA | Get 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: 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: EXAMPLES: Solana network snapshot: {"network":"solana-mainnet","timeframe":"1h"} Include top programs: {"network":"solana-mainnet","timeframe":"1h","include_programs":true}
|
| portal_bitcoin_query_transactionsA | Query raw Bitcoin transactions and optionally attach inputs and outputs inline. COMMON USER ASKS: WHEN TO USE: DON'T USE: 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_bitcoin_get_analyticsA | Get the big picture for Bitcoin block, fee, and address activity over a recent or explicit window. COMMON USER ASKS: FIRST CHOICE FOR: 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: EXAMPLES: |
| portal_substrate_query_eventsA | Query raw Substrate or Polkadot event rows with pallet/event-name filters and optional parent call or extrinsic context. COMMON USER ASKS: FIRST CHOICE FOR: 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: EXAMPLES: Balances.Transfer events on Polkadot: {"network":"polkadot","timeframe":"1h","event_names":["Balances.Transfer"],"limit":20}
|
| portal_substrate_query_callsA | Query raw Substrate or Polkadot calls with pallet/call-name filters and optional child-call, emitted-event, or extrinsic context. COMMON USER ASKS: FIRST CHOICE FOR: 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: 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_get_analyticsA | Analytics 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: 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: 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_hyperliquid_query_fillsA | Query raw individual Hyperliquid fills with trader, coin, fee, PnL, and builder context. COMMON USER ASKS: 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: EXAMPLES: |
| portal_hyperliquid_get_analyticsA | Get the big-picture Hyperliquid fill analytics with top traders, volume by coin, fees, and PnL. COMMON USER ASKS: 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: EXAMPLES: Hyperliquid fill snapshot: {"network":"hyperliquid-fills","timeframe":"1h"} Who traded the most?: {"network":"hyperliquid-fills","timeframe":"1h"}
|
| portal_hyperliquid_get_ohlcA | Build chart-ready Hyperliquid trade OHLC candles with fixed buckets and auto intervals. COMMON USER ASKS: 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: EXAMPLES: |
| portal_debug_query_blocksA | ADVANCED: Query raw block records directly for EVM, Solana, or Bitcoin. COMMON USER ASKS: 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: EXAMPLES: |
| portal_debug_resolve_time_to_blockA | ADVANCED: Resolve a timestamp to the nearest indexed block or slot. COMMON USER ASKS: WHEN TO USE: DON'T USE: 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_debug_hyperliquid_query_replica_commandsA | ADVANCED: Query Hyperliquid replica-command actions such as orders, cancels, and leverage updates. COMMON USER ASKS: WHEN TO USE: DON'T USE: EXAMPLES: |