spirekeeper/description.md
Padreug 4ac640a499
Some checks failed
ci.yml / docs: update functional identifier refs to spirekeeper (push) Failing after 0s
docs: update functional identifier refs to spirekeeper
Runbook SQL (spirekeeper.dca_*), ext URL paths, code-location paths,
and the DB-schema name in docs/CLAUDE/README move to the new identity.
Rewrites the placeholder description.md with a real one. Historical
aiolabs/satmachineadmin#N issue/repo links stay pointing at the
original repo.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-13 22:31:21 +02:00

1.1 KiB

spirekeeper is the operator-side administration extension for bitSpire — it manages one or more bitSpire ATMs and runs the Dollar Cost Averaging (DCA) distribution that pays registered clients out of their confirmed deposit balances.

It listens for settlement events published by each ATM over Nostr (kind-21000, NIP-44 v2 encrypted), pays the resulting invoices through LNbits, and splits the proceeds across the principal, operator-fee, and commission legs according to the per-machine and super-config fee settings.

  • ATM fleet management — register and configure each bitSpire by its machine npub; publish fee config and cassette state over Nostr.
  • DCA distribution — proportional ("flow") allocation across clients based on their remaining deposit balances, with a full per-leg audit trail.
  • Operator administration — deposit confirmation workflow, client balance tracking, settlement history with drill-down, and CSV export for accounting.

Requires LNbits superuser access for administration. The Lightning ATM side is served by the bitSpire device; this extension is the back office.