Five Tips to Help Land Your Solana Transactions

Explore essential strategies like priority fee management, compute unit optimization, and Jito bundle integration to ensure your Solana transactions land quickly and efficiently.

Five Tips to Help Land Your Solana Transactions

Solana Summer is showing no signs of slowing down. The Solana network has seen a significant boost in consumer activity over the past several months, with daily active addresses hitting an all-time high (over 6M Daily Active Addresses):

This has largely been fueled by rapid DeFi growth, with the top 6 Solana programs over the past 30 days representing different DeFi protocols: Jupiter, Raydium, Orca, Meteora, Lifinity, Phoenix, OpenBook, and Pump.fun:

Source: Solscan, October 22, 2024

In fact, recently Solana has topped the charts for the most DeFi volume of any chain, with over $13Bn in activity over the past 7-days:

Source: Defi Llama, October 22, 2024

If we step back, we can see that over 1 billion non-vote transactions have landed on Solana’s mainnet monthly for the past 4 months:

Source: Artemis, October 21, 2024

This surge in activity has put increased competition for block space, which is driving escalating pressure on priority fees (which reached their highest levels since peaking in March earlier this year).

Source: Artemis, October 21, 2024

With this surge in network activity, it is critical that you have the tools to make sure your transactions are optimized so that they are more likely to be included in a block.

Increase Your Transaction Success Rate with These 5 Tips

Though external factors may impact transaction success rates, there are several strategies you can take to increase the likelihood of your transaction being included in a block and confirmed by the network quickly. These include:

  1. Priority Fee Management: Utilize priority fees and dynamically update them using the Priority Fee API to increase transaction priority during network congestion
  2. Compute Unit Optimization: Use transaction simulation to accurately set compute unit limits and prevent transactions from being dropped
  3. Transaction Setup: Structure transactions with priority fees and compute unit settings correctly to improve success rates
  4. Jito Bundle Integration: Use Jito Bundles to effectively manage complex, multi-transaction operations
  5. Landing Confirmation: Confirm successful transaction processing and implement failover logic to handle failed transactions

Priority Fee Management

During periods of high network activity, one of the most effective ways to improve your transaction's chances of quick confirmation is by using priority fees. These fees allow you to bid for higher priority in the block leader's queue, increasing the likelihood of your transaction being included in a block. Though priority fees are technically optional, they are effectively mandatory during times of significant network congestion.

QuickNode provides a robust Priority Fee API to see recent priority fee levels for successful transactions and determine the optimal fee for your transaction. By using the 80th percentile or higher of recent priority fees (corresponding to 'high' or 'extreme' in our API response) during periods of network congestion, you can significantly boost your transaction's chances of success.

For more information on this code, visit our docs.

Compute Unit Optimization

Optimizing compute units (CU) helps prevent transactions from being dropped due to exceeding block limits. Every transaction on Solana uses CU to process. The more complex the transaction, the more compute units it will consume. Because the Solana network limits compute per block, per account, and per transaction, you should always only request the necessary compute units required to perform your operation. You can estimate this by simulating your transaction–just make sure to include a compute unit instruction in your test transaction: 

For more information on this code, visit our docs.

Transaction Setup

Proper transaction assembly can improve the land rate of your transactions. Combine priority fees and compute unit optimization in your transaction assembly:

    1. Create a transaction with your instructions
    2. Fetch and add priority fees
    3. Add a priority fee instruction to the transaction
    4. Simulate the transaction with a compute unit limit instruction
    5. Add a compute unit limit instruction to the transaction with the computed limit from the simulation
    6. Fetch and add a recent blockhash to the transaction
    7. Sign and send the transaction

Check out our sample code for the transaction assembly here. Alternatively, you can let QuickNode handle the complexity for you and use the QuickNode SDK:

For more information on this code, visit our guide.

Jito Bundle Integration

For advanced transaction optimization and bundling, consider using the Lil' JIT Marketplace add-on. This add-on enables the creation of Jito Bundles, allowing for atomic execution of multiple transactions. 

For more information on this code, visit our docs.

Landing Confirmation

To ensure your transaction has landed in a block, you should utilize the getSignatureStatuses RPC method to check the status of your transaction:

For more information on this code, visit our docs.

Create a simple polling function to check on the status of your transaction. If it is not confirmed after 150 slots (about 60 seconds), your blockhash will expire, and you can retry the transaction.

Check out our Transaction Optimization Docs to learn more about employing these strategies.

QuickNode's Ongoing Upgrades: Enhancing Your Transaction Experience

At QuickNode, we're continuously improving our infrastructure to ensure we can handle your transactions efficiently, even as network activity grows. Here are some key upgrades we're implementing:

  • Expanding Global Reach: We are constantly expanding our back-end node footprint and adding new regions and infrastructure providers, ensuring consistent coverage and high performance worldwide.
  • Cutting-Edge Hardware Investment: We're continuously deploying the latest generation of hardware and securing priority access to additional servers, allowing us to stay ahead of growing network demands and maintain industry-leading performance.
  • Proprietary Hyperscaling Solution: Our distributed hyperscaling technology, which goes beyond the base Solana client's capabilities, has been further refined to enhance transaction routing, support new methods, and achieve substantial performance gains.
  • Advanced Tools for Optimal Performance: We've launched our Priority Fee API and Lil’ JIT APIs empowering our customers to achieve the best possible transaction landing rates, especially during periods of network congestion. Explore our full suite of Solana Marketplace add-ons here, featuring the Metis Jupiter APIDigital Asset Standard API, and more.

These enhancements are designed to provide you with the most reliable and efficient transaction processing experience possible.

Conclusion

By staying informed about network conditions, utilizing priority fees effectively, and leveraging QuickNode's robust infrastructure, you can optimize your Solana transactions for success in this rapidly evolving ecosystem.

As we look to the future, it's clear that high-performance blockchain networks like Solana are gaining significant traction. While the technology continues to evolve and face new challenges, the surge in activity we're witnessing signals a growing demand for scalable blockchain solutions.

At QuickNode, we're committed to staying ahead of these trends, ensuring our infrastructure and tools are ready to support developers and projects, regardless of how the blockchain landscape shifts. Regardless of what comes next, our focus remains on providing reliable, efficient, and adaptable services to meet the changing needs of the web3 ecosystem. Not a QuickNode customer yet? Sign up for a free account today!