Skip to content

Phase 5 — UTXO Set Inspector (roadmap complete) - #8

Merged
devdavidejesus merged 1 commit into
mainfrom
phase-5-utxo
Jul 26, 2026
Merged

Phase 5 — UTXO Set Inspector (roadmap complete)#8
devdavidejesus merged 1 commit into
mainfrom
phase-5-utxo

Conversation

@devdavidejesus

Copy link
Copy Markdown
Owner

Closes #4

What's new

  • btc-toolkit utxo <address> —> every unspent output sorted by value (largest first), with txid:vout, BTC/sats value, confirmation status, and block height
  • --confirmed-only filter, --limit display cap (default 15), --json always returns the full set
  • Reuses the shared address validation and integer-only sats→BTC conversion

Verification

  • 8 new tests (62 total), all API calls mocked — suite runs offline
  • Verified against live mainnet: 104-UTXO address, aggregates consistent with mempool.space
  • Known limitation discovered in production and documented: addresses with tens of thousands of UTXOs (genesis, ~76k) exceed the upstream electrs limit (HTTP 400)

Milestone

This closes the original 5-phase roadmap.

- New 'btc-toolkit utxo <address>' subcommand: lists unspent outputs
  sorted by value, with confirmation status and block height
- --confirmed-only filter, --limit display cap, --json full output
- Reuses balance.py address validation and sats->BTC conversion
- 8 new tests (62 total), all API calls mocked
- Verified against live mainnet (104-UTXO address, totals consistent)
- Documented known limitation: huge-UTXO addresses (e.g. genesis)
  exceed upstream electrs limit (HTTP 400)
- Version bump to 0.5.0 — all 5 roadmap phases complete
@devdavidejesus
devdavidejesus merged commit 6f8f4ab into main Jul 26, 2026
4 checks passed
@devdavidejesus
devdavidejesus deleted the phase-5-utxo branch July 26, 2026 17:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Phase 5 — UTXO Set Inspector

1 participant