Helius Tokens API

Complete token account data, on-chain and off-chain metadata, and detailed information for both fungible and non-fungible Solana tokens.

Operations 2

POST /v0/tokens/metadata Returns token metadata (whether NFT or Fungible) for a given token address #
POST /v0/token-metadata Returns all metadata associated with an account, including data from the old… #

Specifications

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-tokens-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-tokens-api-openapi.yml Raw ↑
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