Documentation Index
Fetch the complete documentation index at: https://helius-auto-translations.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Complete method reference for the Helius Rust SDK. For installation and getting started, see the Rust SDK overview.
DAS API (Digital Asset Standard)
Query NFTs, compressed NFTs, fungible tokens, and other digital assets with a unified interface.
helius.rpc().get_asset(GetAsset { id, .. }) // Single asset by mint
helius.rpc().get_asset_batch(GetAssetBatch { ids, .. }) // Multiple assets
helius.rpc().get_assets_by_owner(GetAssetsByOwner { owner_address, .. }) // Assets by wallet
helius.rpc().get_assets_by_authority(GetAssetsByAuthority { .. }) // Assets by update authority
helius.rpc().get_assets_by_creator(GetAssetsByCreator { .. }) // Assets by creator
helius.rpc().get_assets_by_group(GetAssetsByGroup { .. }) // Assets by collection
helius.rpc().search_assets(SearchAssets { .. }) // Flexible search
helius.rpc().get_asset_proof(GetAssetProof { id }) // Merkle proof (cNFTs)
helius.rpc().get_asset_proof_batch(GetAssetProofBatch { ids }) // Batch Merkle proofs
helius.rpc().get_token_accounts(GetTokenAccounts { .. }) // Token accounts
helius.rpc().get_nft_editions(GetNftEditions { .. }) // Print editions
helius.rpc().get_signatures_for_asset(GetAssetSignatures { id, .. }) // Transaction history for asset
RPC V2 Methods
Enhanced RPC methods with server-side pagination, filtering, and auto-paginating variants.
helius.rpc().get_transactions_for_address(address, options) // Transaction history (pagination_token)
helius.rpc().get_program_accounts_v2(program_id, config) // Program accounts (pagination_key)
helius.rpc().get_all_program_accounts(program_id, config) // Auto-paginating variant
helius.rpc().get_token_accounts_by_owner_v2(owner, filter, config) // Token accounts v2 (pagination_key)
helius.rpc().get_all_token_accounts_by_owner(owner, filter, config) // Auto-paginating variant
helius.rpc().get_priority_fee_estimate(request) // Fee estimates
Smart Transactions and Helius Sender
Build and send optimized transactions with automatic compute unit estimation, priority fees, and multi-region routing.
helius.send_smart_transaction(config) // Auto-optimized send
helius.create_smart_transaction(config) // Build without sending
helius.create_smart_transaction_with_seeds(config) // Thread-safe (seed-based)
helius.send_smart_transaction_with_seeds(config, send_opts, timeout) // Thread-safe send
helius.send_smart_transaction_with_sender(config, sender_opts) // Build + send via Sender
helius.create_smart_transaction_with_tip_for_sender(config, tip) // Build with tip
helius.send_and_confirm_via_sender(tx, last_block, sender_opts) // Send pre-built tx via Sender
helius.determine_tip_lamports(swqos_only) // Calculate tip amount
helius.fetch_tip_floor_75th() // Get Jito tip floor
helius.warm_sender_connection(region) // Warm connection via /ping
helius.get_compute_units(instructions, payer, lookup_tables, signers) // Simulate CU usage
helius.poll_transaction_confirmation(signature) // Poll confirmation status
Enhanced Transactions
Parse raw transactions into human-readable, labeled formats.
helius.parse_transactions(ParseTransactionsRequest { transactions }) // Parse by signatures
helius.parsed_transaction_history(ParsedTransactionHistoryRequest { .. })// Parse by address
Webhooks
Create and manage real-time HTTP POST notifications for on-chain events.
helius.create_webhook(CreateWebhookRequest { .. }) // Create webhook
helius.get_webhook_by_id(webhook_id) // Get webhook config
helius.get_all_webhooks() // List all webhooks
helius.edit_webhook(EditWebhookRequest { .. }) // Update webhook
helius.delete_webhook(webhook_id) // Delete webhook
helius.append_addresses_to_webhook(webhook_id, &addresses) // Add monitored addresses
helius.remove_addresses_from_webhook(webhook_id, &addresses) // Remove monitored addresses
Wallet API
Query wallet balances, transaction history, transfers, and identity information via REST endpoints.
helius.get_wallet_identity(wallet) // Identity info
helius.get_batch_wallet_identity(&addresses) // Batch identity (max 100)
helius.get_wallet_balances(wallet, page, limit, zero_bal, native, nfts) // Token balances
helius.get_wallet_history(wallet, limit, before, after, tx_type, token_accts) // Transaction history
helius.get_wallet_transfers(wallet, limit, cursor) // Transfer history
helius.get_wallet_funding_source(wallet) // Funding source
Staking
Stake SOL to the Helius validator and manage stake accounts.
helius.create_stake_transaction(owner, amount_sol) // Create + delegate stake
helius.create_unstake_transaction(owner, stake_account) // Deactivate stake
helius.create_withdraw_transaction(owner, stake_acct, dest, lamports) // Withdraw
helius.get_stake_instructions(owner, amount_sol) // Get raw instructions + keypair
helius.get_unstake_instruction(owner, stake_account) // Deactivate instruction
helius.get_withdraw_instruction(owner, stake_acct, dest, lamports) // Withdraw instruction
helius.get_withdrawable_amount(stake_account, include_rent_exempt) // Check withdrawable balance
helius.get_stake_accounts(wallet) // List stake accounts
Embedded Solana Client
Access the underlying Solana RPC clients for standard operations.
helius.connection() // Sync SolanaRpcClient (Arc)
helius.async_connection()? // Async SolanaRpcClient (requires new_async)
helius.ws() // Enhanced WebSocket (Option)
// Standard Solana RPC via embedded client
let balance = helius.connection().get_balance(&pubkey)?;
let async_client = helius.async_connection()?;
let balance = async_client.get_balance(&pubkey).await?;