Assembling a view you would defend

A 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.

source of truth Pre and post balances in tx meta
dedupe key signature plus instruction index
window clock Block time, not wall clock
alert rule Compare to a baseline, not to zero

3 notes in this section

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.

01

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 note
02

Building a live volume view

Ingest, normalise, aggregate, serve. Event-time windows, deduplication keys, route double counting and the watermark that decides when a bucket is closed.

Read the note
03

Alerting without noise

A 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 note

The honest limit of a home-built view

A 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.