~/xroot.dev/research $

Research

What reading the chain directly turns up — protocol economics, wire formats, raw account parsing, and the things the documentation leaves out. Every figure is verified against a primary source.

FEATURED SERIES

Building a Real-Time Solana Data Pipeline

A comprehensive 3-part guide on ingesting, decoding, and analyzing the Solana firehose with zero data loss using Rust, NATS, and ClickHouse.

Filter
32
6 min read

How Many Confirmations Does a Solana Deposit Need?

“Confirmed” means more than two-thirds of stake has voted on your block once; “finalized” means 32 blocks deep — 8 seconds at today’s 250 ms slots. How many confirmations a deposit really needs, what each commitment level measures, the 120-second client deadline, and what Alpenglow replaces it with.

SolanaCommitmentDeposits
Read article
9%
6 min read

How Long to Unstake Solana: The 9% Cooldown Queue Explained

Deactivated stake drains at most 9% of total cluster stake per epoch, shared pro rata, with a one-lamport floor — so a crowded exit slows yours. How long unstaking really takes, the cooldown formula, and why a drain that took six days at launch takes under four now.

SolanaStakingUnstaking
Read article
0
6 min read

When Solana Staking Rewards Arrive, and Why Yours Was Zero

Staking rewards are paid over the first blocks of each epoch, and which block pays your stake account is a hash of its address — computable in advance. The nine reasons the node records instead of a payment, and what a zero reward actually says about your validator.

SolanaStakingRewards
Read article
{}
6 min read

Solana RPC Error Codes Explained: -32001 to -32021

Every custom Solana RPC error from -32001 to -32021: the message the node sends, the data it attaches, and what each asks of your client — including -32012 ScanError, the one code without the server-error prefix, and the codes that are instructions rather than failures.

SolanaRPCDebugging
Read article
Σ
7 min read

Stake-Weighted QoS on Solana, With the Actual Formula

Leaders allocate QUIC streams by sender stake — 128 for the unstaked, scaling to 512, clamped. Stake-weighted QoS with the actual formula: why extra stake stops helping at about 0.38%, the 1/50,000 trapdoor below it, and the override that lands in five seconds.

SolanaQUICNetworking
Read article
r1
6 min read

Passkeys on Solana: Why Half of WebAuthn Signatures Fail

Solana verifies passkey signatures natively through the secp256r1 precompile, but rejects the high-S half of WebAuthn output, caps eight per instruction and charges a base fee for each. The rules from source, and what a WebAuthn wallet must normalise before it signs.

SolanaPasskeysWebAuthn
Read article
?
6 min read

Solana Honeypots That Pass Your Sell Simulation: How

A program can tell a simulated transaction from a real one by reading the SlotHistory sysvar the simulator overrides — so a honeypot can pass your sell simulation and fail the real sell. How the detection works, what static checks still catch, and why only a real sell proves a token can be sold.

SolanaSecurityHoneypots
Read article
Δ
6 min read

The Solana Scam a Wallet Simulator Cannot See: Assign

One System Assign instruction hands your account to another program, the wallet simulator shows no balance change, and afterwards nothing you sign can move the SOL out. How the owner-reassignment scam works, why simulators miss it, and the one-call owner check.

SolanaSecurityWallet Drainers
Read article