Helius Balances API

Query token and NFT balances

Operations 1

GET /v1/wallet/{wallet}/balances Get wallet balances #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/helius-balances-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

helius-balances-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Helius API Catalog Balances API
  version: 1.0.0
  summary: Machine-readable discovery document for every Helius API surface on Solana.
  description: This document is a discovery catalog — not an operational spec.
  contact:
    name: Helius Support
    url: https://www.helius.dev/contact
    email: support@helius.dev
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
servers:
- url: https://mainnet.helius-rpc.com
  description: Solana mainnet RPC endpoint (Solana RPC, DAS, Priority Fee, ZK Compression)
- url: https://devnet.helius-rpc.com
  description: Solana devnet RPC endpoint
- url: https://sender.helius-rpc.com
  description: Helius Sender — global transaction submission
- url: https://api.helius.xyz
  description: Helius REST APIs (Wallet API, Enhanced API, Webhooks)
- url: https://admin-api.helius.xyz
  description: Helius Admin API — project usage and billing
- url: https://api-mainnet.helius-rpc.com
  description: Mainnet RPC endpoint
- url: https://api-devnet.helius-rpc.com
  description: Devnet RPC endpoint
- url: http://slc-sender.helius-rpc.com
  description: Salt Lake City
- url: http://ewr-sender.helius-rpc.com
  description: Newark
- url: http://lon-sender.helius-rpc.com
  description: London
- url: http://fra-sender.helius-rpc.com
  description: Frankfurt
- url: http://ams-sender.helius-rpc.com
  description: Amsterdam
- url: http://sg-sender.helius-rpc.com
  description: Singapore
- url: http://tyo-sender.helius-rpc.com
  description: Tokyo
tags:
- name: Balances
  description: Query token and NFT balances
paths:
  /v1/wallet/{wallet}/balances:
    get:
      tags:
      - Balances
      summary: Get wallet balances
      description: 'Retrieve token and NFT balances for a wallet. **Pagination is manual** - the API returns up to 100 tokens per request.


        Results are sorted by USD value in descending order. Tokens with pricing data appear first, followed by tokens without prices.


        **Pagination:** Use the `page` parameter to fetch additional pages. The response includes `pagination.hasMore`

        to indicate if more results are available. Each request makes a single API call and costs 100 credits.'
      operationId: walletApi_getWalletBalances
      parameters:
      - $ref: '#/components/parameters/WalletApi_WalletAddress'
      - name: page
        in: query
        description: Page number for pagination (1-indexed)
        schema:
          type: integer
          minimum: 1
          default: 1
        example: 1
      - name: limit
        in: query
        description: Maximum number of tokens per page
        schema:
          type: integer
          minimum: 1
          maximum: 100
          default: 100
        example: 100
      - name: showZeroBalance
        in: query
        description: Include tokens with zero balance
        schema:
          type: boolean
          default: false
      - name: showNative
        in: query
        description: Include native SOL in results
        schema:
          type: boolean
          default: true
      - name: showNfts
        in: query
        description: Include NFTs in results (max 100, first page only)
        schema:
          type: boolean
          default: false
      responses:
        '200':
          description: Wallet balances retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WalletApi_BalancesResponse'
        '400':
          $ref: '#/components/responses/WalletApi_BadRequest'
        '401':
          $ref: '#/components/responses/WalletApi_Unauthorized'
        '429':
          $ref: '#/components/responses/WalletApi_RateLimited'
        '500':
          $ref: '#/components/responses/WalletApi_InternalError'
      servers:
      - url: https://api.helius.xyz
        description: Production server
