Read the dashboard and detail view
poolwatch has two views: the dashboard, with one row per node, and a detail view for one chain. This page explains every part of both and how to move between them.
How poolwatch gets its numbers
For each chain, poolwatch runs two loops:
- A stats loop every
stats_interval_secs(default 2 seconds) asks the node for the pool's transaction count and size. The dashboard'sTXSandPOOL SIZEand the charts come from this. - A pool loop every
poll_interval_secs(default 5 seconds) fetches every transaction in the pool. Fee rates, the transaction table, inflow and residency come from this.
Some figures are not provided by nodes, so poolwatch works them out from what it has seen since it started:
- First seen: the time poolwatch first saw a transaction. A transaction's age counts from this moment.
- Inflow: how many new transactions appeared per minute, averaged over the last 1, 5 and 15 minutes.
- Departed: transactions that were in the pool and then left it, because they were mined into a block or dropped.
Because these start from zero each time, they are only meaningful after poolwatch has run for a while. Right after start-up, every transaction already in the pool counts as just arrived.
The dashboard
Press d to open it from anywhere. The chains table has one row per [[chain]] block, in the order of the file:
| Column | Meaning |
|---|---|
| ● | Status of the chain; see Status colours. |
CHAIN | The chain's display_name. |
TXS | Transactions in the pool. |
POOL SIZE | Combined size of those transactions, in B, KB, MB or GB. |
IN/MIN | New transactions seen in the last minute. |
MED FEE/B | Median (p50) fee rate, in the chain's fee_rate_unit. |
INSTANT | ⚡ 2 blink or ⚡ 1 flash when instant transactions are in the pool; otherwise —. |
HEIGHT | The node's block height. |
Use ↑ and ↓ (or k and j) to highlight a row, then Enter to open its detail view. 1 to 9 open the first to ninth chain directly.
When the window is tall enough, tx count (last 15m) below the table draws each chain's transaction count over the last 15 minutes.
Status colours
| Dot | Meaning | Bottom line shows |
|---|---|---|
| Green | The node answers normally. | Nothing. |
| Yellow | The node answers, but the full pool could not be fetched, so only the summary updates. | degraded: and the reason. |
| Red | The last request failed. poolwatch retries after 1 s, then 2 s, 4 s and so on, up to once a minute. | last error: with the reason and retry in with a countdown. |
The bottom line describes the highlighted chain on the dashboard, or the open chain in the detail view.
The detail view
Press 1 to 9, Enter or Tab. The top line shows the chain's name and ticker. Tab moves on to the next chain; Esc or d returns to the dashboard.
fee bands
The fee rates of all transactions in the pool, sorted, and read at five percentiles: p10, p25, p50, p75 and p90. For example, p90 is the rate that 90 % of transactions pay or less. Each line shows a bar, the rate, and in brackets how many transactions fall in that band (between the previous percentile and this one).
Rates are in the chain's smallest unit per byte: piconero per byte for Monero, satoshi per virtual byte for Bitcoin. They cannot be compared across chains. The label after the number is the fee_rate_unit from your configuration. no pool data means no full pool has been fetched yet.
pool dynamics
| Line | Meaning |
|---|---|
median residency | How long the middle transaction in the pool has been waiting, counted from first seen. |
departed (mined/dropped) | Transactions that left the pool since poolwatch started. |
double spends seen | For cryptonote chains, when the node reports it: the node's count of double-spend attempts in the pool. |
inflow | New transactions per minute, over 1, 5 and 15 minutes. |
In a tall enough window, three small charts follow: tx count, pool bytes and inflow/min, each covering the last 15 minutes.
The transaction table
The title reads, for example, Monero mempool (37/412): 37 transactions shown out of 412 in the pool.
| Column | Meaning |
|---|---|
TXID | The first 16 characters of the transaction ID, followed by …. |
SIZE | Transaction size. |
FEE/B | Fee rate. |
AGE | Time since poolwatch first saw it, such as 45s or 3m 12s. |
FLAGS | ⚡ for a Blink or Flash transaction; ⚠ when the node flags a possible double spend. |
Move through the table with ↑ and ↓ or k and j.
Sort
| Key | Sorts by |
|---|---|
| f | Fee rate, highest first (the default) |
| s | Size, largest first |
| t | Age, oldest first |
The column being sorted on has a ▼ after its name. Each chain remembers its own sort order.
Filter by transaction ID
Press /. The table title shows
/and a cursor.Type the start of a transaction ID. Only transactions whose ID starts with those characters stay in the table. Case does not matter.
Press Enter to keep the filter. The title shows it in brackets, for example
[/a4f3].
Press Esc while typing to clear the filter. To clear a kept filter, press / and then Esc.
Pause
Press p to stop asking the nodes for new data. PAUSED appears in the top line, and the figures stay as they were. Press p again to resume. This is useful to read the transaction table without it changing under you.
Small terminals
poolwatch is designed for a terminal of at least 80 columns by 24 rows. In smaller windows it hides parts rather than failing: the charts disappear first, then, in a very short window, the transaction table, leaving the pool dynamics figures.