Engineering
Design trade-offs and architecture for reading blockchain data in production.
Engineering posts are about building on blockchain data in production: which transport to stream with, how to page through history without tripping range limits, how to size a plan against per-second rate limits, and how to recover when a stream drops. Each post compares behaviour across the networks we serve, works through the arithmetic with published limits, names the cases where the approach is the wrong one, and ends with a dated list of sources. For step-by-step integration, follow the links into the docs; for protocol concepts on their own, see Learn. Docs · Learn
eth_getLogs block range limits on Ethereum, BSC, Base, Polygon, TRON and Robinhood Chain
The block-range ceiling on eth_getLogs is not one number per chain — it can differ between nodes behind the same URL. What the six EVM-style chains we serve document, and a pager that survives all of them.
Sizing an RPC plan from your workload: sustained RPS, burst and heavy-method buckets
A request-per-second plan is sized differently from a credit plan. How to measure a workload, how a token bucket with 2× burst actually behaves, and a worked Solana indexer that lands on a specific tier.
SSE vs WebSocket vs gRPC: choosing a transport for blockchain data
Three ways to receive a push from a blockchain node, compared on what they actually guarantee — direction, framing, auth, resume and filtering — with one real chain for each.
Watching incoming payments on Solana, Ethereum, Stellar and TON: one task, four designs
Detecting a deposit looks like the same feature on every chain. It is four different designs: an account subscription, a log subscription with a blind spot, a stream that only says when to look, and a poll.
Yellowstone gRPC filters in practice, and the same filter set over a WebSocket bridge
A Yellowstone subscription is one request describing everything you want. How its fields combine, what happens when you change it, and how to split a workload across a fixed number of streams.