Estimate Solana priority fees using account keys with the Helius Priority Fee API. Quick fee estimates for pre-transaction analysis and batch operations.
Use this file to discover all available pages before exploring further.
Advanced Method: Get priority fee estimates using account keys for specialized use cases like pre-transaction analysis, batch operations, and account pattern research.
The account keys method provides a simpler alternative to transaction serialization when you need quick fee estimates or want to estimate fees before constructing the complete transaction.
Advanced Use Cases
Pre-transaction analysis
Batch account operations
Market research and patterns
Specialized architectures
Trade-offs
Less accurate than serialized transactions
No instruction-specific analysis
Best for account-level patterns
Recommendation: For most applications, use the serialized transaction method instead. This account keys method is for specialized use cases where you need account-level analysis or pre-transaction planning.
Get fee estimates before constructing complete transactions
Simplified Integration
When your architecture makes transaction serialization difficult
Quick Market Analysis
Analyze fee patterns for specific accounts without building transactions
Multi-account Analysis
Understand fee patterns across multiple accounts independently
Research & Analysis: When studying fee patterns across different accounts and programsBatch Operations: When analyzing fee patterns across many accounts simultaneouslyPre-planning: For cost estimation before building complex transaction workflowsCustom Architectures: When system constraints prevent transaction serialization
High-volume program accounts typically show higher priority fees due to competition.
// Popular program accountsconst programAccounts = [ "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", // Token program "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL", // Associated token program "M2mx93ekt1fmXSVkTrUL9xVFHkmME8HTUi5Cyc5aF7K" // Metaplex program];const programFees = await getPriorityFeeEstimate(connection, programAccounts, "Medium");console.log(`Program account fees: ${programFees} micro-lamports`);
Expected behavior: Higher fees due to high transaction volume and competition.
Active user wallets may have different fee patterns based on their activity.
// Active user walletsconst userWallets = [ "USER_WALLET_1", // Active trader "USER_WALLET_2" // Regular user];const walletFees = await getPriorityFeeEstimate(connection, userWallets, "Medium");console.log(`User wallet fees: ${walletFees} micro-lamports`);
Pro tip: Include both sender and recipient wallets for more accurate estimates.
Specific token accounts can show varying patterns based on token popularity.
// Popular token accountsconst tokenAccounts = [ "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", // USDC mint "So11111111111111111111111111111111111111112", // SOL mint "YOUR_TOKEN_ACCOUNT" // Your specific token account];const tokenFees = await getPriorityFeeEstimate(connection, tokenAccounts, "Medium");
When true (default), slots with no transactions are treated as zero fees rather than excluded. This provides more balanced estimates for accounts with sparse activity.
Include Details
Request detailed information about each account’s fee patterns: