Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

SQD Portal

REMOTE · PORTAL.SQD.DEV · SCANNED AUG 3

Query onchain data across EVM, Solana, Bitcoin, Substrate, and Hyperliquid via the SQD Portal API.

Available components

+4 this week 56 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →

Endpoint Security51
Transport & Reachability100
Schema Quality & AI Usability35
  • 0% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Fail
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 14257 tokens (~445/item across 32 items; 28 tools + 4 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
  • Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

remote · portal.sqd.dev

# add to Claude Code
claude mcp add --transport http subsquid-labs-portal-mcp-server https://portal.sqd.dev/mcp
# ~/.codex/config.toml
[mcp_servers.subsquid-labs-portal-mcp-server]
url = "https://portal.sqd.dev/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "subsquid-labs-portal-mcp-server": {
      "type": "remote",
      "url": "https://portal.sqd.dev/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add subsquid-labs-portal-mcp-server --url https://portal.sqd.dev/mcp --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  subsquid-labs-portal-mcp-server:
    url: "https://portal.sqd.dev/mcp"
// mcp.json
{
  "mcpServers": {
    "subsquid-labs-portal-mcp-server": {
      "type": "http",
      "url": "https://portal.sqd.dev/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 2 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.

  • 31 Jul 26 +1
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 30 Jul 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 29 Jul 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

  • 28 Jul 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

  • 27 Jul 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 26 Jul 26 52

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 3 Aug 2026 · Probed https://portal.sqd.dev/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=sqd.dev CN=WE1,O=Google Trust Services,C=US 11 Jul 2026 9 Oct 2026 ECDSA 256 ECDSA-SHA256 20153086aeabc4960ecefb1421d91752
SANs: sqd.dev, *.sqd.dev, *.docs.sqd.dev
CN=WE1,O=Google Trust Services,C=US (CA) CN=GTS Root R4,O=Google Trust Services LLC,C=US 13 Dec 2023 20 Feb 2029 ECDSA 256 ECDSA-SHA384 7ff31977972c224a76155d13b6d685e3
CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE 15 Nov 2023 28 Jan 2028 ECDSA 384 SHA256-RSA 7fe530bf331343bedd821610493d8a1b
DNSSEC insecure

Validation of portal.sqd.dev. Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
dev. present 60074 8 Verified
sqd.dev. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200
Header Value
strict-transport-security max-age=31536000; includeSubDomains
Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://portal.sqd.dev/mcp Verified 200
http (plaintext) http://portal.sqd.dev/mcp Inconclusive 405
MCP tools — 28 exposed · ~14,235 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
portal_bitcoin_get_analytics ~364

Get 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"}

NameTypeReqDescription
from_blocknumberStarting block number (use this OR timeframe)
from_timestampstring|numberStarting timestamp. Accepts Unix seconds, Unix milliseconds, ISO datetime, or relative input like "6h ago".
include_address_activitybooleanInclude unique address count and output value (requires extra queries, slower)
modestringExecution depth. Defaults to complete requested-window analysis; the optional fast value is only for explicitly bounded previews.
networkstringNetwork name (default: bitcoin-mainnet)
response_formatstringResponse format: 'summary' (high-level metrics only), 'compact' (core sections, lighter payload), 'full' (complete analytics).
timeframestringTime range: '1h' (~6 blocks), '6h' (~36 blocks), '24h' (~144 blocks). Default: '1h'
to_blocknumberEnding block number
to_timestampstring|numberEnding timestamp. Accepts Unix seconds, Unix milliseconds, ISO datetime, or relative input like "now".

No output schema declared.

No examples provided.

portal_bitcoin_query_transactions ~375

Query 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}

NameTypeReqDescription
cursorstringContinuation cursor from a previous response
finalized_onlybooleanOnly query finalized blocks
from_blocknumberStarting block number
from_timestampnumber|stringStarting timestamp. Accepts Unix seconds, Unix milliseconds, ISO datetime, or relative input like "1h ago".
include_inputsbooleanAttach transaction inputs inline
include_outputsbooleanAttach transaction outputs inline
limitintegerMax transactions to return (default: 50, max: 200)
networkstringNetwork name (default: bitcoin-mainnet). Optional when continuing with cursor.
response_formatstringResponse format: defaults to 'compact' for chat-friendly output. Compact mode keeps inline inputs and outputs in a smaller shape when requested.
timeframestringTime range (e.g., '1h', '24h'). Alternative to from_block/to_block.
to_blocknumberEnding block number
to_timestampnumber|stringEnding timestamp. Accepts Unix seconds, Unix milliseconds, ISO datetime, or relative input like "now".

No output schema declared.

No examples provided.

portal_debug_hyperliquid_query_replica_commands ~363

ADVANCED: 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}

NameTypeReqDescription
action_typearrayAction types to filter
cursorstringContinuation cursor from a previous response
finalized_onlybooleanOnly query finalized blocks
from_blocknumberStarting block number (use this OR timeframe)
from_timestampnumber|stringStarting timestamp. Accepts Unix seconds, Unix milliseconds, ISO datetime, or relative input like "1h ago".
limitnumberMax actions to return
networkstringNetwork name (default: 'hyperliquid-replica-cmds'). Optional when continuing with cursor.
statusstringFilter by action status
timeframestringTime range (e.g., '1h', '24h'). Alternative to from_block/to_block.
to_blocknumberEnding block number
to_timestampnumber|stringEnding timestamp. Accepts Unix seconds, Unix milliseconds, ISO datetime, or relative input like "now".
userarrayUser wallet addresses (0x-prefixed, lowercase)
vault_addressarrayVault addresses (0x-prefixed, lowercase)

No output schema declared.

No examples provided.

portal_debug_query_blocks ~378

ADVANCED: 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}

NameTypeReqDescription
cursorstringContinuation cursor from a previous response
field_presetstringField preset for EVM datasets: 'minimal' (number+timestamp+gas), 'standard' (+hash+miner+size), 'full' (all block fields). Ignored for Solana/Bitcoin.
finalized_onlybooleanOnly query finalized blocks
from_blocknumberStarting block number (use this OR timeframe)
from_timestampnumber|stringStarting timestamp. Accepts Unix seconds, Unix milliseconds, ISO datetime, or relative input like "1h ago".
include_l2_fieldsbooleanInclude L2-specific fields (auto-detected for L2 chains)
limitnumberMax blocks to return (default: 20). Note: Lower default for MCP to reduce context usage.
networkstringNetwork name or alias. Optional when continuing with cursor.
timeframestringTime range (e.g., '1h', '24h'). Alternative to from_block/to_block.
to_blocknumberEnding block number
to_timestampnumber|stringEnding timestamp. Accepts Unix seconds, Unix milliseconds, ISO datetime, or relative input like "now".

No output schema declared.

No examples provided.

portal_debug_resolve_time_to_block ~196

ADVANCED: 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"}

NameTypeReqDescription
networkstringyesNetwork name or alias
timestampnumber|stringyesUnix seconds, Unix milliseconds, ISO datetime, or relative input like "1h ago"

No output schema declared.

No examples provided.

portal_evm_get_analytics ~369

Get 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}

