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
- create("helius")
- auth
- HELIUS_API_KEY
- chains
- Solana
- capabilities
- history, tx detail, tokens
- endpoint
- mainnet.helius-rpc.com
- default chain
- solana
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 is 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, which 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.