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