NameTypeReqDescription
cursorstringContinuation cursor from a previous response
from_timestampnumber|stringStarting timestamp. Accepts Unix seconds, Unix milliseconds, ISO datetime, or relative input like "1h ago".
include_detailsbooleanInclude sample transaction hashes for each contract
limitnumberNumber of top contracts to return (default: 10, max: 100)
modestringExecution depth. Defaults to complete requested-window analysis; the optional fast value is only for explicitly bounded previews.
networkstringNetwork name (supports short names: 'ethereum', 'polygon', 'base', etc.). Optional when continuing with cursor.
num_blocksnumberNumber of recent blocks to analyze when timeframe is omitted (default: 50, max: 10000)
timeframestringOptional natural time window like '1h' or '24h'
to_timestampnumber|stringEnding timestamp. Accepts Unix seconds, Unix milliseconds, ISO datetime, or relative input like "now".

No output schema declared.

No examples provided.

portal_evm_get_contract_activity ~330

Summarize 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"}

NameTypeReqDescription
contract_addressstringyesContract address to analyze
from_timestampstring|numberStarting timestamp. Accepts Unix seconds, Unix milliseconds, ISO datetime, or relative input like "1h ago".
include_eventsbooleanInclude event log summary
modestringExecution depth. Defaults to complete requested-window analysis; the optional fast value is only for explicitly bounded previews.
networkstringyesNetwork name or alias
timeframestringAnalysis period as timeframe or block count. Examples: '1h', '24h', '7d', '3d', '1000'.
to_timestampstring|numberEnding timestamp. Accepts Unix seconds, Unix milliseconds, ISO datetime, or relative input like "now".

No output schema declared.

No examples provided.

portal_evm_get_contract_deployment ~579

Locate 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"}

