Defensive: route inbound payment by ATM-npub fallback when wallet lookup fails
Defensive: route inbound payment by ATM-npub fallback when wallet lookup fails
➡️ Migrated to aiolabs/spirekeeper#17 (aiolabs/spirekeeper#17).
migrate pyproject.toml from [tool.poetry] to PEP 621 [project] for uv
➡️ Migrated to aiolabs/spirekeeper#16 (aiolabs/spirekeeper#16).
opt-in public publishing — fleet metadata + heartbeats (post-launch)
migrate pyproject.toml from [tool.poetry] to PEP 621 [project] for uv
Surface fallback-split rows more prominently in the settlements UI (0.00 EUR is alarming)
opt-in public publishing — fleet metadata + heartbeats (post-launch)
➡️ Migrated to aiolabs/spirekeeper#15 (aiolabs/spirekeeper#15).
Surface fallback-split rows more prominently in the settlements UI (0.00 EUR is alarming)
➡️ Migrated to aiolabs/spirekeeper#14 (aiolabs/spirekeeper#14).
Ingest kind:30078 ATM status beacons into dca_telemetry
S7 — Consume LNbits sidecar bunker (was: NIP-46 bunker option)
Ingest kind:30078 ATM status beacons into dca_telemetry
➡️ Migrated to aiolabs/spirekeeper#13 (aiolabs/spirekeeper#13).
S7 — Consume LNbits sidecar bunker (was: NIP-46 bunker option)
➡️ Migrated to aiolabs/spirekeeper#12 (aiolabs/spirekeeper#12).
S3 — NIP-57-style signed settlement receipts (preimage attestation)
➡️ Migrated to aiolabs/spirekeeper#11 (aiolabs/spirekeeper#11).
S3 — NIP-57-style signed settlement receipts (preimage attestation)
S2 — NIP-46 connection-token enforcement on kind-21000 RPC (was: NIP-26 delegation)
➡️ Migrated to aiolabs/spirekeeper#10 (aiolabs/spirekeeper#10).
S2 — NIP-46 connection-token enforcement on kind-21000 RPC (was: NIP-26 delegation)
S0 — Seed-URL pairing + ATM keypair separation
➡️ Migrated to aiolabs/spirekeeper#9 (aiolabs/spirekeeper#9).
Epic: Security pathway hardening (S0–S7)
S0 — Seed-URL pairing + ATM keypair separation
v2 follow-up: review-cycle findings (HIGH/MEDIUM/NITS) after fix bundle 1