components:
  schemas:
    WalletApi_Error:
      type: object
      properties:
        error:
          type: string
          description: Error message
          example: Invalid wallet address
        code:
          type: integer
          description: HTTP status code
          example: 400
        details:
          type: string
          description: Additional error details
          example: '''invalid-address'' is not a valid Solana address'
      required:
      - error
      - code
    WalletApi_Nft:
      type: object
      properties:
        mint:
          type: string
          description: NFT mint address
          example: 7Xq8wXyXVqfBPPqVJjPDwG9zN5wCVxBYZ6z7vPYBzr6F
        name:
          type: string
          nullable: true
          description: NFT name
          example: Degen Ape
        imageUri:
          type: string
          nullable: true
          description: NFT image URI
          example: https://example.com/nft.png
        collectionName:
          type: string
          nullable: true
          description: Collection name
          example: Degen Ape Academy
        collectionAddress:
          type: string
          nullable: true
          description: Collection address
          example: DegN1dXmU2uYa4n7U9qTh7YNYpK4u8L9qXx7XqYqJfGH
        compressed:
          type: boolean
          description: Whether this is a compressed NFT
          example: false
      required:
      - mint
      - compressed
    WalletApi_BalancesResponse:
      type: object
      properties:
        balances:
          type: array
          items:
            $ref: '#/components/schemas/WalletApi_TokenBalance'
          description: 'Array of token balances for the current page, including native SOL.

            When showNative=true, SOL appears as the first element with mint address So11111111111111111111111111111111111111112.

            Other tokens are sorted by USD value (descending).

            '
        nfts:
          type: array
          items:
            $ref: '#/components/schemas/WalletApi_Nft'
          description: Array of NFT holdings (only included if showNfts=true, max 100, first page only)
        totalUsdValue:
          type: number
          description: Total USD value of balances on this page (not total portfolio value)
          example: 217.98
        pagination:
          type: object
          description: Pagination metadata. Users must manually request additional pages using the page parameter.
          properties:
            page:
              type: integer
              description: Current page number
              example: 1
            limit:
              type: integer
              description: Number of items per page
              example: 100
            hasMore:
              type: boolean
              description: True if more results are available. Increment the page parameter to fetch the next page.
              example: true
          required:
          - page
          - limit
          - hasMore
      required:
      - balances
      - totalUsdValue
      - pagination
    WalletApi_TokenBalance:
      type: object
      properties:
        mint:
          type: string
          description: Token mint address
          example: So11111111111111111111111111111111111111112
        symbol:
          type: string
          nullable: true
          description: Token symbol
          example: SOL
        name:
          type: string
          nullable: true
          description: Token name
          example: Solana
        balance:
          type: number
          description: Token balance (adjusted for decimals)
          example: 1.5
        decimals:
          type: integer
          description: Number of decimal places
          example: 9
        pricePerToken:
          type: number
          nullable: true
          description: Price per token in USD
          example: 145.32
        usdValue:
          type: number
          nullable: true
          description: Total USD value of holdings
          example: 217.98
        logoUri:
          type: string
          nullable: true
          description: URL to token logo image
          example: https://example.com/sol-logo.png
        tokenProgram:
          type: string
          enum:
          - spl-token
          - token-2022
          description: Token program type (spl-token for legacy, token-2022 for new standard)
          example: spl-token
      required:
      - mint
      - balance
      - decimals
      - tokenProgram
  responses:
    WalletApi_InternalError:
      description: Transient server error. Retryable with exponential backoff.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/WalletApi_Error'
          example:
            error: INTERNAL_ERROR
            code: 500
            details: An unexpected error occurred. Please retry.
    WalletApi_BadRequest:
      description: Invalid request parameters
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/WalletApi_Error'
          example:
            error: Invalid wallet address
            code: 400
            details: '''invalid-address'' is not a valid Solana address'
    WalletApi_RateLimited:
      description: Rate limit exceeded.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/WalletApi_Error'
          example:
            error: RATE_LIMIT_EXCEEDED
            code: 429
            details: Too many requests. Retry after 2 seconds.
    WalletApi_Unauthorized:
      description: Missing or invalid API key
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/WalletApi_Error'
          example:
            error: API key required. Pass via ?api-key=xxx or X-Api-Key header
            code: 401
  parameters:
    WalletApi_WalletAddress:
      name: wallet
      in: path
      required: true
      description: Solana wallet address (base58 encoded)
      schema:
        type: string
        pattern: ^[1-9A-HJ-NP-Za-km-z]{32,44}$
      example: GQUtvPx89ZNCwmvQqFmH59bJcU8fW8siETpaxod7Aydz
  securitySchemes:
    ApiKeyQuery:
      type: apiKey
      in: query
      name: api-key
      description: Your Helius API key. You can get one for free in the [dashboard](https://dashboard.helius.dev/api-keys).
    ApiKeyHeader:
      type: apiKey
      in: header
      name: X-Api-Key
      description: API key passed in request header
externalDocs:
  description: Helius Documentation (canonical)
  url: https://www.helius.dev/docs
x-apis:
- id: rpc-http
  name: Solana RPC (HTTP)
  description: JSON-RPC 2.0 methods for Solana mainnet and devnet, plus Helius extensions such as `getTransactionsForAddress` with server-side filtering and token account helpers (`getTokenAccountsByOwnerV2`, `getProgramAccountsV2`).
  specUrl: https://www.helius.dev/openapi/rpc-http.json
  docsUrl: https://www.helius.dev/docs/rpc/overview
  tags:
  - rpc
  - json-rpc
  - solana
  - accounts
  - transactions
  status: stable
  x-specFragments: https://github.com/helius-labs/docs/tree/main/openapi/rpc-http
- id: das-api
  name: Digital Asset Standard (DAS) API
  description: Unified NFT and token queries for Solana — regular NFTs, compressed NFTs, and fungible tokens — indexed for fast lookups by owner, creator, authority, collection, or search.
  specUrl: https://www.helius.dev/openapi/das-api.json
  docsUrl: https://www.helius.dev/docs/das-api
  tags:
  - nft
  - tokens
  - compressed-nft
  - digital-assets
  - json-rpc
  status: stable
  x-specFragments: https://github.com/helius-labs/docs/tree/main/openapi/das-api
- id: sender-api
  name: Helius Sender
  description: Ultra-low-latency transaction submission with dual routing to validators and Jito infrastructure. Regional endpoints for Salt Lake City, Newark, London, Frankfurt, Amsterdam, Singapore, and Tokyo.
  specUrl: https://www.helius.dev/openapi/sender-api.json
  docsUrl: https://www.helius.dev/docs/sending-transactions/sender
  tags:
  - transactions
  - sender
  - low-latency
  - jito
  status: stable
  x-specFragments: https://github.com/helius-labs/docs/tree/main/openapi/sender-api
- id: wallet-api
  name: Wallet API
  description: High-performance REST API for Solana wallet data — identity, balances, transaction history, transfers, and funding lineage. Returns pre-indexed results suitable for wallet and portfolio UIs.
  specUrl: https://www.helius.dev/openapi/wallet-api.json
  docsUrl: https://www.helius.dev/docs/wallet-api/overview
  tags:
  - wallet
  - portfolio
  - history
  - rest
  status: beta
- id: priority-fee-api
  name: Priority Fee API
  description: Real-time priority fee recommendations across multiple priority levels, derived from recent network activity. Accepts either account keys or a serialized transaction.
  specUrl: https://www.helius.dev/openapi/priority-fee-api.json
  docsUrl: https://www.helius.dev/docs/priority-fee-api
  tags:
  - priority-fee
  - transactions
  - fees
  - json-rpc
  status: stable
  x-specFragments: https://github.com/helius-labs/docs/tree/main/openapi/priority-fee-api
- id: zk-compression
  name: ZK Compression Indexer
  description: Indexer API for Solana state compression — compressed accounts, compressed token balances, Merkle proofs, and validity proofs. Enables up to 1000x lower storage costs relative to regular accounts.
  specUrl: https://www.helius.dev/openapi/zk-compression.json
  docsUrl: https://www.helius.dev/docs/zk-compression/introduction
  tags:
  - zk-compression
  - state-compression
  - accounts
  - proofs
  - json-rpc
  status: stable
  x-specFragments: https://github.com/helius-labs/docs/tree/main/openapi/zk-compression
- id: admin-api
  name: Admin API
  description: Programmatic access to Helius project usage and billing data — credits consumed, credits remaining, prepaid balances, and subscription details for the current billing cycle.
  specUrl: https://www.helius.dev/openapi/admin-api.json
  docsUrl: https://www.helius.dev/docs/api-reference/admin
  tags:
  - admin
  - billing
  - usage
  - rest
  status: stable
  x-specFragments: https://github.com/helius-labs/docs/tree/main/openapi/admin-api
- id: enhanced-api
  name: Enhanced API
  description: Decoded, human-readable transaction history, NFT events, and address activity on Solana. Returns typed, parsed data instead of raw instruction bytes.
  specUrl: https://www.helius.dev/openapi/enhanced-api.json
  docsUrl: https://www.helius.dev/docs/enhanced-transactions/overview
  tags:
  - enhanced
  - parsed-transactions
  - nft-events
  - history
  - rest
  status: stable
- id: webhooks
  name: Helius Webhooks
  description: Real-time HTTP notifications for Solana on-chain events — configure account, transaction, or NFT event subscriptions and receive parsed payloads via HTTPS POST.
  specUrl: https://www.helius.dev/openapi/webhooks.json
  docsUrl: https://www.helius.dev/docs/webhooks
  tags:
  - webhooks
  - events
  - notifications
  - rest
  status: stable