NameTypeReqDescription
contractstringContract address or a supported well-known alias/name, e.g. "bayc" or "bored apes" on Ethereum.
contract_addressstringContract address whose deployment transaction should be located.
from_blocknumberOptional starting block. Provide this for older contracts when the deployment is not recent.
from_timestampnumber|stringStarting timestamp. Accepts Unix seconds, Unix milliseconds, ISO datetime, or relative input like "7d ago".
max_scan_blocksnumberSafety cap for historical deployment scans. Default: scan the requested window up to 1,000,000 blocks.
networkstringyesEVM network name or alias, e.g. base, ethereum, arbitrum.
scan_orderstringScan latest first for recent deployments, or earliest first when you provide a historical from_block.
search_depth_blocksnumberWhen no explicit range is given, search this many recent blocks backward from the indexed head.
timeframestringOptional recent time window to search, e.g. "24h" or "7d".
to_blocknumberOptional ending block. Defaults to the indexed head.
to_timestampnumber|stringEnding timestamp. Accepts Unix seconds, Unix milliseconds, ISO datetime, or relative input like "now".

No output schema declared.

No examples provided.

portal_evm_get_ohlc ~989

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: - 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"}

NameTypeReqDescription
base_tokenstringLegacy orientation input. Prefer price_in instead.
currency0_addressstringOptional Uniswap v4 currency0 address. Use with currency1_address, fee, and tick_spacing to derive pool_id factually.
currency1_addressstringOptional Uniswap v4 currency1 address. Use with currency0_address, fee, and tick_spacing to derive pool_id factually.
cursorstringContinuation cursor from a previous candle page
durationstringHow much recent history to cover. Accepts compact durations like "1h" or natural phrases like "past 30 minutes".
feeintegerOptional Uniswap v4 LP fee in hundredths of a bip, e.g. 3000 for 0.30%.
hooks_addressstringOptional Uniswap v4 hooks contract address. Defaults to the zero address when omitted.
include_recent_tradesbooleanInclude a recent trade tape for swap-derived sources when factual per-trade amounts are available.
intervalstringCandle interval. auto uses chart-friendly defaults like 1h→5m and 24h→1h.
modestringExecution depth. Defaults to complete requested-window analysis; the optional fast value is only for explicitly bounded previews.
networkstringEVM network name (default: base-mainnet)
pool_addressstringPool/pair contract address for address-keyed sources like Uniswap v3, Slipstream, or Sync-derived CPMM pools.
pool_idstringUniswap v4 pool id (bytes32). Optional when you provide the full v4 pool key instead.
pool_manager_addressstringUniswap v4 PoolManager address. Optional on networks with a built-in official Uniswap deployment mapping.
price_instringChoose which token the displayed price should be expressed in. auto picks the more human-readable quote side.
recent_trades_limitintegerMaximum number of recent trades to return in the trade tape.
sourcestringWhich event source to build candles from. Prefer swap-derived sources for factual trade prices and volumes. Uniswap v4 uses PoolManager Swap events filtered by pool_id, not a per-pool contract addres…
tick_spacingintegerOptional Uniswap v4 tick spacing. Required with the rest of the pool key when deriving pool_id.
token0_addressstringOptional token0 address to infer known decimals
token0_decimalsnumberOptional token0 decimals for human-readable prices
token0_symbolstringOptional token0 symbol label for summaries
token1_addressstringOptional token1 address to infer known decimals
token1_decimalsnumberOptional token1 decimals for human-readable prices
token1_symbolstringOptional token1 symbol label for summaries

No output schema declared.

No examples provided.

portal_evm_query_logs ~1,205

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: - 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}

NameTypeReqDescription
addressesarrayContract addresses to filter (e.g., ['0xUSDC...', '0xDAI...']). IMPORTANT: Always include this or topics for fast queries.
cursorstringContinuation cursor from a previous response
decodebooleanDecode known log signatures inline when topics/data are available
eventCommon event alias or topic0 hash. Examples: "transfer", "approval", "swap", "sync", "deposit", "withdrawal". Merges with topic0.
field_presetstringField preset: 'minimal' (address+topic0+block, ~80% smaller), 'standard' (all topics+timestamp), 'full' (includes raw data hex, largest). Use 'minimal' to reduce context usage.
finalized_onlybooleanOnly query finalized blocks
from_blocknumberStarting block number (use this OR timeframe)
from_timestampnumber|stringStarting timestamp. Accepts Unix seconds, Unix milliseconds, ISO datetime, or relative input like "1h ago".
include_transactionbooleanInclude parent transaction data
include_transaction_logsbooleanInclude all logs from parent transactions
include_transaction_tracesbooleanInclude traces for parent transactions
limitnumberMax logs to return (default: 20, max: 200). Note: Lower default for MCP to reduce context usage.
max_token_symbol_matchesnumberMaximum token-list matches to include per token symbol. Use addresses for deterministic single-contract filters.
networkstringNetwork name or alias. Optional when continuing with cursor.
response_formatstringResponse format: defaults to 'compact' for chat-friendly output, or stays 'full' when inline transaction context is requested. Use 'summary' for counting or categorizing.
scan_orderstringWhich side of the block window to scan first. Use earliest for first-event questions.
timeframestringTime range (e.g., '24h', '7d'). Alternative to from_block/to_block. Supported: 1h, 6h, 12h, 24h, 3d, 7d, 14d, 30d
to_blocknumberEnding block number. RECOMMENDED: <10k blocks for fast (<1s) responses. Larger ranges may be slow or timeout.
to_timestampnumber|stringEnding timestamp. Accepts Unix seconds, Unix milliseconds, ISO datetime, or relative input like "now".
token_symbolsarrayToken symbols to resolve via open token-list data and merge into addresses, e.g. ["USDC"].
topic0arrayEvent signatures (topic0). E.g., Transfer = 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
topic1arrayTopic1 filter (often: from address in Transfer, indexed parameter 1)
topic2arrayTopic2 filter (often: to address in Transfer, indexed parameter 2)
topic3arrayTopic3 filter (indexed parameter 3, chain-specific)

