> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sqd.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# EVM Portal API

> Access raw EVM blockchain data — blocks, transactions, logs, traces, state diffs — through the SQD Portal HTTP API for high-throughput data streaming.

Portal provides direct access to raw EVM blockchain data across 100+ networks. Query blocks, transactions, logs, traces, and state diffs with performance that scales beyond traditional RPC limitations.

## EVM-Specific Features

Portal supports the full range of EVM data types:

<CardGroup cols={2}>
  <Card title="Event Logs" icon="file-lines">
    Query smart contract events with topic filtering. Track ERC-20 transfers, NFT mints, and custom events.
  </Card>

  {" "}

  <Card title="Transactions" icon="arrow-right-arrow-left">
    Access transaction details including input data, gas usage, and execution
    status. Filter by sender, recipient, or function signature.
  </Card>

  {" "}

  <Card title="Call Traces" icon="diagram-project">
    Deep inspection of internal calls, contract creations, and execution paths.
    Essential for DeFi analytics.
  </Card>

  <Card title="State Diffs" icon="code-compare">
    Track storage changes at the contract level. Monitor state transitions and storage slot modifications.
  </Card>
</CardGroup>

## Quick Start

Get started with Portal in 5 minutes:

<CodeGroup>
  ```bash curl theme={"system"}
  curl --compressed -X POST "https://portal.sqd.dev/datasets/ethereum-mainnet/stream" \
    -H 'Content-Type: application/json' \
    -d '{
      "type": "evm",
      "fromBlock": 18000000,
      "toBlock": 18001000,
      "fields": {
        "block": { "number": true, "timestamp": true },
        "log": { "address": true, "topics": true, "data": true }
      }
    }'
  ```

  ```typescript TypeScript theme={"system"}
  import { DataSource } from "@subsquid/portal-client";

  const dataSource = new DataSource({
    network: "ethereum-mainnet",
  });

  const blocks = await dataSource.getBlocks({
    from: 18000000,
    to: 18001000,
    fields: {
      block: { number: true, timestamp: true },
      log: { address: true, topics: true, data: true },
    },
  });
  ```

  ```python Python theme={"system"}
  import requests

  url = "https://portal.sqd.dev/datasets/ethereum-mainnet/stream"
  headers = {"Content-Type": "application/json"}
  payload = {
      "type": "evm",
      "fromBlock": 18000000,
      "toBlock": 18001000,
      "fields": {
          "block": {"number": True, "timestamp": True},
          "log": {"address": True, "topics": True, "data": True}
      }
  }

  response = requests.post(url, headers=headers, json=payload)
  ```
</CodeGroup>

## Common Use Cases

<CardGroup cols={2}>
  <Card title="DeFi Analytics" icon="chart-line" href="/en/portal/evm/examples/dex-swaps">
    Track DEX swaps, lending protocol events, and liquidity changes. Use call traces to analyze complex DeFi interactions.
  </Card>

  {" "}

  <Card title="NFT Indexing" icon="image" href="/en/portal/evm/examples/nft-transfers">
    Monitor NFT mints, transfers, and marketplace activity. Track ERC-721 and
    ERC-1155 events across collections.
  </Card>

  {" "}

  <Card title="Wallet & Transaction Monitoring" icon="wallet" href="/en/portal/evm/examples/query-transactions">
    Track wallet activity, monitor specific addresses, and analyze transaction
    patterns. Essential for compliance and security.
  </Card>

  <Card title="Contract Deployment Tracking" icon="code" href="/en/portal/evm/examples/contract-deployments">
    Monitor new contract deployments, track factory patterns, and analyze deployment trends across networks.
  </Card>
</CardGroup>

## Access Methods

Choose how you want to access Portal:

<AccordionGroup>
  <Accordion title="Public Portal (Free)" icon="globe">
    **Best for:** Development and testing

    * Free access with rate limits (20 requests per 10 seconds)
    * No setup required
    * Access to all supported networks

    **Endpoint:** `https://portal.sqd.dev`
  </Accordion>

  {" "}

  <Accordion title="Cloud Portal" icon="cloud">
    **Best for:** Production applications - Higher rate limits - Integrated with
    SQD Cloud deployment - Pay-as-you-go pricing - Production-ready infrastructure

    <Card title="Learn More" icon="cloud" href="/en/cloud/overview">
      Explore Cloud Portal
    </Card>
  </Accordion>

  <Accordion title="Self-Hosted Portal" icon="server">
    **Best for:** Maximum sovereignty

    * No rate limits
    * Full control over infrastructure
    * Run next to your own node
    * Open-source implementation

    <Card title="Self-Hosting Guide" icon="server" href="/en/portal/self-hosting">
      Set up your Portal instance
    </Card>
  </Accordion>
</AccordionGroup>

## Next Steps

<CardGroup cols={3}>
  <Card title="Quickstart" icon="rocket" href="/en/portal/evm/quickstart">
    Make your first Portal request in 5 minutes
  </Card>

  {" "}

  <Card title="API Reference" icon="book" href="/en/portal/evm/api">
    Complete API reference with all fields and filters
  </Card>

  <Card title="Examples" icon="code" href="/en/portal/evm/examples/query-logs">
    Practical examples for common use cases
  </Card>
</CardGroup>

<Info>
  **Enterprise Custom Development**

  For enterprise clients requiring custom indexer development, please contact our team to discuss your specific requirements. [Schedule a Consultation →](https://calendly.com/t-tyrie-subsquid/30min)
</Info>
