Providers
Helius
Enhanced transactions and DAS token holdings on Solana. No balance endpoint, and it says so instead of faking one. Needs HELIUS_API_KEY.
Provider
Helius
- solana
- Chains
- 1
- Auth
- key
- Operations
- 3 of 10
served 3 / 10
Operations
- balance
getBalanceabsent - history
getTxHistoryserved - tx detail
getTxDetailserved - utxos
getUtxosabsent - pubkey
getPubkeyabsent - contract
getContractInfoabsent - tokens
getTokenBalancesserved - transfers
getTokenTransfersabsent - gas
getGasDataabsent - block
getBlockInfoabsent
Access
- Create
create("helius") - Import
@agntn/explorers/providers/helius - Host
mainnet.helius-rpc.com - Statusproviders on the docs worker
Address it
const helius = await create("helius"); // HELIUS_API_KEY required
await helius.getTokenBalances("…", "solana", { nonZeroOnly: true });
What it reads
Enhanced Transactions v0 for history and one transaction, and DAS searchAssets over JSON-RPC on the RPC root for token holdings.
Gotchas
- There's no REST balance endpoint, so
getBalancethrowsUnsupportedOperationErrorandcapabilities.balancesis false. The registry knows, and a balance read on Solana never lands here. - The key travels as the
api-keyquery parameter.sanitizeUrlredacts it from every error message and URL, and Helius is the reason that redaction exists. - DAS answers over JSON-RPC, so a failure arrives as
errorinside a 200 response and the provider reads it there. Pages hold a thousand assets and the walk stops after twenty pages.
Where it lives
src/providers/helius.ts.