No output schema declared.

No examples provided.

portal_evm_query_token_transfers ~541

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: - 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}

NameTypeReqDescription
cursorstringContinuation cursor from a previous response
from_addressesarraySender addresses
from_blocknumberStarting block number
from_timestampnumber|stringStarting timestamp. Accepts Unix seconds, Unix milliseconds, ISO datetime, or relative input like "1h ago".
include_token_infobooleanInclude token metadata (symbol, decimals) inline. Avoids separate token metadata lookups.
limitnumberMax transfers
max_token_symbol_matchesnumberMaximum token-list matches to include per token symbol. Use token_addresses for deterministic single-contract filters.
networkstringNetwork name or alias. Optional when continuing with cursor.
scan_orderstringWhich side of the block window to scan first. Use earliest for first-transfer questions.
timeframestringTime range (e.g., '1h', '24h'). Alternative to block numbers.
to_addressesarrayRecipient addresses
to_blocknumberEnding block number. RECOMMENDED: <10k blocks for fast responses.
to_timestampnumber|stringEnding timestamp. Accepts Unix seconds, Unix milliseconds, ISO datetime, or relative input like "now".
token_addressesarrayToken contract addresses
token_symbolsarrayToken symbols to resolve via open token-list data, e.g. ["USDC"]. Merges with token_addresses.

No output schema declared.

No examples provided.

portal_evm_query_transactions ~1,506

Query 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}

