---
title: "Migrating from Sim to Alchemy's Data APIs"
description: "Dune is retiring the Sim API on August 1, 2026. Alchemy's Data APIs cover the most common Sim migration paths across EVM chains and Solana."
---

# Migrating from Sim to Alchemy's Data APIs

<ImageBlock
  src="https://media.alchemy.com/blog/sim-migration-guide-2026-06.png"
  alt="Sim API to Alchemy Data APIs migration guide banner"
  width={5760}
  height={2700}
  priority
/>

[Dune is retiring the Sim API](https://dune.com/blog/sunsetting-sim) on August 1, 2026. If your app uses Sim for wallet balances, transaction history, token data, or DeFi positions, you need a replacement before the deadline.

Most balance, NFT, token, and activity workflows have a clear path to [Alchemy's Data APIs](https://www.alchemy.com/docs/data). A few do not have direct productized equivalents; those are flagged below so you can scope them before moving production traffic.

## What Alchemy covers

The tables below map the most common Sim endpoints to the closest Alchemy endpoint. Rows marked "No equivalent" have no direct productized endpoint, so bring those workflows to the Alchemy team before switching production traffic.

### Token and balance

<EmbeddedTable
  table={{
    columns: [
      {
        key: "simEndpoint",
        width: 220,
        title: "Sim endpoint",
        dataType: "object",
      },
      {
        key: "alchemyEquivalent",
        width: 260,
        title: "Alchemy endpoint",
        dataType: "object",
      },
      { key: "notes", width: 360, title: "Notes", dataType: "object" },
    ],
    data: [
      {
        id: 0,
        simEndpoint: {
          title: "<p><code>GET /evm/balances/{address}</code></p>",
          tooltip: "",
          icon: "",
        },
        alchemyEquivalent: {
          title:
            "<p><code>POST /data/v1/{apiKey}/assets/tokens/by-address</code></p>",
          tooltip: "",
          icon: "",
        },
        notes: {
          title:
            '<p>Multichain balances with live USD prices included. Also works for SVM addresses. <a href="https://www.alchemy.com/docs/data/portfolio-apis/portfolio-api-endpoints/portfolio-api-endpoints/get-tokens-by-address">View docs.</a></p>',
          tooltip: "",
          icon: "",
        },
      },
      {
        id: 1,
        simEndpoint: {
          title: "<p><code>GET /evm/stablecoins/{address}</code></p>",
          tooltip: "",
          icon: "",
        },
        alchemyEquivalent: {
          title:
            "<p><code>POST /data/v1/{apiKey}/assets/tokens/by-address</code></p>",
          tooltip: "",
          icon: "",
        },
        notes: {
          title:
            '<p>Stablecoins are ERC-20s with prices already included. Filter client-side. <a href="https://www.alchemy.com/docs/data/portfolio-apis/portfolio-api-endpoints/portfolio-api-endpoints/get-tokens-by-address">View docs.</a></p>',
          tooltip: "",
          icon: "",
        },
      },
      {
        id: 2,
        simEndpoint: {
          title: "<p><code>GET /evm/token-info/{chain}/{token}</code></p>",
          tooltip: "",
          icon: "",
        },
        alchemyEquivalent: {
          title:
            "<p><code>alchemy_getTokenMetadata</code></p><p><code>POST /prices/v1/{apiKey}/tokens/by-address</code></p>",
          tooltip: "",
          icon: "",
        },
        notes: {
          title:
            '<p>Use two calls for arbitrary lookups. Tokens By Wallet covers the wallet case inline. View <a href="https://www.alchemy.com/docs/data/token-api/token-api-endpoints/alchemy-get-token-metadata">getTokenMetadata docs</a> and <a href="https://www.alchemy.com/docs/data/prices-api/prices-api-endpoints/prices-api-endpoints/get-token-prices-by-address">Token Prices docs</a>.</p>',
          tooltip: "",
          icon: "",
        },
      },
      {
        id: 3,
        simEndpoint: {
          title: "<p><code>GET /evm/collectibles/{address}</code></p>",
          tooltip: "",
          icon: "",
        },
        alchemyEquivalent: {
          title:
            "<p><code>POST /data/v1/{apiKey}/assets/nfts/by-address</code></p>",
          tooltip: "",
          icon: "",
        },
        notes: {
          title:
            '<p>Includes spam filtering, contract metadata, OpenSea metadata, and media URLs. <a href="https://www.alchemy.com/docs/data/portfolio-apis/portfolio-api-endpoints/portfolio-api-endpoints/get-nfts-by-address">View docs.</a></p>',
          tooltip: "",
          icon: "",
        },
      },
    ],
  }}
/>

### Activity and transactions

<EmbeddedTable
  table={{
    columns: [
      {
        key: "simEndpoint",
        width: 220,
        title: "Sim endpoint",
        dataType: "object",
      },
      {
        key: "alchemyEquivalent",
        width: 260,
        title: "Alchemy endpoint",
        dataType: "object",
      },
      { key: "notes", width: 360, title: "Notes", dataType: "object" },
    ],
    data: [
      {
        id: 0,
        simEndpoint: {
          title: "<p><code>GET /evm/activity/{address}</code></p>",
          tooltip: "",
          icon: "",
        },
        alchemyEquivalent: {
          title: "<p><code>alchemy_getAssetTransfers</code></p>",
          tooltip: "",
          icon: "",
        },
        notes: {
          title:
            '<p>Full decoded transfer history across external, internal, ERC-20, ERC-721, and ERC-1155 transfers. <a href="https://www.alchemy.com/docs/data/transfers-api/transfers-endpoints/alchemy-get-asset-transfers">View docs.</a></p>',
          tooltip: "",
          icon: "",
        },
      },
      {
        id: 1,
        simEndpoint: {
          title: "<p><code>GET /evm/transactions/{address}</code></p>",
          tooltip: "",
          icon: "",
        },
        alchemyEquivalent: {
          title:
            "<p><code>alchemy_getAssetTransfers</code></p><p><code>alchemy_getTransactionReceipts</code></p>",
          tooltip: "",
          icon: "",
        },
        notes: {
          title:
            '<p>The external transfer category covers EOA-to-EOA and contract-initiated native transfers. View <a href="https://www.alchemy.com/docs/data/transfers-api/transfers-endpoints/alchemy-get-asset-transfers">getAssetTransfers docs</a> and <a href="https://www.alchemy.com/docs/data/utility-apis/transactions-receipts-endpoints/alchemy-get-transaction-receipts">Receipts docs</a>.</p>',
          tooltip: "",
          icon: "",
        },
      },
    ],
  }}
/>

### DeFi

<EmbeddedTable
  table={{
    columns: [
      {
        key: "simEndpoint",
        width: 260,
        title: "Sim endpoint",
        dataType: "object",
      },
      {
        key: "alchemyEquivalent",
        width: 220,
        title: "Alchemy endpoint",
        dataType: "object",
      },
      { key: "notes", width: 360, title: "Notes", dataType: "object" },
    ],
    data: [
      {
        id: 0,
        simEndpoint: {
          title: "<p><code>GET /evm/defi-positions/{address}</code></p>",
          tooltip: "",
          icon: "",
        },
        alchemyEquivalent: {
          title: "<p>No equivalent</p>",
          tooltip: "",
          icon: "",
        },
        notes: {
          title: "<p>Please reach out for support.</p>",
          tooltip: "",
          icon: "",
        },
      },
      {
        id: 1,
        simEndpoint: {
          title: "<p><code>GET /evm/defi/supported-protocols</code></p>",
          tooltip: "",
          icon: "",
        },
        alchemyEquivalent: {
          title: "<p>No equivalent</p>",
          tooltip: "",
          icon: "",
        },
        notes: {
          title: "<p>Please reach out for support.</p>",
          tooltip: "",
          icon: "",
        },
      },
    ],
  }}
/>

### Solana and SVM

<EmbeddedTable
  table={{
    columns: [
      {
        key: "simEndpoint",
        width: 220,
        title: "Sim endpoint",
        dataType: "object",
      },
      {
        key: "alchemyEquivalent",
        width: 260,
        title: "Alchemy endpoint",
        dataType: "object",
      },
      { key: "notes", width: 360, title: "Notes", dataType: "object" },
    ],
    data: [
      {
        id: 0,
        simEndpoint: {
          title: "<p><code>GET /svm/balances/{address}</code></p>",
          tooltip: "",
          icon: "",
        },
        alchemyEquivalent: {
          title:
            "<p><code>POST /data/v1/{apiKey}/assets/tokens/by-address</code></p>",
          tooltip: "",
          icon: "",
        },
        notes: {
          title:
            '<p>The same endpoint handles SVM balances. Live USD prices are included. <a href="https://www.alchemy.com/docs/data/portfolio-apis/portfolio-api-endpoints/portfolio-api-endpoints/get-tokens-by-address">View docs.</a></p>',
          tooltip: "",
          icon: "",
        },
      },
      {
        id: 1,
        simEndpoint: {
          title: "<p>No direct Sim endpoint</p>",
          tooltip: "",
          icon: "",
        },
        alchemyEquivalent: {
          title: "<p><code>getAssetsByOwner</code></p>",
          tooltip: "",
          icon: "",
        },
        notes: {
          title:
            '<p>The Solana equivalent of NFTs By Wallet. <a href="https://www.alchemy.com/docs/reference/alchemy-das-apis-for-solana/solana-das-api-endpoints/get-assets-by-owner">View docs.</a></p>',
          tooltip: "",
          icon: "",
        },
      },
      {
        id: 2,
        simEndpoint: {
          title: "<p><code>GET /svm/transactions/{address}</code></p>",
          tooltip: "",
          icon: "",
        },
        alchemyEquivalent: {
          title: "<p><code>getTransactionsForAddress</code></p>",
          tooltip: "",
          icon: "",
        },
        notes: {
          title:
            '<p>Use the Solana Node API to retrieve transaction history for a Solana address. <a href="https://www.alchemy.com/docs/chains/solana/solana-api-endpoints/get-transactions-for-address">View docs.</a></p>',
          tooltip: "",
          icon: "",
        },
      },
    ],
  }}
/>

## Migrate in four steps

### 1. Get your Alchemy API key

[Create an app in the Alchemy Dashboard](https://dashboard.alchemy.com/) and copy your API key. The exact request URL differs by endpoint, so follow the docs link on each mapping row for the current path and request shape.

### 2. Update authentication and request shape

Sim used the `X-Sim-Api-Key` header with chain IDs inline. Alchemy authenticates with your API key, and request and response shapes differ by product.

Before, a Sim request looked like this:

<CodeSnippet
  language="bash"
  code={`curl https://api.sim.dune.com/v1/evm/balances/0xYOUR_ADDRESS \\
  -H "X-Sim-Api-Key: YOUR_SIM_KEY"`}
/>

When you migrate, use the Alchemy endpoint-specific docs for the exact request body, auth pattern, and response fields for that product.

### 3. Update chain identifiers

Sim used numeric chain IDs. Alchemy uses string network slugs, passed as an array when you query multiple chains in one request.

<EmbeddedTable
  table={{
    columns: [
      { key: "chain", width: 180, title: "Chain", dataType: "object" },
      {
        key: "simChainId",
        width: 180,
        title: "Sim chain ID",
        dataType: "object",
      },
      {
        key: "alchemyNetwork",
        width: 220,
        title: "Alchemy network",
        dataType: "object",
      },
    ],
    data: [
      {
        id: 0,
        chain: { title: "<p>Ethereum</p>", tooltip: "", icon: "" },
        simChainId: { title: "<p>1</p>", tooltip: "", icon: "" },
        alchemyNetwork: {
          title: "<p><code>eth-mainnet</code></p>",
          tooltip: "",
          icon: "",
        },
      },
      {
        id: 1,
        chain: { title: "<p>Base</p>", tooltip: "", icon: "" },
        simChainId: { title: "<p>8453</p>", tooltip: "", icon: "" },
        alchemyNetwork: {
          title: "<p><code>base-mainnet</code></p>",
          tooltip: "",
          icon: "",
        },
      },
      {
        id: 2,
        chain: { title: "<p>Arbitrum</p>", tooltip: "", icon: "" },
        simChainId: { title: "<p>42161</p>", tooltip: "", icon: "" },
        alchemyNetwork: {
          title: "<p><code>arb-mainnet</code></p>",
          tooltip: "",
          icon: "",
        },
      },
      {
        id: 3,
        chain: { title: "<p>Polygon</p>", tooltip: "", icon: "" },
        simChainId: { title: "<p>137</p>", tooltip: "", icon: "" },
        alchemyNetwork: {
          title: "<p><code>polygon-mainnet</code></p>",
          tooltip: "",
          icon: "",
        },
      },
      {
        id: 4,
        chain: { title: "<p>Solana</p>", tooltip: "", icon: "" },
        simChainId: {
          title: "<p><code>solana</code></p>",
          tooltip: "",
          icon: "",
        },
        alchemyNetwork: {
          title: "<p><code>solana-mainnet</code></p>",
          tooltip: "",
          icon: "",
        },
      },
    ],
  }}
/>

Per-product chain coverage varies. Check the [Alchemy chain support page](https://dashboard.alchemy.com/chains) before migrating each endpoint.

### 4. Update pagination

Sim used offset-style paging. Alchemy uses cursor-style pagination: you pass back a token from the previous response. The exact parameter names differ by endpoint, so use the docs for the product you are migrating.

<CodeSnippet
  language="bash"
  code={`# Sim
?limit=100&offset=YOUR_NEXT_OFFSET`}
/>

## Why Alchemy

Migrating from Sim can also consolidate more of your stack onto one platform.

- **One platform:** Data APIs, Node APIs, Wallet APIs, and Transaction Simulation sit behind a single key, so you can expand past data without stitching together more providers.
- **Solana coverage:** Native Solana RPC, Portfolio support for SPL balances, and DAS API support for richer Solana queries.
- **Transaction simulation:** Predict asset changes, decode traces, and simulate bundles before a transaction lands.
- **Enterprise-grade support:** Enterprise teams get dedicated support and production reliability for critical migration windows.
- **Special pricing for Sim customers:** Alchemy is offering discounted pricing for teams migrating from Sim during the wind-down. [Contact us](https://www.alchemy.com/contact-sales) and mention your Sim account.

## Get started

Sim shuts down August 1, 2026. Start now so you have time to dual-run your integration and validate response parity before the deadline.

- [Read the Alchemy Data API docs](https://www.alchemy.com/docs/data)
- [Create an Alchemy API key](https://dashboard.alchemy.com/)
- [Contact us](https://www.alchemy.com/contact-sales) with your current Sim call pattern, and we'll help map the migration path.
