Reconcile mature Decred treasury funds with block-level movements

A treasury dashboard can confuse funds entering the accounting pipeline with funds already mature. The node exposes both a mature balance and optional movements for one block.

Request a verbose block snapshot

Use an actual active-chain block hash in BLOCK. The balance field is denominated in atoms. Requesting verbose mode also returns the signed update amounts associated with that block.

dcrctl gettreasurybalance "$BLOCK" true | jq '{hash,height,balance,updates}'

Keep maturity and movements distinct

A negative update represents a treasury spend. An incoming amount may have a maturity schedule before it affects the mature total. Avoid assuming that the difference between two adjoining mature balances equals the raw sum of newly observed movements. Preserve the per-block hash when rebuilding an audit trail.

github.com gettreasurybalance