Decoding a swap event
Solana has no EVM-style event log. Reading a swap from pre and post token balances, inner instructions and Anchor event data, in that order of trustworthiness.
Read the noteA live volume view is four jobs pretending to be one: get the transactions, work out what each one moved, add them up over a window, and tell somebody when the total does something unusual. Each job has a failure that looks exactly like the market being quiet, which is why so many home-built panels are confidently wrong.
The notes in this section are written in that order. They assume you already have a transport from the sources section and that you have decided what commitment level you trust, because both of those choices constrain everything downstream.
Turning a transaction stream into a number you would defend: decoding swaps from balance deltas, aggregating windows, alerting on movement and closing the gaps a stream leaves behind.
Solana has no EVM-style event log. Reading a swap from pre and post token balances, inner instructions and Anchor event data, in that order of trustworthiness.
Read the noteIngest, normalise, aggregate, serve. Event-time windows, deduplication keys, route double counting and the watermark that decides when a bucket is closed.
Read the noteA volume alert that fires on every quiet-hour blip teaches you to ignore it. Baselines, robust thresholds, dwell time, hysteresis and per-key suppression.
Read the noteA panel you built yourself is trustworthy in exactly the region you tested it. It will handle the venues you decoded, the token programs you handled and the failure modes you have already seen once. Everything else is a silent zero. That is not an argument against building one; it is an argument for writing down which venues you cover and treating anything outside that list as unknown rather than as absent.