A higher CU price is only half of the fee equation. The other half is the compute-unit limit you request.
At the network level:
total network fee = base fee + priority feebase fee = signatures ร 5,000 lamportspriority fee = ceil(CU price ร CU limit / 1,000,000)For a transaction with 1 signature, a CU price of 50,000 micro-lamports, and a requested CU limit of 300,000 CUs, the priority fee is:
ceil(50,000 ร 300,000 / 1,000,000) = 15,000 lamportsAfter adding the 5,000 lamport base fee, the total network fee is 20,000 lamports, or 0.00002 SOL.
The practical detail is that priority fee is calculated from the requested CU limit, not from the compute the transaction actually consumes.
If simulation shows that a transaction usually needs around 180,000 CUs, but the app requests 600,000 by default, the priority fee is still charged on 600,000. Some margin is useful, but an oversized margin becomes repeated overpayment.
For production flows, fee tuning usually means simulating first, setting a realistic CU limit with a controlled buffer, estimating CU price dynamically, and checking whether higher spend actually improves landing.
๐ Read our full guide
=========================
HighTower | Supanode | Get a 48h trial
Please open Telegram to view this post
VIEW IN TELEGRAM
Do not start with the homepage number
The better starting point is where your workload runs and what it actually does.
A provider page can show regions, uptime, and latency, but your backend may be in a different cloud region, using heavier RPC methods, sending bursts of requests, tracking confirmations, or relying on fresh streams.
A useful benchmark should come from the same VPS or cloud region as the app, use the methods the app actually calls, and measure p50, p95, and p99 under realistic concurrency.
It should also include burst traffic, because 429s, stream delay, slot freshness, and confirmation tracking issues often stay invisible in clean single-request tests.
โก๏ธ Read the full guide
=========================
HighTower | Supanode | Get a 48h trial
Please open Telegram to view this post
VIEW IN TELEGRAM
Choosing between managed and self-hosted Solana RPC?
Compare the trade-offs before you commit.
๐ Read the guide
=========================
HighTower | Supanode | Get a 48h trial
Compare the trade-offs before you commit.
๐ Read the guide
=========================
HighTower | Supanode | Get a 48h trial
Yellowstone gRPC changes the Solana data path from periodic requests to a live stream of filtered updates.
But the stream is only the ingestion layer. Teams still need to handle recovery after disconnects, ordering, deduplication, and storage.
โก๏ธ Full trade-off breakdown
=========================
HighTower | Supanode | Get a 48h trial
But the stream is only the ingestion layer. Teams still need to handle recovery after disconnects, ordering, deduplication, and storage.
โก๏ธ Full trade-off breakdown
=========================
HighTower | Supanode | Get a 48h trial
150 markets ร 3 feeds (
That's before user-specific streams. The public endpoint has a per-IP cap of 1,000 subscriptions and 10 unique users
๐ Limit math and recovery patterns
=========================
HighTower | Supanode | Get a 24h trial
trades, l2Book, candle) = 450 Hyperliquid WebSocket subscriptionsThat's before user-specific streams. The public endpoint has a per-IP cap of 1,000 subscriptions and 10 unique users
๐ Limit math and recovery patterns
=========================
HighTower | Supanode | Get a 24h trial
A trading system reconstructs and decodes a transaction from raw shreds before execution
It gets the intent early, but still does not know whether it actually succeeded.
So production stacks often split the job:
ShredStream โก๏ธ early detection
gRPC / RPC โก๏ธ execution result, confirmation, reconciliation
๐ Full breakdown
=========================
HighTower | Supanode | Get a 24h trial
It gets the intent early, but still does not know whether it actually succeeded.
So production stacks often split the job:
ShredStream โก๏ธ early detection
gRPC / RPC โก๏ธ execution result, confirmation, reconciliation
๐ Full breakdown
=========================
HighTower | Supanode | Get a 24h trial
HTTP response: 200
RPC response: signature returned
Explorer: no transaction found
All three can describe the same Solana submission.
sendTransaction confirms that the RPC accepted the transaction, not that the leader received, scheduled, or included it.The full submission-to-inclusion path
=========================
HighTower | Supanode | Get a 24h trial
Say you need every wallet that bought a token within five minutes of its creation.
Once swaps and creation events are decoded into tables, the core of the query becomes a join and a time condition:
RPC gives you the source transactions. Indexing turns them into tables.
Before this query works, the records still have to be backfilled, decoded, normalized, stored, and reprocessed when decoder logic changes.
Thatโs the indexing work.
๐ From raw Solana transactions to queryable data
=========================
HighTower | Supanode | Get a 24h trial
Once swaps and creation events are decoded into tables, the core of the query becomes a join and a time condition:
s.block_time BETWEEN c.block_time
AND c.block_time + INTERVAL 5 MINUTE
RPC gives you the source transactions. Indexing turns them into tables.
Before this query works, the records still have to be backfilled, decoded, normalized, stored, and reprocessed when decoder logic changes.
Thatโs the indexing work.
๐ From raw Solana transactions to queryable data
=========================
HighTower | Supanode | Get a 24h trial
logsSubscribe has a scaling detail that matters for wallet monitoring: its mentions filter accepts exactly one Pubkey. Add a second, and the request fails with Invalid params.So an address list becomes many subscriptions, not one wider subscription.
Monitoring 2,000 wallets means 2,000 subscription IDs to track, recreate after every reconnect, and check for missed events.
WebSocket may still carry the data just fine. But at that point, the simple option has become a subscription management system.
๐ Full breakdown of Solana streaming options
=========================
HighTower | Supanode | Get a 24h trial
Follow a Pump.fun token from its first trade to its first PumpSwap swap.
That path runs across two Solana programs: Pump handles the bonding curve and migration, while PumpSwap takes over once the pool goes live.
Curve completion and migration are separate events. The curve can be full before the PumpSwap pool even exists.
๐ Hereโs how to follow every stage using WebSocket or Yellowstone gRPC
=========================
HighTower | Supanode | Get a 24h trial
That path runs across two Solana programs: Pump handles the bonding curve and migration, while PumpSwap takes over once the pool goes live.
Curve completion and migration are separate events. The curve can be full before the PumpSwap pool even exists.
๐ Hereโs how to follow every stage using WebSocket or Yellowstone gRPC
=========================
HighTower | Supanode | Get a 24h trial
Jupiter
/build returns instruction groups instead of a finished transaction. That gives you room for custom logic, while the rest of the transaction lifecycle moves into your application.From there:
โ add custom instructions without breaking the routeโs account-state assumptions
โ simulate the complete transaction and set its CU limit from measured usage
โ check onchain status before retrying the same signed transaction or rebuilding and re-signing
๐ The full TypeScript flow, including tx.jup.ag vs your own RPC
=========================
HighTower | Supanode | Get a 24h trial
Please open Telegram to view this post
VIEW IN TELEGRAM
On Hyperliquid, a cancel can be processed before a buy that reached the network first
When both enter the same consensus batch, HyperCore processes cancels before actions containing GTC or IOC orders.
A resting sell order can therefore be removed before your buy is matched. Your buy executes against the updated book, potentially filling only part of the requested size. For an IOC order, the unfilled remainder is canceled.
๐ The full walkthrough of HyperCoreโs batch ordering and matching, with a worked order-book example
=========================
HighTower | Supanode | Get a 24h trial
When both enter the same consensus batch, HyperCore processes cancels before actions containing GTC or IOC orders.
A resting sell order can therefore be removed before your buy is matched. Your buy executes against the updated book, potentially filling only part of the requested size. For an IOC order, the unfilled remainder is canceled.
๐ The full walkthrough of HyperCoreโs batch ordering and matching, with a worked order-book example
=========================
HighTower | Supanode | Get a 24h trial