Helius History API

Transaction history and balance changes

Operations 1

GET /v1/wallet/{wallet}/history Get transaction history #

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-history-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-history-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Helius API Catalog History 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: History
  description: Transaction history and balance changes
paths:
  /v1/wallet/{wallet}/history:
    get:
      tags:
      - History
      summary: Get transaction history
      description: 'Retrieve transaction history for a wallet using the Enhanced Transactions API.

        Returns human-readable, parsed transactions with balance changes for each transaction.

        **Pagination is manual** - the API returns up to 100 transactions per request.


        Returns transactions in reverse chronological order (newest first).


        **Associated Token Accounts (ATAs):** The `tokenAccounts` parameter controls whether transactions

        involving token accounts owned by the wallet are included:

        - `balanceChanged` (recommended): Includes transactions that changed token account balances, filtering spam

        - `none`: Only direct wallet interactions

        - `all`: All token account transactions including spam


        **Pagination:** Use the `before` parameter with `pagination.nextCursor` to fetch the next page.

        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_getWalletHistory
      parameters:
      - $ref: '#/components/parameters/WalletApi_WalletAddress'
      - name: limit
        in: query
        description: Maximum number of transactions per request
        schema:
          type: integer
          minimum: 1
          maximum: 100
          default: 100
        example: 100
      - name: before
        in: query
        description: Fetch transactions before this signature (use `pagination.nextCursor` from previous response)
        schema:
          type: string
        example: 5wHu1qwD7Jsj3xqWjdSEJmYr3Q5f5RjXqjqQJ7jqEj7jqEj7jqEj7jqEj7jqEj7jqE
      - name: after
        in: query
        description: Fetch transactions after this signature (for ascending order pagination)
        schema:
          type: string
        example: 5wHu1qwD7Jsj3xqWjdSEJmYr3Q5f5RjXqjqQJ7jqEj7jqEj7jqEj7jqEj7jqEj7jqE
      - name: type
        in: query
        description: 'Filter by transaction type. Available types: SWAP, TRANSFER, NFT_SALE, NFT_BID, NFT_LISTING,

          NFT_MINT, NFT_CANCEL_LISTING, TOKEN_MINT, BURN, COMPRESSED_NFT_MINT, COMPRESSED_NFT_TRANSFER,

          COMPRESSED_NFT_BURN, CREATE_STORE, WHITELIST_CREATOR, ADD_TO_WHITELIST, REMOVE_FROM_WHITELIST,

          AUCTION_MANAGER_CLAIM_BID, EMPTY_PAYMENT_ACCOUNT, UPDATE_PRIMARY_SALE_METADATA, ADD_TOKEN_TO_VAULT,

          ACTIVATE_VAULT, INIT_VAULT, INIT_BANK, INIT_STAKE, MERGE_STAKE, SPLIT_STAKE, CREATE_AUCTION_MANAGER,

          START_AUCTION, CREATE_AUCTION_MANAGER_V2, UPDATE_EXTERNAL_PRICE_ACCOUNT, EXECUTE_TRANSACTION

          '
        schema:
          type: string
          enum:
          - SWAP
          - TRANSFER
          - NFT_SALE
          - NFT_BID
          - NFT_LISTING
          - NFT_MINT
          - NFT_CANCEL_LISTING
          - TOKEN_MINT
          - BURN
          - COMPRESSED_NFT_MINT
          - COMPRESSED_NFT_TRANSFER
          - COMPRESSED_NFT_BURN
          - CREATE_STORE
          - WHITELIST_CREATOR
          - ADD_TO_WHITELIST
          - REMOVE_FROM_WHITELIST
          - AUCTION_MANAGER_CLAIM_BID
          - EMPTY_PAYMENT_ACCOUNT
          - UPDATE_PRIMARY_SALE_METADATA
          - ADD_TOKEN_TO_VAULT
          - ACTIVATE_VAULT
          - INIT_VAULT
          - INIT_BANK
          - INIT_STAKE
          - MERGE_STAKE
          - SPLIT_STAKE
          - CREATE_AUCTION_MANAGER
          - START_AUCTION
          - CREATE_AUCTION_MANAGER_V2
          - UPDATE_EXTERNAL_PRICE_ACCOUNT
          - EXECUTE_TRANSACTION
        example: SWAP
      - name: tokenAccounts
        in: query
        description: 'Filter transactions involving token accounts owned by the wallet.

          - `balanceChanged` (recommended): Includes transactions that changed token balances, filters spam

          - `none`: Only transactions directly referencing the wallet

          - `all`: All transactions including token accounts (may include spam)

          '
        schema:
          type: string
          enum:
          - none
          - balanceChanged
          - all
          default: balanceChanged
        example: balanceChanged
      responses:
        '200':
          description: Transaction history retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WalletApi_HistoryResponse'
        '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_HistoryTransaction:
      type: object
      properties:
        signature:
          type: string
          description: Transaction signature
          example: 5wHu1qwD7Jsj3xqWjdSEJmYr3Q5f5RjXqjqQJ7jqEj7jqEj7jqEj7jqEj7jqEj7jqE
        timestamp:
          type: integer
          nullable: true
          description: Unix timestamp in seconds
          example: 1704067200
        slot:
          type: integer
          description: Slot number
          example: 250000000
        fee:
          type: number
          description: Transaction fee in SOL
          example: 5.0e-06
        feePayer:
          type: string
          description: Address that paid the transaction fee
          example: GQUtvPx89ZNCwmvQqFmH59bJcU8fW8siETpaxod7Aydz
        error:
          type: string
          nullable: true
          description: Error message if transaction failed
          example: null
        balanceChanges:
          type: array
          items:
            $ref: '#/components/schemas/WalletApi_BalanceChange'
          description: All balance changes in this transaction
      required:
      - signature
      - slot
      - fee
      - feePayer
      - balanceChanges
    WalletApi_Pagination:
      type: object
      properties:
        hasMore:
          type: boolean
          description: Whether more results are available
          example: true
        nextCursor:
          type: string
          nullable: true
          description: Cursor to fetch the next page of results
          example: 5wHu1qwD7Jsj3xqWjdSEJmYr3Q5f5RjXqjqQJ7jqEj7jqEj7jqEj7jqEj7jqEj7jqE
      required:
      - hasMore
    WalletApi_BalanceChange:
      type: object
      properties:
        mint:
          type: string
          description: Token mint address (or 'SOL' for native)
          example: So11111111111111111111111111111111111111112
        amount:
          type: number
          description: Change amount (positive for increase, negative for decrease)
          example: -0.05
        decimals:
          type: integer
          description: Token decimals
          example: 9
      required:
      - mint
      - amount
      - decimals
    WalletApi_HistoryResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/WalletApi_HistoryTransaction'
        pagination:
          $ref: '#/components/schemas/WalletApi_Pagination'
      required:
      - data
      - 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
  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