Helius Tokens API
Complete token account data, on-chain and off-chain metadata, and detailed information for both fungible and non-fungible Solana tokens.
Complete token account data, on-chain and off-chain metadata, and detailed information for both fungible and non-fungible Solana tokens.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/helius-tokens-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
title: Helius API Catalog Tokens 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: Tokens
description: Complete token account data, on-chain and off-chain metadata, and detailed information for both fungible and non-fungible Solana tokens.
paths:
/v0/tokens/metadata:
post:
tags:
- Tokens
summary: Returns token metadata (whether NFT or Fungible) for a given token address
operationId: enhancedApi_getTokenMetadata
parameters:
- $ref: '#/components/parameters/apiKeyParam'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/EnhancedApi_TokensMetadataRequest'
responses:
'200':
description: Returns the token metadata.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/EnhancedApi_TokenMetadataResponse'
'400':
$ref: '#/components/responses/EnhancedApi_400-BadRequest'
'401':
$ref: '#/components/responses/EnhancedApi_401-Unauthorized'
'403':
$ref: '#/components/responses/EnhancedApi_403-Forbidden'
'404':
$ref: '#/components/responses/EnhancedApi_404-NotFound'
'429':
$ref: '#/components/responses/EnhancedApi_429-TooManyRequests'
'500':
$ref: '#/components/responses/EnhancedApi_500-InternalServerError'
'503':
$ref: '#/components/responses/EnhancedApi_503-ServiceUnavailable'
'504':
$ref: '#/components/responses/EnhancedApi_504-GatewayTimeout'
x-amazon-apigateway-integration:
httpMethod: POST
type: http_proxy
uri: http://PLACEHOLDER_VIEW_LAYER_DNS_NAME/tokens/metadata
connectionType: VPC_LINK
connectionId: PLACEHOLDER_VPC_LINK_ID
servers:
- url: https://api-mainnet.helius-rpc.com
description: Mainnet RPC endpoint
- url: https://api-devnet.helius-rpc.com
description: Devnet RPC endpoint
/v0/token-metadata:
post:
tags:
- Tokens
summary: Returns all metadata associated with an account, including data from the old…
operationId: enhancedApi_queryMetadataV1
parameters:
- $ref: '#/components/parameters/apiKeyParam'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/EnhancedApi_TokensMetadataRequestV1'
responses:
'200':
description: Query result.
content:
application/json:
schema:
$ref: '#/components/schemas/EnhancedApi_TokensMetadataResponseV1'
'400':
$ref: '#/components/responses/EnhancedApi_400-BadRequest'
'401':
$ref: '#/components/responses/EnhancedApi_401-Unauthorized'
'403':
$ref: '#/components/responses/EnhancedApi_403-Forbidden'
'404':
$ref: '#/components/responses/EnhancedApi_404-NotFound'
'429':
$ref: '#/components/responses/EnhancedApi_429-TooManyRequests'
'500':
$ref: '#/components/responses/EnhancedApi_500-InternalServerError'
'503':
$ref: '#/components/responses/EnhancedApi_503-ServiceUnavailable'
'504':
$ref: '#/components/responses/EnhancedApi_504-GatewayTimeout'
x-amazon-apigateway-integration:
httpMethod: POST
type: http_proxy
uri: http://PLACEHOLDER_VIEW_LAYER_DNS_NAME/tokens/metadata-v1
connectionType: VPC_LINK
connectionId: PLACEHOLDER_VPC_LINK_ID
servers:
- url: https://api-mainnet.helius-rpc.com
description: Mainnet RPC endpoint
- url: https://api-devnet.helius-rpc.com
description: Devnet RPC endpoint
components:
schemas:
EnhancedApi_OffChainMetadataResult:
type: object
properties:
metadata:
$ref: '#/components/schemas/EnhancedApi_OffChainMetadata'
uri:
type: string
error:
$ref: '#/components/schemas/EnhancedApi_AccountErrorType'
EnhancedApi_LegacyMetadata:
type: object
description: Data from the old SPL token list.
properties:
chainId:
type: integer
address:
type: string
symbol:
type: string
name:
type: string
decimals:
type: integer
logoURI:
type: string
tags:
type: array
items:
type: string
extensions:
type: object
EnhancedApi_TokenMetadataResponse:
type: object
description: Metaplex metadata stored both on-chain and off-chain.
properties:
mint:
type: string
onChainData:
$ref: '#/components/schemas/EnhancedApi_OnChainMetadata'
offChainData:
$ref: '#/components/schemas/EnhancedApi_OffChainMetadata'
EnhancedApi_OnChainMetadata:
type: object
description: Metaplex metadata that is stored on-chain.
properties:
key:
type: string
mint:
type: string
updateAuthority:
type: string
data:
type: object
properties:
name:
type: string
symbol:
type: string
uri:
type: string
sellerFeeBasisPoints:
type: integer
creators:
type: array
items:
type: object
properties:
address:
type: string
share:
type: string
verified:
type: boolean
tokenStandard:
type: string
primarySaleHappened:
type: boolean
isMutable:
type: boolean
editionNonce:
type: integer
collection:
type: object
properties:
key:
type: string
verified:
type: boolean
collectionDetails:
type: object
properties:
size:
type: integer
uses:
type: object
properties:
useMethod:
type: string
remaining:
type: integer
total:
type: integer
EnhancedApi_TokensMetadataResponseV1:
type: array
items:
type: object
description: Token metadata stored both on-chain and in the old token list.
properties:
account:
type: string
onChainAccountInfo:
$ref: '#/components/schemas/EnhancedApi_OnChainAccountInfoResult'
onChainMetadata:
$ref: '#/components/schemas/EnhancedApi_OnChainMetadataResult'
offChainMetadata:
$ref: '#/components/schemas/EnhancedApi_OffChainMetadataResult'
legacyMetadata:
$ref: '#/components/schemas/EnhancedApi_LegacyMetadata'
EnhancedApi_ErrorResponse:
type: object
description: JSON-RPC error response format
properties:
jsonrpc:
type: string
example: '2.0'
description: JSON-RPC version
error:
type: object
properties:
code:
type: integer
description: Error code
example: -32602
message:
type: string
description: Error message
example: Invalid params
id:
type: string
description: Request identifier
example: '1'
required:
- jsonrpc
- error
- id
EnhancedApi_TokensMetadataRequestV1:
type: object
properties:
mintAccounts:
type: array
items:
type: string
description: The mint account of the token to retrieve metadata for.
maxItems: 100
includeOffChain:
type: boolean
default: false
description: Include offchain data referenced in the uri of the metadata account. Omitting defaults to false.
disableCache:
type: boolean
default: false
description: Disable usage of cache, useful for monitoring metadata changes.
EnhancedApi_AccountErrorType:
type: string
example: ''
enum:
- UNKNOWN
- EMPTY_ACCOUNT
- TIMEOUT
- INVALID_ACCOUNT
- INVALID_PUBKEY
EnhancedApi_OffChainMetadata:
type: object
description: Metaplex metadata that is stored off-chain.
properties:
name:
type: string
symbol:
type: string
attributes:
type: array
items:
properties:
traitType:
type: string
value:
type: string
sellerFeeBasisPoints:
type: integer
image:
type: string
properties:
type: object
properties:
category:
type: string
files:
type: array
items:
properties:
uri:
type: string
type:
type: string
creators:
type: array
items:
properties:
address:
type: string
share:
type: string
EnhancedApi_OnChainMetadataResult:
type: object
properties:
metadata:
$ref: '#/components/schemas/EnhancedApi_OnChainMetadata'
error:
$ref: '#/components/schemas/EnhancedApi_AccountErrorType'
EnhancedApi_TokensMetadataRequest:
type: object
properties:
mintAccounts:
type: array
items:
type: string
description: The mint account of the token to retrieve metadata for.
maxItems: 100
EnhancedApi_OnChainAccountInfo:
type: object
description: Account data that is stored on-chain.
properties:
key:
type: string
isSigner:
type: boolean
isWritable:
type: boolean
lamports:
type: integer
data:
type: object
properties:
parsed:
type: object
properties:
info:
type: object
properties:
decimals:
type: integer
freezeAuthority:
type: string
isInitialized:
type: boolean
mintAuthority:
type: string
supply:
type: string
type:
type: string
program:
type: string
space:
type: integer
owner:
type: string
executable:
type: boolean
rentEpoch:
type: integer
EnhancedApi_OnChainAccountInfoResult:
type: object
properties:
accountInfo:
$ref: '#/components/schemas/EnhancedApi_OnChainAccountInfo'
error:
$ref: '#/components/schemas/EnhancedApi_AccountErrorType'
responses:
EnhancedApi_404-NotFound:
description: The specified resource was not found.
content:
application/json:
schema:
$ref: '#/components/schemas/EnhancedApi_ErrorResponse'
example:
jsonrpc: '2.0'
error:
code: -32601
message: Method not found
id: '1'
EnhancedApi_500-InternalServerError:
description: The server encountered an unexpected condition that prevented it from fulfilling the request.
content:
application/json:
schema:
$ref: '#/components/schemas/EnhancedApi_ErrorResponse'
example:
jsonrpc: '2.0'
error:
code: -32603
message: Internal error
id: '1'
EnhancedApi_401-Unauthorized:
description: Unauthorized request.
content:
application/json:
schema:
$ref: '#/components/schemas/EnhancedApi_ErrorResponse'
example:
jsonrpc: '2.0'
error:
code: -32001
message: Unauthorized
id: '1'
EnhancedApi_503-ServiceUnavailable:
description: The service is temporarily unavailable.
content:
application/json:
schema:
$ref: '#/components/schemas/EnhancedApi_ErrorResponse'
example:
jsonrpc: '2.0'
error:
code: -32002
message: Service unavailable
id: '1'
EnhancedApi_403-Forbidden:
description: Request was forbidden.
content:
application/json:
schema:
$ref: '#/components/schemas/EnhancedApi_ErrorResponse'
example:
jsonrpc: '2.0'
error:
code: -32003
message: Forbidden
id: '1'
EnhancedApi_504-GatewayTimeout:
description: The request timed out.
content:
application/json:
schema:
$ref: '#/components/schemas/EnhancedApi_ErrorResponse'
example:
jsonrpc: '2.0'
error:
code: -32003
message: Gateway timeout
id: '1'
EnhancedApi_400-BadRequest:
description: Invalid request.
content:
application/json:
schema:
$ref: '#/components/schemas/EnhancedApi_ErrorResponse'
example:
jsonrpc: '2.0'
error:
code: -32602
message: Invalid params
id: '1'
EnhancedApi_429-TooManyRequests:
description: Exceeded rate limit.
content:
application/json:
schema:
$ref: '#/components/schemas/EnhancedApi_ErrorResponse'
example:
jsonrpc: '2.0'
error:
code: -32005
message: Rate limit exceeded
id: '1'
parameters:
apiKeyParam:
name: api-key
in: query
required: true
description: Helius API key. Obtain from https://dashboard.helius.dev or via `helius signup --json`.
schema:
type: string
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