NameTypeReqDescription
aggregate_bystringOptional bounded aggregation for top sender/receiver questions. Returns ranked address rows instead of raw transactions.
aggregate_metricstringMetric used with aggregate_by. count ranks by tx count; value by total native value; gas_used by total gas used; effective_gas_price by max effective gas price.
contract_creationbooleanFILTER: true returns contract-creation transactions; false excludes them. Useful for "first contract creation from this wallet".
cursorstringContinuation cursor from a previous response
field_presetstringField preset: 'minimal' (from/to/value+block, ~70% smaller), 'standard' (hash+gas+timestamp), 'full' (includes input data hex, largest). Use 'minimal' to reduce context usage.
finalized_onlybooleanOnly query finalized blocks
first_noncenumberMinimum nonce
from_addressesarrayFILTER: Sender addresses (wallets or contracts that initiated the transaction). Optional if limit <=100.
from_blocknumberStarting block number (use this OR timeframe). Large ranges OK with low limit (<=100).
from_timestampnumber|stringStarting timestamp. Accepts Unix seconds, Unix milliseconds, ISO datetime, or relative input like "1h ago".
from_token_symbolsarrayResolve token symbols via open token-list data and merge them into from_addresses. Rare, but useful for token-contract-originated transactions.
include_l2_fieldsbooleanInclude L2-specific fields
include_logsbooleanInclude logs emitted by transactions
include_state_diffsbooleanInclude state diffs caused by transactions
include_tracesbooleanInclude traces for transactions
last_noncenumberMaximum nonce
limitnumberMax transactions (default: 20, max: 200). Note: Lower default for MCP to reduce context usage.
max_scan_blocksnumberSafety cap for first/last/ranked client-side scans. Default: min(window, 10000 blocks).
max_token_symbol_matchesnumberMaximum token-list matches to include per token symbol. Use from_addresses/to_addresses for deterministic single-contract filters.
methodFILTER: Common EVM method alias or 4-byte sighash. Examples: "transfer", "approve", "transferFrom", "deposit", "withdraw". Merges with sighash.
min_effective_gas_price_weistring|numberFILTER/RANKING: Minimum effectiveGasPrice in wei. Accepts decimal or hex string.
min_gas_usedstring|numberFILTER/RANKING: Minimum receipt gasUsed. Accepts decimal or hex string.
min_value_weistring|numberFILTER/RANKING: Minimum native token value in wei. Accepts decimal or hex string.
networkstringNetwork name or alias. Optional when continuing with cursor.
order_bystringOptional ranking for top-N questions. Use value_desc, gas_used_desc, or effective_gas_price_desc.
response_formatstringResponse format: defaults to 'compact' for chat-friendly output, or stays 'full' when inline logs, traces, or state diffs are requested. Use 'summary' for counting or profiling.
scan_orderstringWhich side of the block window to scan first. Normal previews default to latest; transaction_type searches default to earliest, so "first tx type 0x1 from block N" scans forward from from_block.
sighasharrayFILTER: Function sighash (4-byte hex, e.g., '0xa9059cbb' for transfer). Optional if limit <=100.
timeframestringTime range (e.g., '24h', '7d'). Alternative to from_block/to_block. Supported: 1h, 6h, 12h, 24h, 3d, 7d, 14d, 30d. Large ranges OK with low limit (<=100).
to_addressesarrayFILTER: Recipient addresses (typically contracts being called, or wallets receiving ETH). Optional if limit <=100.
to_blocknumberEnding block number. RECOMMENDED: <5k blocks for fast (<500ms) responses. Larger ranges may be slow.
to_timestampnumber|stringEnding timestamp. Accepts Unix seconds, Unix milliseconds, ISO datetime, or relative input like "now".
to_token_symbolsarrayResolve token symbols via open token-list data and merge them into to_addresses, e.g. transfer/approve calls to USDC.
transaction_statusFILTER: Transaction receipt status. Use "success"/1 or "failed"/0 for failed/reverted transaction searches.
transaction_typenumber|stringFILTER: EVM transaction type. Accepts decimal or hex strings such as 0, 1, 2, "0x0", "0x1", "0x2". Applied client-side while streaming Portal results; use with scan_order="earliest" and from_block to…

No output schema declared.

No examples provided.

portal_get_head ~160

Get 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"}

NameTypeReqDescription
networkstringyesNetwork name or alias
typestringBlock type

No output schema declared.

No examples provided.

portal_get_network_info ~145

Answer "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"}

NameTypeReqDescription
networkstringyesNetwork name or alias

No output schema declared.

No examples provided.

portal_get_recent_activity ~458

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}

NameTypeReqDescription
cursorstringContinuation cursor from a previous response
from_addressesarrayFilter by sender addresses
from_timestampnumber|stringStarting timestamp. Accepts Unix seconds, Unix milliseconds, ISO datetime, or relative input like "1h ago".
limitnumberMax transactions to return (max: 200)
networkstringNetwork name (supports short names: 'polygon', 'base', 'ethereum', 'arbitrum', etc.). Optional when continuing with cursor.
timeframestringTime period or block count. Examples: '100' (default), '1h', '6h', '24h', '7d', '3d'.
to_addressesarrayFilter by recipient addresses
to_timestampnumber|stringEnding timestamp. Accepts Unix seconds, Unix milliseconds, ISO datetime, or relative input like "now".

No output schema declared.

No examples provided.

portal_get_time_series ~517

Build 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}

NameTypeReqDescription
addressstringOptional: Filter to specific contract address for contract-specific trends
compare_previousbooleanCompare the selected window against the immediately previous window
durationstringTotal time period to analyze. Defaults to "6h" for interactive use. Explicit longer windows like "24h" or "7d" are supported but can take longer. Accepts compact durations like "30m" or natural phras…
from_timestampnumber|stringStarting timestamp. Accepts Unix seconds, Unix milliseconds, ISO datetime, or relative input like "24h ago".
group_bystringOptional grouping mode. contract is currently supported only for EVM transaction_count
group_limitnumberMaximum number of contract groups when group_by=contract
intervalstringyesTime bucket interval (5m, 15m, 1h, 6h, 1d)
metricstringyesMetric to aggregate over time
modestringExecution depth. Defaults to complete requested-window analysis; the optional fast value is only for explicitly bounded previews.
networkstringyesNetwork name (supports short names: 'ethereum', 'polygon', 'base', etc.)
to_timestampnumber|stringEnding timestamp. Accepts Unix seconds, Unix milliseconds, ISO datetime, or relative input like "now".

No output schema declared.

No examples provided.

