> ## 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.

# Solana Balances

> Get token balances for a given SVM address

The Solana Balances API provides accurate and fast real-time balances of native SOL, SPL, and SPL-2022 tokens on supported Solana Virtual Machine (SVM) blockchains.
We currently support **Solana** and **Eclipse**.

* **SPL tokens** are the standard Solana token format (similar to ERC-20 on Ethereum).
* **SPL-2022** is the newer token standard with extended features like transfer fees and confidential transfers.

<Note>
  This endpoint uses the `chains` parameter (not `chain_ids` like EVM endpoints). Accepted values: `solana`, `eclipse`, or `all`.
</Note>

## Example Request

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET "https://api.sim.dune.com/beta/svm/balances/vitalik.sol" \
       -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/beta/svm/balances/vitalik.sol’, 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/beta/svm/balances/vitalik.sol"
  headers = {"X-Sim-Api-Key": "YOUR_API_KEY"}

  response = requests.get(url, headers=headers)
  print(response.json())
  ```
</CodeGroup>

## Pagination

This endpoint uses cursor-based pagination. You can use the `limit` parameter to define the maximum page size.
Results might at times be less than the maximum page size.
The `next_offset` value is passed back by the initial response and can be used to fetch the next page of results, by passing it as the `offset` query parameter in the next request.

<Warning>You can only use the value from `next_offset` to set the `offset` parameter of the next page of results. Using your own `offset` value will not have any effect.</Warning>

## Compute Unit Cost

The Solana Balances endpoint’s CU cost equals the number of chains you include via the `chains` query parameter. If you omit `chains`, the endpoint uses its default chain set, which is currently Solana only (**1 CU**). We currently support two SVM chains (Solana and Eclipse). See the [Compute Units](/compute-units) page for detailed information.


## OpenAPI

````yaml /openapi.json GET /beta/svm/balances/{address}
openapi: 3.0.3
info:
  title: Sim API
  description: >-
    The Sim API by Dune provides real-time blockchain data across EVM and SVM
    chains. Access token balances, transaction history, on-chain activity, DeFi
    positions, NFT collectibles, token information, and webhook subscriptions
    through a unified REST API.
  version: 1.0.0
  license:
    name: ''
  contact:
    name: Dune Support
    url: https://docs.sim.dune.com
    email: support@dune.com
servers:
  - url: https://api.sim.dune.com
security:
  - ApiKeyAuth: []
tags:
  - name: evm
    description: EVM-compatible blockchain endpoints.
  - name: svm
    description: Solana/SVM blockchain endpoints.
  - name: activity
    description: On-chain activity feed.
  - name: balances
    description: Token balances (EVM and SVM).
  - name: transactions
    description: Transaction history (EVM and SVM).
  - name: collectibles
    description: NFT and ERC721/ERC1155 holdings.
  - name: defi
    description: DeFi protocol positions.
  - name: supported-chains
    description: Supported blockchain networks.
  - name: token-info
    description: Token metadata and pricing.
  - name: token-holders
    description: Token holder distribution.
  - name: subscriptions
    description: >-
      Webhook subscription management for real-time on-chain event
      notifications.
paths:
  /beta/svm/balances/{address}:
    get:
      tags:
        - svm
        - balances
      summary: Get SVM token balances
      description: Get token balances for a given SVM address
      operationId: getSvmBalances
      parameters:
        - name: address
          in: path
          description: SVM wallet address
          required: true
          schema:
            type: string
            default: 86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY
          example: 86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY
        - name: chains
          in: query
          description: >-
            Comma-separated list of chains to include. You can specify either
            solana or eclipse. For example, `?chains=solana,eclipse`. If
            omitted, the endpoint will default to solana only.
          required: false
          schema:
            type: string
        - name: limit
          in: query
          description: >-
            Maximum number of results to return. Default is 1000 when not
            provided. Values above 1000 are reduced to 1000.
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 1000
            default: 1000
        - name: offset
          in: query
          description: Pagination offset from previous response
          required: false
          schema:
            type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SvmBalancesResponse'
              example:
                processing_time_ms: 120
                wallet_address: DYw8jCTfwHNRJhhmFcbXvVDTqWMEVFBX6ZKUmG5CNSKK
                next_offset: eyJibG9ja190aW1lIjoxNjgwMDAwMDAwLCJpbmRleCI6MH0=
                balances_count: 3
                balances:
                  - chain: solana
                    address: GUACAwFcHeHgN6FWhcw5Uwt8r9YHF1x66NWkW8fLT2e6
                    amount: '236604141098046680'
                    balance: '2366041410980.4668'
                    raw_balance: '2333343144265.50919'
                    value_usd: 0
                    program_id: TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb
                    decimals: 5
                    total_supply: '17752032227785985186'
                    metadata_address: GUACAwFcHeHgN6FWhcw5Uwt8r9YHF1x66NWkW8fLT2e6
                    name: Solana Power Boost
                    symbol: GUACA
                    uri: >-
                      https://arweave.net/0-6vSvbN2VhWi0dpufHxkcvul2TSYGQn7F-xAt867iY
                    price_usd: 0
                    liquidity_usd: 0
                  - chain: solana
                    address: HV6ia6ptzKbMPQs3zGrj2S35BhxeFzpXeSS3jNtW7P9F
                    amount: '913013423527'
                    balance: '913013.423527'
                    raw_balance: '912673'
                    value_usd: 0
                    program_id: TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb
                    decimals: 6
                    total_supply: '1000000000000'
                    mint_authority: 4TM4eaLauigrqjDytC49K2iWKB4kAHsNRCJz48mdriHY
                    name: FIRE
                    symbol: FIRE
                    uri: >-
                      https://bafkreic4fzgkgta5qmv2tk2fug7i6jnrcmd4pnrf6pxwvyfxlne3ewb67i.ipfs.nftstorage.link
                    price_usd: 0
                    liquidity_usd: 0
                  - chain: solana
                    address: native
                    amount: '1000000000'
                    balance: '1.0'
                    raw_balance: '1.0'
                    value_usd: 20.5
                    program_id: null
                    decimals: 9
                    total_supply: '1000000000000000'
                    name: Solana
                    symbol: SOL
                    uri: null
                    price_usd: 20.5
                    liquidity_usd: 500000000
                    pool_type: null
                    pool_address: null
                    mint_authority: null
        '400':
          description: Bad Request - Invalid wallet address or invalid query parameter.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceMessageErrorResponse'
              examples:
                invalidAddress:
                  summary: Invalid address format
                  value:
                    message: Failed to parse address
        '401':
          description: Unauthorized - Invalid or missing API key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GatewayErrorResponse'
              examples:
                invalidApiKey:
                  value:
                    error: invalid API Key
        '429':
          description: Rate Limit Exceeded - Too many requests.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GatewayErrorResponse'
              examples:
                rateLimitExceeded:
                  value:
                    error: >-
                      Too many requests. Please contact sales@dune.com to
                      increase your limit.
        '500':
          description: Internal Server Error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceMessageErrorResponse'
              examples:
                internalError:
                  value:
                    message: Internal server error
        '503':
          description: >-
            Service Unavailable - The balances service is temporarily in a retry
            state. Retry the request after a short delay.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceMessageErrorResponse'
              examples:
                serviceUnavailable:
                  value:
                    message: Try again later
components:
  schemas:
    SvmBalancesResponse:
      type: object
      required:
        - wallet_address
        - balances
      properties:
        processing_time_ms:
          type: number
          description: Time taken to process the request in milliseconds
        wallet_address:
          type: string
          description: The queried wallet address
        next_offset:
          type: string
          description: Pagination token for the next page of results
        balances_count:
          type: number
          description: Total number of balances returned
        balances:
          type: array
          description: Array of token balance objects
          items:
            $ref: '#/components/schemas/SvmBalanceItem'
    ServiceMessageErrorResponse:
      type: object
      description: Error response from backend services that use a message field.
      properties:
        message:
          type: string
          description: Error message.
      required:
        - message
    GatewayErrorResponse:
      type: object
      description: >-
        Error response from the API gateway. Returned for authentication,
        permissions, rate-limiting, and quota errors.
      properties:
        error:
          type: string
          description: Error message.
      required:
        - error
    SvmBalanceItem:
      type: object
      required:
        - chain
        - address
        - amount
      properties:
        chain:
          type: string
          description: Name of blockchain of token
        address:
          type: string
          description: Token contract address or blockchain name for native token
        amount:
          type: string
          description: >-
            Amount of token owned in smallest unit. The amount field is based on
            uiAmountString from the account info to maintain backward
            compatibility.
        balance:
          type: string
          description: Formatted amount with decimals applied
        raw_balance:
          type: string
          description: >-
            Raw balance that provides the raw amount divided by 10^decimals,
            which usually matches balance except when contract implements
            scaling logic.
        value_usd:
          type: number
          description: Current value of token owned, if available
        program_id:
          type: string
          description: Program ID of the token (for SPL tokens)
          nullable: true
        decimals:
          type: number
          description: Decimals of token
        total_supply:
          type: string
          description: Total supply of the token
        name:
          type: string
          description: Name of token
        symbol:
          type: string
          description: Symbol of token
        uri:
          type: string
          description: URI to token metadata
          nullable: true
        price_usd:
          type: number
          description: Current price of token, if available
        liquidity_usd:
          type: number
          description: Liquidity in USD, if available
        pool_type:
          type: string
          description: Type of liquidity pool, if available
          nullable: true
        pool_address:
          type: string
          description: Address of liquidity pool, if available
          nullable: true
        mint_authority:
          type: string
          description: Mint authority address, if available
          nullable: true
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-Sim-Api-Key
      description: >-
        API key for authentication. Obtain your key from the Dune dashboard at
        sim.dune.com.

````