Engineering notes.
On getting transactions to land.
Long-form engineering writing on getting Solana transactions to land: stake-weighted QoS, priority fees, compute budgets, blockhash expiry, QUIC clients, and program-specific guides for pump.fun, Raydium and Jupiter.
Why your Solana transactions are not landing
A transaction that never lands failed at one of six specific points: blockhash expiry, an underpriced fee, compute budget, RPC forwarding, leader connection limits, or account contention. This walks through each one, how to tell them apart from the outside, and what actually fixes each.
18 minStake-weighted QoS, explained properly
Stake-weighted QoS is how a Solana leader decides whose packets to accept when more arrive than it can process. Connection capacity is allocated in proportion to stake, so a transaction sent through a staked connection competes in a much smaller queue than one sent through a public RPC.
16 minPriority fees on Solana: a practical guide
A Solana priority fee is a per-compute-unit bid that decides where your transaction sits in the leader's scheduling queue. This covers how the fee is actually computed, how to price it from live network data instead of guessing, and the mistakes that make a fee do nothing.
20 min
The blockhash lifecycle, and why it killed your transaction
A Solana blockhash is valid for 150 slots, roughly 60 to 90 seconds, and a transaction referencing an older one is rejected outright. This explains the full lifecycle, why the window is shorter in practice than the arithmetic suggests, and how to structure a sender so it never fights the clock.
15 minCompute units: the limit that silently fails your transaction
Every Solana transaction gets a compute budget, and exceeding it fails the transaction on chain after you have already paid for it. This covers how compute units are metered, how to measure what your instruction actually consumes, and why requesting the maximum is the wrong default.
17 minWriting a Solana QUIC TPU client from scratch
A TPU client authenticates with a self-signed certificate carrying an Ed25519 keypair, negotiates the solana-tpu ALPN, and writes one serialized transaction per unidirectional stream. This builds one in Rust, explains every step of the handshake, and covers the connection management that decides whether it is fast.
24 min
Landing transactions on pump.fun
pump.fun buys compete against every other bot watching the same mint, and the winner is usually decided by who reaches the leader first rather than who paid most. This covers bonding curve mechanics, the compute profile of a buy, slippage under contention, and how to structure a sniper that lands.
21 minLanding Raydium and Jupiter swaps
A swap that arrives late does not just miss, it can execute at a price you would not have accepted. This covers the compute profile of Raydium AMM and CLMM swaps, how Jupiter routing changes the risk, how to set slippage that protects you without causing needless failures, and why address lookup tables matter more than people think.
19 min
Jito bundles versus staked connections
Jito bundles buy atomic, ordered execution and a shot at the top of a block. Staked connections buy fast, reliable delivery to the leader. They solve different problems, they are not mutually exclusive, and picking the wrong one costs you either money or fills.
18 minMeasuring your real landing rate
Landing rate is the share of submitted transactions that reach a finalized block, and almost nobody measures it correctly. This covers how to instrument a sender end to end, which RPC calls give a truthful answer, how to separate delivery failures from on-chain failures, and how to turn the result into a number you can act on.
20 min