Install
openclaw skills install @1beekeeper/btc-sovereign-trackerTrack BTC self-custody metrics — COLDCARD Q vault health, mempool fee estimation, UTXO management, and on-chain verification. Designed for sovereign holders who verify, don't trust.
openclaw skills install @1beekeeper/btc-sovereign-trackerTrack and verify your Bitcoin self-custody setup. This skill monitors COLDCARD Q vault health, fetches real-time mempool fees, inspects UTXOs, and verifies on-chain balances — all read-only. Never exposes private keys. Trust, but verify (Gebud 3).
curl and jq on PATHGet current fee rates from mempool.space:
curl -s https://mempool.space/api/v1/fees/recommended | jq .
Response: {"fastestFee": N, "halfHourFee": N, "hourFee": N, "economyFee": N, "minimumFee": N}
Fees are in sat/vB. Multiply by tx size (~140 vB for segwit) to get total fee in sats.
Check balance and UTXOs for a watch-only address:
ADDR="bc1q..." # watch-only address
curl -s "https://mempool.space/api/address/$ADDR" | jq '{balance: .chain_stats.funded_txo_sum - .chain_stats.spent_txo_sum, tx_count: .chain_stats.tx_count}'
curl -s "https://membpool.space/api/address/$ADDR/utxo" | jq '.[] | {txid: .txid, vout: .vout, value: .value}'
Privacy note: mempool.space is a third party. For maximum sovereignty, run your own mempool instance or use a local Bitcoin Core node with bitcoin-cli.
curl -s https://mempool.space/api/blocks/tip/height
Compare against your local node to verify chain sync.
curl -s "https://api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=usd,eur,sek" | jq .
Query the ZK-Bankir treasury endpoint for BTC vault status:
ZK_HOST="${ZK_BANKIR_HOST:-http://localhost:3000}"
curl -s "$ZK_HOST/api/v1/treasury/btc" -H "Accept: application/json" | jq .
Expected:
{
"asset": "BTC",
"balance": "1.5",
"address": "bc1q...",
"vault": "COLDCARD Q",
"type": "watch-only"
}
List all UTXOs and identify dust or consolidation candidates:
ADDR="bc1q..."
curl -s "https://mempool.space/api/address/$ADDR/utxo" | jq '
[.[] | {
txid: .txid[0:8],
vout: .vout,
value_sats: .value,
value_btc: (.value / 100000000),
dust: (.value < 10000)
}] | sort_by(.value_sats)
'
UTXOs below 10,000 sats (~$10) are dust and may cost more to spend than they're worth during high-fee periods.
When the user asks for a BTC sovereignty status:
When the user considers a transaction:
When the user asks about UTXO health:
This skill follows ZK-Bankir's Gebuden:
| Variable | Default | Description |
|---|---|---|
BTC_WATCH_ADDRESS | (required) | Bitcoin address to monitor (watch-only) |
MEMPOOL_API | https://mempool.space/api | Mempool API base (change for self-hosted) |
COINGECKO_API | https://api.coingecko.com/api/v3 | Price API base |
ZK_BANKIR_HOST | http://localhost:3000 | ZK-Bankir server for vault status |
| Symptom | Likely Cause | Fix |
|---|---|---|
| Empty UTXO list | Address has no transactions | Verify address on a block explorer |
| Rate limit on mempool.space | Too many requests | Use local mempool instance or add delays |
| ZK-Bankir BTC endpoint 404 | Server not running | Start ZK-Bankir or use direct mempool queries |
| Dust warnings on all UTXOs | High fee environment | Wait for lower fees before consolidating |