KQ-655 · MEMPOOL/QUEUE

Mempool Queue

The waiting room, ordered by what each transaction pays. Rows sort by fee and carry layout on glide, so a reorder is the list rearranging itself and every row travels to its new place; an arrival drops in from a step above on snap and a mined transaction leaves on the exit ease. Your row is washed, ringed, and named in words, and bumping its fee climbs it past the cut line that marks the next block, flashing a wash keyed to the new rank so it fires once per climb and never on a slide backwards. The bump button sits in the tab order and says what fee it would offer.

KQ-655 · MEMPOOL/QUEUE
Basin pending queue5 waiting
  1. Position 1 of 5, bsn1qmqrtv…1313, 27.4 gu, in the next block.
  2. Position 2 of 5, bsn1qqrtvw…1626, 23.9 gu, in the next block.
  3. Position 3 of 5, bsn1qrtvwx…1939, 20.3 gu, in the next block.
  4. Position 4 of 5, bsn1q8f4…hd21c, 12.0 gu, waiting. Your transaction.
  5. Position 5 of 5, bsn1qkmqrt…1000, 9.0 gu, waiting.
Your transaction is number 4 of 5, 1 place short of the next block.

Yours #4 of 5 · 1 short · fee 12.0 gu

Install

One command — the source lands in your repo. Or copy it from the Code tab.

$ pnpm dlx shadcn@latest add @kinetiq/mempool-queue

Props

entries
MempoolEntry[]
default
Pending transactions in any order; the queue sorts them by fee.
blockSlots
number
default 3
Rows that make the next block; the cut line sits under them.
capacity
number
default 7
Rows drawn; the rest are counted in the footer.
step
number
default 2
Added to your fee by one press of the bump button.
unit
string
default "gu"
Fee unit printed after every figure.
format
(value: number) => string
default Intl.NumberFormat, 1 decimal
Formats every fee on the list.
onBump
(id: string, nextFee: number) => void
default
Fires from the press; re-sort by writing entries.
bumpLabel
string
default "Bump"
Copy on the bump button.
label
string
default "Pending queue"
Names the list for assistive technology.
emptyLabel
string
default "Nothing waiting."
Shown when the queue is empty.