Solaris AISolaris AI FlowDocs
Node ReferenceData

Helius

On-chain asset data, transactions, balances, and DAS API via Helius.

View as Markdown

Helius provides deep Solana on-chain data through the Digital Asset Standard (DAS) API and enhanced RPC methods. The Helius node covers asset lookups, token accounts, transaction parsing, and priority fee estimation.

Prerequisites

Operations

OperationDescriptionKey inputs
getAssetGet asset details by IDmintAddress
getAssetsByOwnerGet all assets owned by a walletaddress
getAssetsByGroupGet assets by group (e.g., collection)groupKey, groupValue
searchAssetsSearch assets with filtersaddress, tokenType
getTokenAccountsGet token accounts for a walletaddress
getTokenLargestAccountsGet top-20 holders of a mint, aggregated by owner wallet (with raw token-account rows alongside). Subject to Helius's 5M-account cap - works for memecoins, not USDC/wSOL.mintAddress
getBalanceGet SOL balanceaddress
getAccountInfoGet raw account dataaddress
getSignaturesForAddressGet transaction signaturesaddress
getBlockGet block data by slotslot
getTokenAccountBalanceGet token account balanceaddress
getFungibleTokensGet fungible token holdingsaddress
getAssetBatchGet multiple assets at oncemintAddress (comma-separated)
getAssetProofGet Merkle proof for compressed NFTmintAddress
getTransactionHistoryGet parsed transaction historyaddress
parseTransactionsParse raw transaction signaturestransactionSignatures
getPriorityFeeEstimateGet priority fee estimateaccountKeys

Configuration

FieldTypeRequiredDescription
mintAddressstringVariesAsset mint address, comma-separated list, or JSON array for batch lookups
addressstringVariesWallet or account address
groupKeystringFor getAssetsByGroupGroup key (e.g., collection)
groupValuestringFor getAssetsByGroupGroup value (collection address)
slotnumberFor getBlockSolana slot number
transactionSignaturesstringFor parseTransactionsComma-separated signatures or JSON array
accountKeysstringNoOptional comma-separated account keys for priority fee estimates
tokenTypestringNoSearch filter: all, fungible, nonFungible, regularNft, or compressedNft
limitnumberNoResults limit for list operations

Output

Most operations return the standard envelope:

{
  "success": true,
  "operation": "getAsset",
  "data": { /* raw Helius response */ }
}

Operations that echo the input identifier add it at the top level (address, mintAddress, slot). Reference fields downstream with the response name (default heliusResponse), for example {heliusResponse.data.id} or {heliusResponse.data.value} for getBalance.

getTokenLargestAccounts is the one exception - it returns aggregated holders and the raw tokenAccounts rows alongside, not under .data:

{
  "success": true,
  "operation": "getTokenLargestAccounts",
  "mint": "DezX...",
  "holders": [{ "owner": "Wallet1...", "amount": "1000000" }],
  "tokenAccounts": [{ "address": "Account1...", "amount": "1000000" }]
}

Common use cases

  • Track NFT collection holdings across wallets
  • Parse and analyze historical transactions
  • Estimate priority fees for time-sensitive workflows

Next steps

  • Birdeye - token price analytics
  • Pyth - oracle price feeds

On this page