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

# Developer Quickstart

> Take your first steps with the Sim APIs

<Frame>
  <img src="https://mintcdn.com/sim-dune/kJVnzSzA9eavUZq6/images/quickstart.webp?fit=max&auto=format&n=kJVnzSzA9eavUZq6&q=85&s=c5a2ed78632b3c2bd75887191475ae9d" alt="Quickstart" title="Quickstart" className="mx-auto" style={{ width:"100%" }} width="1501" height="575" data-path="images/quickstart.webp" />
</Frame>

Sim is a real-time blockchain data API by [Dune](https://dune.com). It gives developers instant access to wallet balances, token metadata, transaction history, and onchain activity across 60+ EVM chains and Solana — all through a single API key, with no indexer setup required. With [webhook subscriptions](/evm/subscriptions), you can also push data directly to your app in real time.

This guide will help you make your first API call to retrieve multichain token balances for an address.

## Authentication

Sim APIs use API keys to authenticate requests.
You can create and manage your API keys in your [Sim Dashboard](https://sim.dune.com/).

<Frame caption="To generate a new API key, visit the Keys page and click the New button.">
  <img src="https://mintcdn.com/sim-dune/L_LYsVfmfV0do9Zv/images/get-sim-api-key.png?fit=max&auto=format&n=L_LYsVfmfV0do9Zv&q=85&s=f1b7e9eaf7b5e039554173a672126b82" width="2874" height="1800" data-path="images/get-sim-api-key.png" />
</Frame>

To authenticate, include your API key in the `X-Sim-Api-Key` header for every request.

```bash theme={null}
curl --request GET \
  --header "X-Sim-Api-Key: YOUR_API_KEY"
```

All API requests must be made over HTTPS.
Calls made over plain HTTP will fail.
API requests without authentication will also fail.

<Note>
  Your API keys carry many privileges, so be sure to keep them secure.
  Do not share your secret API keys in public places like GitHub, client-side code, and so on.
</Note>

## Your First Request

Let's make your first request. We'll retrieve token balances for `0xd8da6bf26964af9d7eed9e03e53415d37aa96045` (Vitalik's wallet) across multiple EVM chains using the [Balances API](/evm/balances).

Here's how to make the API call:

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET "https://api.sim.dune.com/v1/evm/balances/0xd8da6bf26964af9d7eed9e03e53415d37aa96045" \
       -H "X-Sim-Api-Key: YOUR_API_KEY"
  ```

  ```javascript JavaScript theme={null}
  const options = {method: 'GET', headers: {'X-Sim-Api-Key': 'YOUR_API_KEY'}};

  fetch('https://api.sim.dune.com/v1/evm/balances/0xd8da6bf26964af9d7eed9e03e53415d37aa96045', options)
    .then(response => response.json())
    .then(response => console.log(response))
    .catch(err => console.error(err));
  ```

  ```python Python theme={null}
  import requests

  url = "https://api.sim.dune.com/v1/evm/balances/0xd8da6bf26964af9d7eed9e03e53415d37aa96045"

  headers = {"X-Sim-Api-Key": "YOUR_API_KEY"}

  response = requests.request("GET", url, headers=headers)

  print(response.text)
  ```
</CodeGroup>

<Note>
  Replace `YOUR_API_KEY` with your actual API key from the Sim Dashboard.
</Note>

The API will return a JSON response containing an array of `balances`.
Each object in the array represents a token balance for the specified address on one of the chains, including various details.

```json Response (JSON) [expandable] theme={null}
{
  "balances": [
    {
      "address": "native",
      "amount": "605371497350928252303",
      "chain": "ethereum",
      "decimals": 18,
      "price_usd": 3042.816964922323,
      "symbol": "ETH",
      "value_usd": 1842034.6622198338
    }
  ],
  "next_offset": "dKMBWDLqM7vlyn5OMEXsLWp0nI4AAAABA5JLazNO7x4poVGqUwsgxgqvvIg",
  "request_time": "2023-11-07T05:31:56Z",
  "response_time": "2023-11-07T05:31:56Z",
  "wallet_address": "0xd8da6bf26964af9d7eed9e03e53415d37aa96045"
}
```

With a single API request you get normalized, realtime data with enriched metadata and pricing.

## Next Steps

After making your first API call to Sim APIs, you'll either see the JSON response shown above (success!) or you might encounter an error. If you received an error, check out our [Error Handling Guide](/error-handling) for troubleshooting tips and best practices.

If your call was successful, you've seen how easily you can retrieve comprehensive, multichain data. But this is just the beginning of what's possible.

Are you ready to learn more?
Here are a few paths you can explore:

<CardGroup cols={2}>
  <Card icon="bell" title="Get Real-Time Notifications" href="/evm/subscriptions">
    Set up webhook subscriptions to receive instant notifications for balance changes, activity, and transactions — no polling required.
  </Card>

  <Card icon="ethereum" title="Explore EVM Endpoints" href="/evm/overview">
    Access balances, activity, transactions, NFTs, and more across 60+ Ethereum and EVM-compatible chains.
  </Card>

  <Card title="Explore Solana Endpoints" href="/svm/overview">
    Get real-time balances and transactions on Solana and Eclipse.
  </Card>

  <Card icon="books" title="Build Real App Features" href="/evm/build-a-realtime-wallet">
    Follow our practical guides to build fully-functional features like token portfolio displays, real-time activity feeds, and more for your onchain apps.
  </Card>

  <Card icon="microchip-ai" title="Build with AI" href="/build-with-ai">
    Speed up your development using Sim APIs with our LLM-friendly resources.
  </Card>
</CardGroup>
