Install
openclaw skills install @1beekeeper/zk-bankir-monitorMonitor a ZK-Bankir sovereign banking treasury via API — health checks, balance queries, decision ledger tracking, and hash-chain verification.
openclaw skills install @1beekeeper/zk-bankir-monitorMonitor a ZK-Bankir sovereign personal banking treasury via its REST API. This skill provides health monitoring, multi-asset balance queries (BTC/PUSD/Kraken), decision ledger tracking, and hash-chain integrity verification — all through secure read-only API endpoints. No private keys are ever exposed.
http://localhost:3000)curl and jq available on PATHVerify the ZK-Bankir server is alive:
curl -s http://ZK_BANKIR_HOST/health -H "Accept: application/json" | jq .
Expected response:
{"status": "ok", "timestamp": "2026-07-04T12:00:00Z"}
Use ZK_BANKIR_HOST as the base URL. Default to localhost:3000 unless the user has configured a different host.
Get all treasury balances across BTC, PUSD, and Kraken:
curl -s http://ZK_BANKIR_HOST/api/v1/treasury/balances -H "Accept: application/json" | jq .
Also available as individual endpoints:
GET /api/v1/treasury/btcGET /api/v1/treasury/pusdGET /api/v1/treasury/krakenList all decisions (append-only, hash-chained audit trail):
curl -s http://ZK_BANKIR_HOST/api/v1/decisions -H "Accept: application/json" | jq .
Get a single decision by ID:
curl -s http://ZK_BANKIR_HOST/api/v1/decisions/ID -H "Accept: application/json" | jq .
Create a new decision (policy-gated: auto <$1k, approval $1k-$10k, deny >$10k):
curl -s -X POST http://ZK_BANKIR_HOST/api/v1/decisions \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"decision":{"action":"BUY_BTC","amount":500}}' | jq .
Verify the integrity of the Decision Ledger's SHA-256 hash chain:
cd /path/to/zk-bankir && bin/rails runner "puts Decision.verify_chain ? 'VERIFIED: Chain intact' : 'BROKEN: Chain corrupted'"
This must be run on the ZK-Bankir server itself (not via HTTP API — it's a local-only integrity check per Doctrine §6).
View pending human-approval decisions:
curl -s http://ZK_BANKIR_HOST/admin/decisions -H "Accept: application/json" | jq .
When the user asks for a treasury summary, run all three in sequence:
Format the output as a clean summary table showing asset, balance, and status.
When the user asks about recent decisions:
/api/v1/decisionsstatus: "pending" that require human approvalstatus: "denied" decisions (Policy Engine blocked)The premium tier adds monitoring thresholds:
| Symptom | Likely Cause | Fix |
|---|---|---|
| 404 on treasury endpoints | Server not running | bundle exec rails server -p 3000 -d |
| Empty treasury balances | No treasuries seeded | bin/rails db:seed |
| Hash chain broken | DB corruption | Run Decision.verify_chain to identify the break, restore from backup |
| PUSD balance shows 0 | Beam CLI not installed or wallet not created | Check beam wallets list |
Set these environment variables or pass them in each command:
| Variable | Default | Description |
|---|---|---|
ZK_BANKIR_HOST | http://localhost:3000 | Base URL of the ZK-Bankir Rails server |
ZK_BANKIR_PATH | ~/App/domains/finance/zk-bankir | Path to the ZK-Bankir project (for hash-chain verification) |
This skill is read-only and complies with De 10 Gebuden:
Free (Basic):
Premium ($19):