Skip to main content
The Wallet API is in Beta. Endpoints and response formats may change.

What is the Wallet API?

The Wallet API provides high-level REST endpoints for querying complete Solana wallet data — balances, transaction history, token transfers, identity resolution, historical balances, and funding sources. Instead of making multiple RPC calls and parsing raw blockchain data, you get structured, human-readable information with USD pricing in a single request. It is built for wallets, portfolio trackers, explorers, payment processors, tax tools, and compliance and AML systems. All endpoints share the base URL https://api.helius.xyz and return amounts in human-readable units (no lamport conversion needed).

Why Helius for wallet data?

One REST call

Structured balances, history, and transfers without stitching together raw RPC responses.

USD pricing built in

Token balances include USD values and portfolio totals, sourced from DAS.

Identity resolution

12,500+ labeled accounts and programs plus 10.7M+ categorical tags for exchanges, protocols, and institutions.

Human-readable output

Clear, decimal-adjusted data instead of raw lamports and instructions.

Key endpoints

Wallet Identity

Identify known wallets by address or SNS/ANS domain — exchanges, protocols, institutions.

Wallet Balances

All token and NFT balances with USD values, logos, and metadata.

Historical Balance

A token or SOL balance at a past timestamp, datetime, or slot.

Wallet History

Complete transaction history with balance changes for each transaction.

Token Transfers

All incoming and outgoing transfers with sender/recipient info.

Funding Source

The original funding source of a wallet, traced to its first incoming SOL.

Which endpoint should I use?

You needUse thisReturns
Who a wallet is (exchange, protocol, label)IdentityName, category, and tags for known addresses
A wallet’s current portfolioBalancesAll tokens and NFTs with USD values
A balance at a past point in timeHistorical BalanceOne token or SOL balance as of a timestamp/datetime/slot
Full transaction activityHistoryParsed transactions with per-transaction balance changes
Only sent/received transfersTransfersTransfer-level view with counterparty and direction
Where a wallet’s funds originatedFunding SourceFirst incoming SOL transfer and its sender
Quick reference of the underlying routes (base URL https://api.helius.xyz):
  • GET /v1/wallet/{wallet}/identity — get wallet identity by address or SNS/ANS domain
  • POST /v1/wallet/batch-identity — batch identity lookup (up to 100 addresses and/or domains)
  • GET /v1/wallet/{wallet}/balances — get all token and NFT balances
  • GET /v1/wallet/{wallet}/balance-at — get a token or SOL balance at a past timestamp, datetime, or slot
  • GET /v1/wallet/{wallet}/history — get transaction history with balance changes
  • GET /v1/wallet/{wallet}/transfers — get all token transfer activity
  • GET /v1/wallet/{wallet}/funded-by — find the original funding source

Authentication

All Wallet API requests require an API key. You can pass it as a query parameter or as a header:
curl "https://api.helius.xyz/v1/wallet/{wallet}/balances?api-key=YOUR_API_KEY"

Amounts and units

The Wallet API is a high-level abstraction over raw Solana data. All amount fields in responses are human-readable — already divided by the token’s decimals — so you can display them directly without any conversion. Raw Solana RPC calls return values in lamports (the smallest unit, 10⁻⁹ SOL); the Wallet API does not. "amount": 1.5 means 1.5 SOL, not 1.5 lamports. Where exact arithmetic is required, some endpoints also expose amountRaw: the same value as a raw integer serialized as a string to avoid floating-point precision loss. The conversion formula is: amount = parseInt(amountRaw) / 10**decimals
EndpointHuman-readable amountRaw amountRaw string
Balancesbalance fieldNot available
Balance-atbalance field (decimal string)balanceRaw field
Funded-byamount fieldamountRaw field
Transfersamount fieldamountRaw field
History (balanceChanges)amount fieldNot available
Use amount for display. Use amountRaw when passing values to on-chain instructions or other systems that require exact integer arithmetic.

Get started

1

Get your API key

Sign up at dashboard.helius.dev to get your API key.
2

Choose your endpoint

Use the table above to pick the endpoint that matches your use case.
3

Make your first request

Start with a simple balance query:
curl "https://api.helius.xyz/v1/wallet/86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY/balances?api-key=YOUR_API_KEY"
4

Handle the response

Parse the JSON response and display the data in your application.

Next steps

Getting Data

Explore every way to query Solana data on Helius.

API Reference

Request and response schemas for all Wallet API endpoints.

Contact Support

Get help through Discord, chat, or email.