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 getBalance throws UnsupportedOperationError and capabilities.balances is false. The registry knows, and a balance read on Solana never lands here.
  • The key travels as the api-key query parameter. sanitizeUrl redacts it from every error message and URL, which is the reason that redaction exists.
  • DAS answers over JSON-RPC, so a failure arrives as error inside 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.

@agntn/explorers·MIT license· Read-only. Addresses you type go to a public explorer API, never to a wallet.