SuperAPI AI Directory

portal-dataset-discovery

Data & analytics

View repository

Updated 10-16 05:46

About this skill

When to Use This Skill

Use this skill when you need to:

  • Find the correct Portal dataset name for a blockchain
  • Understand Portal naming conventions
  • Map common blockchain names to Portal names
  • Discover available Portal datasets
  • Verify a dataset exists before querying

This is foundational knowledge - you must use the correct dataset name or queries will fail.


Critical Concept: Portal Names ≠ Common Names

Portal uses specific naming conventions that often differ from common blockchain names.

Common mistake:

❌ "ethereum" → Should be "ethereum-mainnet"
❌ "arbitrum" → Should be "arbitrum-one"
❌ "bsc" → Should be "binance-mainnet"

Always verify the Portal dataset name before querying.


Portal Dataset Naming Convention

Pattern: {chain}-{network}

Examples:

  • ethereum-mainnet (not "ethereum")
  • arbitrum-one (not "arbitrum" or "arbitrum-mainnet")
  • base-mainnet (not "base")
  • polygon-mainnet (not "polygon" or "matic")

Common Chain Name Mappings

Top Chains (Quick Reference)

Common Name Portal Dataset Name Type
Ethereum ethereum-mainnet EVM
Arbitrum arbitrum-one EVM
Base base-mainnet EVM
Optimism optimism-mainnet EVM
Polygon polygon-mainnet EVM
BSC / Binance Smart Chain binance-mainnet EVM
Avalanche C-Chain avalanche-mainnet EVM
zkSync Era zksync-mainnet EVM
Blast blast-l2-mainnet EVM
Scroll scroll-mainnet EVM
Linea linea-mainnet EVM
Gnosis Chain gnosis-mainnet EVM
Solana solana-mainnet Solana
HyperEVM hyperliquid-mainnet EVM
Hyperliquid Fills hyperliquid-fills HyperliquidFills

Testnets: ethereum-sepolia, arbitrum-sepolia, base-sepolia, optimism-sepolia

Full mapping: See references/full-chain-mapping.md for the complete list including all L2s, alt-L1s, and testnets.


How to Verify Dataset Names

Method 1: Check Portal Endpoint

curl -I https://portal.sqd.dev/datasets/{dataset-name}/metadata
  • 200 OK = Dataset exists
  • 404 Not Found = Dataset doesn't exist or wrong name
# Correct name - returns 200
curl -I https://portal.sqd.dev/datasets/ethereum-mainnet/metadata

# Wrong name - returns 404
curl -I https://portal.sqd.dev/datasets/ethereum/metadata

Method 2: Check schemas.json Reference

Source: https://github.com/subsquid/sqd-portal/blob/master/resources/schemas.json

Contains all available datasets with schemas and metadata.

Method 3: Check Portal Documentation


Understanding Dataset Types

Portal supports 3 database types:

1. EVM (Ethereum Virtual Machine)

{
  "type": "evm",
  "fromBlock": 19500000,
  "logs": [{"address": ["0x..."]}]
}

Chains: Ethereum, Arbitrum, Base, Optimism, Polygon, BSC, and 200+ more

2. Solana

{
  "type": "solana",
  "fromBlock": 250000000,
  "instructions": [{"programId": ["JUP6..."]}]
}

3. Hyperliquid

{
  "type": "hyperliquidFills",
  "fromBlock": 800000000,
  "fills": [{"coin": ["BTC"]}]
}

Note: HyperEVM (hyperliquid-mainnet) uses the standard "type": "evm".


Query URL Structure

POST https://portal.sqd.dev/datasets/{dataset-name}/stream

Examples:

POST https://portal.sqd.dev/datasets/ethereum-mainnet/stream
POST https://portal.sqd.dev/datasets/arbitrum-one/stream
POST https://portal.sqd.dev/datasets/solana-mainnet/stream
POST https://portal.sqd.dev/datasets/hyperliquid-fills/stream

Common Mistakes

❌ Using Common Name Instead of Portal Name

Wrong:

POST /datasets/ethereum/stream
POST /datasets/arbitrum/stream
POST /datasets/bsc/stream

Correct:

POST /datasets/ethereum-mainnet/stream
POST /datasets/arbitrum-one/stream
POST /datasets/binance-mainnet/stream

❌ Inconsistent Naming Pattern

Wrong assumptions:

❌ "ethereum-mainnet" exists, so "arbitrum-mainnet" should exist
❌ Mainnet suffix is always "-mainnet"

Reality:

✅ "ethereum-mainnet" exists
✅ "arbitrum-one" exists (not arbitrum-mainnet)
✅ Naming is not perfectly consistent - always verify

❌ Not Verifying Before Querying

Good workflow:

  1. Check mapping table (this skill)
  2. Verify with curl -I if unsure
  3. Query with correct name

Discovery Workflow

When working with a new blockchain:

  1. Check the mapping table in this skill (or references/full-chain-mapping.md)

  2. If not found, check schemas.json:

  3. Verify the dataset exists:

    curl -I https://portal.sqd.dev/datasets/{dataset-name}/metadata
    
  4. Use the verified name in queries

Note: Some chains on other platforms (like DeFiLlama) may not be supported by Portal. Always verify.


MCP Tools vs Raw API

If Portal MCP tools are available in your environment, use them for quick discovery before falling back to manual verification:

Approach When to Use
MCP portal_list_datasets Search available datasets by name, chain type (evm/solana), or network type (mainnet/testnet)
MCP portal_get_dataset_info Get detailed info about a specific dataset: latest block, start block, chain type, available tables
Manual verification (curl) When MCP tools aren't available, or to verify a dataset URL before using in code

Example — MCP quick path: Use portal_list_datasets with query: "arbitrum" to find the correct Portal name. Then portal_get_dataset_info with dataset: "arbitrum-one" to confirm it exists and check the latest block.


Related Skills

  • portal-query-evm-logs - Query EVM chain logs (use correct dataset name)
  • portal-query-evm-transactions - Query EVM transactions
  • portal-query-evm-traces - Query EVM traces
  • portal-query-solana-instructions - Query Solana instructions (use "solana-mainnet")
  • portal-query-hyperliquid-fills - Query Hyperliquid trade fills data

Additional Resources