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.