portal_get_wallet_summary ~525

Summarize 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"}

NameTypeReqDescription
addressstringWallet address to analyze. Optional when continuing with cursor.
cursorstringContinuation cursor from a previous response
from_timestampstring|numberStarting timestamp. Accepts Unix seconds, Unix milliseconds, ISO datetime, or relative input like "1h ago".
include_nftsbooleanInclude NFT transfers (ERC721/1155)
include_tokensbooleanInclude ERC20 token transfers
limit_per_typenumberMax items per category (txs, tokens, nfts)
modestringExecution depth. Defaults to complete requested-window analysis; the optional fast value is only for explicitly bounded previews.
networkstringNetwork name or alias. Optional when continuing with cursor.
response_formatstringResponse format: defaults to 'compact' for a readable wallet investigation. Use 'summary' for headline flow only or 'full' for all returned activity rows.
timeframestringLook-back period as timeframe or block count. Examples: '1h', '24h', '7d', '3d', '1000'.
to_timestampstring|numberEnding timestamp. Accepts Unix seconds, Unix milliseconds, ISO datetime, or relative input like "now".

No output schema declared.

No examples provided.

portal_hyperliquid_get_analytics ~393

Get 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"}

NameTypeReqDescription
coinarrayFilter by asset symbols (e.g., ["BTC", "ETH"])
cursorstringContinuation cursor for ranked analytics sections
from_timestampstring|numberStarting timestamp. Accepts Unix seconds, Unix milliseconds, ISO datetime, or relative input like "6h ago".
modestringExecution depth. Defaults to complete requested-window analysis; the optional fast value is only for explicitly bounded previews.
networkstringNetwork name (default: 'hyperliquid-fills')
response_formatstringResponse format: 'summary' (smallest snapshot), 'compact' (chat-sized ranked sections, default), 'full' (complete analytics).
section_limitnumberPer-section page size for ranked sections. Default: 6
timeframestringTime range: '1h', '6h', '24h'. Default: '1h'
to_timestampstring|numberEnding timestamp. Accepts Unix seconds, Unix milliseconds, ISO datetime, or relative input like "now".

No output schema declared.

No examples provided.

portal_hyperliquid_get_ohlc ~277

Build 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"}

NameTypeReqDescription
coinstringAsset symbol to build candles for (for example: "BTC", "ETH", "SOL"). Optional when continuing with cursor.
cursorstringContinuation cursor from a previous candle page
durationstringHow much recent trading history to cover. Accepts compact durations like "1h" or natural phrases like "past 30 minutes".
intervalstringCandle interval. Use auto for chart-friendly defaults: 1h→5m, 6h→15m, 12h→30m, 24h→1h.
networkstringNetwork name (default: 'hyperliquid-fills')
userstringOptional trader wallet address (0x-prefixed, lowercase)

No output schema declared.

No examples provided.

portal_hyperliquid_query_fills ~499

Query 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}

NameTypeReqDescription
builderarrayBuilder addresses (0x-prefixed, lowercase)
cloidarrayClient order IDs (0x-prefixed hex)
coinarrayAsset symbols (e.g., "ETH", "BTC", "SOL")
cursorstringContinuation cursor from a previous response
dirarrayTrade direction: "Open Long", "Close Long", "Open Short", "Close Short"
fee_tokenarrayFee token symbols
finalized_onlybooleanOnly query finalized blocks
from_blocknumberStarting block number (use this OR timeframe)
from_timestampnumber|stringStarting timestamp. Accepts Unix seconds, Unix milliseconds, ISO datetime, or relative input like "1h ago".
include_builder_infobooleanInclude builder and builderFee fields
include_pnlbooleanInclude closedPnl and startPosition fields
limitintegerMax fills to return (default: 50, max: 200)
networkstringNetwork name (default: 'hyperliquid-fills'). Optional when continuing with cursor.
response_formatstringResponse format: defaults to 'compact' for chat-friendly output. Use 'summary' for aggregate stats or 'full' when you truly need every fill field.
timeframestringTime range (e.g., '1h', '24h'). Alternative to from_block/to_block.
to_blocknumberEnding block number
to_timestampnumber|stringEnding timestamp. Accepts Unix seconds, Unix milliseconds, ISO datetime, or relative input like "now".
userarrayTrader wallet addresses (0x-prefixed, lowercase)

No output schema declared.

No examples provided.

portal_list_networks ~268

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: - 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"}

NameTypeReqDescription
limitnumberMax results to return (default: 25, max: 100)
network_typestringFilter by network type
querystringSearch by name, alias, or chain ID
real_time_onlybooleanOnly show networks with a real-time indexed head
vmstringFilter by VM family

