openapi: 3.1.0 info: title: Helius API Catalog Addresses 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. It exists so AI agents, codegen tools, and SDK generators can locate the canonical OpenAPI document for every Helius API in one request instead of crawling the docs site. Start with the `x-apis` array: each entry links a Helius API surface to its canonical OpenAPI spec (`specUrl`) and human-readable docs (`docsUrl`). Follow `externalDocs` for the full developer documentation site. ## A note on JSON-RPC APIs Several Helius APIs (Solana RPC, DAS, Sender, Mint, Priority Fee, ZK Compression) follow the JSON-RPC 2.0 convention where every method POSTs to `/` with a `method` field in the request body. For each such API the repository ships both per-method fragment YAMLs (used to render the Mintlify reference pages) and an auto-generated `_combined.yaml` that merges every method into a single OpenAPI document. In the combined documents, colliding paths are disambiguated with a URL-fragment suffix (e.g. `/#getAccountInfo`) and each operation carries an `x-actual-path` extension that records the real request path (`/`). The fragment syntax is schema-only — real calls still go to the `url` in `servers`. All `specUrl` values below point to raw GitHub files on the `main` branch of `helius-labs/docs`. They are stable URLs suitable for downstream tools to pin or fetch. ' 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_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_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_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_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_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_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 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' 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