No output schema declared.

No examples provided.

portal_resolve_entity ~464

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"}

NameTypeReqDescription
kindstringEntity kind to resolve: token, contract alias/address, pool identifier, protocol name, or Hyperliquid coin/ticker.
limitnumberMaximum matches to return.
networkstringNetwork name or alias when the entity is network-scoped, e.g. "base", "ethereum", "arbitrum-one", or "hyperliquid-fills".
querystringyesEntity string to resolve, e.g. "USDC", "bayc", "uniswap", "BTC", or "0x...".

No output schema declared.

No examples provided.

portal_solana_get_analytics ~435

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: - 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}

NameTypeReqDescription
cursorstringContinuation cursor for paginating top_programs
from_timestampstring|numberStarting timestamp. Accepts Unix seconds, Unix milliseconds, ISO datetime, or relative input like "1h ago".
include_compute_unitsbooleanInclude average compute-unit stats across the full range (disabled by default for speed)
include_programsbooleanInclude top programs by instruction count (requires an extra instruction scan and is slower)
modestringExecution depth. Defaults to complete requested-window analysis; the optional fast value is only for explicitly bounded previews.
networkstringNetwork name (default: solana-mainnet)
program_limitnumberMax top-program rows to return per page when include_programs is enabled
response_formatstringResponse format: 'summary' (high-level metrics), 'compact' (core sections), 'full' (complete analytics).
timeframestringTime range. Accepts compact durations like '15m' or natural phrases like 'past 30 minutes'. Optional; defaults to a 1h analysis window.
to_timestampstring|numberEnding timestamp. Accepts Unix seconds, Unix milliseconds, ISO datetime, or relative input like "now".

No output schema declared.

No examples provided.

portal_solana_query_instructions ~927

Query 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}

NameTypeReqDescription
a0Account at index 0. You can pass a single string or an array.
a1Account at index 1. You can pass a single string or an array.
a10Account at index 10. You can pass a single string or an array.
a11Account at index 11. You can pass a single string or an array.
a12Account at index 12. You can pass a single string or an array.
a13Account at index 13. You can pass a single string or an array.
a14Account at index 14. You can pass a single string or an array.
a15Account at index 15. You can pass a single string or an array.
a2Account at index 2. You can pass a single string or an array.
a3Account at index 3. You can pass a single string or an array.
a4Account at index 4. You can pass a single string or an array.
a5Account at index 5. You can pass a single string or an array.
a6Account at index 6. You can pass a single string or an array.
a7Account at index 7. You can pass a single string or an array.
a8Account at index 8. You can pass a single string or an array.
a9Account at index 9. You can pass a single string or an array.
cursorstringContinuation cursor from a previous response
d11-byte discriminator filter (0x-prefixed hex). You can pass a single string or an array.
d22-byte discriminator filter (0x-prefixed hex). You can pass a single string or an array.
d44-byte discriminator filter (0x-prefixed hex). You can pass a single string or an array.
d88-byte discriminator filter - Anchor (0x-prefixed hex). You can pass a single string or an array.
finalized_onlybooleanOnly query finalized slots
from_blocknumberStarting slot number (use this OR timeframe)
from_timestampnumber|stringStarting timestamp. Accepts Unix seconds, Unix milliseconds, ISO datetime, or relative input like "1h ago".
include_inner_instructionsbooleanInclude inner (CPI) instructions
include_logsbooleanInclude program logs
include_transactionbooleanInclude transaction data
include_transaction_balancesbooleanInclude SOL balance changes
include_transaction_instructionsbooleanInclude all instructions from the parent transaction (sibling instructions)
include_transaction_token_balancesbooleanInclude token balance changes
is_committedbooleanOnly committed transactions
limitnumberMax instructions
mentions_accountAccounts mentioned anywhere in the instruction. You can pass a single string or an array.
networkstringNetwork name or alias. Optional when continuing with cursor.
program_idProgram IDs. You can pass a single string or an array.
timeframestringTime range (e.g., '1h', '24h'). Alternative to from_block/to_block. Solana slots are ~400ms.
to_blocknumberEnding slot number. Keep ranges reasonable for performance.
to_timestampnumber|stringEnding timestamp. Accepts Unix seconds, Unix milliseconds, ISO datetime, or relative input like "now".
transaction_fee_payerFee payer filter. You can pass a single string or an array.

No output schema declared.

No examples provided.

portal_solana_query_transactions ~496

Query 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}

NameTypeReqDescription
cursorstringContinuation cursor from a previous response
fee_payerarrayFee payer addresses
finalized_onlybooleanOnly query finalized slots
from_blocknumberStarting slot number (use this OR timeframe)
from_timestampnumber|stringStarting timestamp. Accepts Unix seconds, Unix milliseconds, ISO datetime, or relative input like "1h ago".
include_balancesbooleanInclude SOL balance changes
include_instructionsbooleanInclude instruction data
include_logsbooleanInclude program logs
include_rewardsbooleanInclude block rewards (validator staking rewards). Filter by pubkey using mentions_account.
include_token_balancesbooleanInclude SPL token balance changes
limitintegerMax transactions to return (default: 50, max: 200)
mentions_accountarrayAccounts mentioned anywhere in the transaction
networkstringNetwork name or alias. Optional when continuing with cursor.
response_formatstringResponse format: defaults to 'compact' for chat-friendly output, or stays 'full' when inline instruction, balance, log, or reward context is requested. Use 'summary' for aggregate stats.
timeframestringTime range (e.g., '1h', '24h'). Alternative to from_block/to_block.
to_blocknumberEnding slot number
to_timestampnumber|stringEnding timestamp. Accepts Unix seconds, Unix milliseconds, ISO datetime, or relative input like "now".

No output schema declared.

No examples provided.

portal_substrate_get_analytics ~498

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: - 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"}

NameTypeReqDescription
from_blocknumberStarting block number (use this OR timeframe)
from_timestampnumber|stringStarting timestamp. Accepts Unix seconds, Unix milliseconds, ISO datetime, or relative input like "6h ago".
modestringExecution depth. Defaults to complete requested-window analysis; the optional fast value is only for explicitly bounded previews.
networkstringSubstrate network name (default: polkadot)
response_formatstringResponse format: 'summary' (headline metrics only), 'compact' (core sections), 'full' (full dashboard payload)
section_limitnumberMax rows to keep in ranked event and call sections
timeframestringTime range like '1h', '6h', or '24h'. Default: '1h'
to_blocknumberEnding block number
to_timestampnumber|stringEnding timestamp. Accepts Unix seconds, Unix milliseconds, ISO datetime, or relative input like "now".

No output schema declared.

No examples provided.

portal_substrate_query_calls ~518

Query 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}

NameTypeReqDescription
call_namesarrayOptional qualified call names like Timestamp.set or Balances.transfer_keep_alive
cursorstringContinuation cursor from a previous response
finalized_onlybooleanOnly query finalized blocks
from_blocknumberStarting block number
from_timestampnumber|stringStarting timestamp. Accepts Unix seconds, Unix milliseconds, ISO datetime, or relative input like "6h ago".
include_eventsbooleanAttach events emitted directly by each matching call
include_extrinsicbooleanAttach the parent extrinsic inline for each matching call
include_stackbooleanAttach the parent call stack for each matching call
include_subcallsbooleanAttach direct descendant calls inline for each matching call
limitnumberMax calls to return
networkstringSubstrate network name or alias. Optional when continuing with cursor.
response_formatstringResponse format: defaults to 'compact' for chat-friendly output. Compact mode keeps requested subcalls, events, and extrinsic context in a smaller inline shape.
timeframestringTime range (e.g. '1h', '24h'). Alternative to from_block/to_block.
to_blocknumberEnding block number
to_timestampnumber|stringEnding timestamp. Accepts Unix seconds, Unix milliseconds, ISO datetime, or relative input like "now".

No output schema declared.

No examples provided.

portal_substrate_query_events ~460

Query 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}

NameTypeReqDescription
cursorstringContinuation cursor from a previous response
event_namesarrayOptional qualified event names like Balances.Transfer or System.ExtrinsicSuccess
finalized_onlybooleanOnly query finalized blocks
from_blocknumberStarting block number
from_timestampnumber|stringStarting timestamp. Accepts Unix seconds, Unix milliseconds, ISO datetime, or relative input like "6h ago".
include_callbooleanAttach the emitting call inline when the event has call context
include_extrinsicbooleanAttach the parent extrinsic inline for each matching event
include_stackbooleanAttach the parent call stack when the event has nested call context
limitnumberMax events to return
networkstringSubstrate network name or alias. Optional when continuing with cursor.
response_formatstringResponse format: defaults to 'compact' for chat-friendly output. Compact mode keeps requested extrinsic or call context in a smaller inline shape.
timeframestringTime range (e.g. '1h', '24h'). Alternative to from_block/to_block.
to_blocknumberEnding block number
to_timestampnumber|stringEnding timestamp. Accepts Unix seconds, Unix milliseconds, ISO datetime, or relative input like "now".

No output schema declared.

No examples provided.