Repository navigation
v2.5.2 — Identity🫆Login: LNURL-auth & NFC tap
What's new since v2.3.0
This release bundles all changes from v2.4.0 through v2.5.2.
LNURL-auth — Identity Login via Lightning Wallet (v2.4.0)
ZapBox can now recognise a known Lightning wallet and trigger a relay — without any payment. The wallet signs a one-time challenge (LNURL-auth / LUD-04); the server verifies the signature and fires the relay.
- New teach mode: 6-tap gesture on the device opens a PIN-gated enrolment screen; the wallet scans a QR code to register its public key
- Up to 3 failed teach-PIN attempts lock the teach access (unlockable in LNbits)
- Teach session auto-expires after 5 minutes
- Each k1 challenge is single-use and valid for ~120 seconds
NFC Identity Login — NTAG 424 DNA / Bolt Ring (v2.5.0)
In addition to wallet login, ZapBox now supports NFC card authentication (Bolt Card, Bolt Ring, or any NTAG 424 DNA card):
- New
/api/v1/nfc/auth/endpoint: verifies tap via tagid_extension, triggers relay WebSocket on a known card - New
/api/v1/nfc/teach/endpoint: enrols a card during teach mode - Management API for enrolled NFC identities (
GET/PUT/DELETE /api/v1/nfc/identities/…) - UI: TagID base URL + invoice key fields and enrolled-cards list in the instance editor
Both methods run in parallel — the LNURL-auth QR is always visible while the NFC reader listens simultaneously.
Instance editor UI redesign (v2.5.0 → v2.5.2)
The Identity Login section was fully restructured for clarity:
- Section is collapsed by default; a single toggle expands all sub-content
- Teach mode toggle and Teach-PIN (6 digits) shown side by side
- LNURL-auth Identities and NFC Identities are clearly separated into named sub-sections
- Section now appears correctly when creating a new ZapBox instance (was hidden during creation)
- Label updated from "NTAG424" to "NFC Tag"
Bug fixes
- bech32 LNURL-auth fix (v2.4.3): wallets received the raw URL instead of the bech32
lnurl1…string — auth flow was not recognised. Fixed:.bech32property is now used correctly. - Migration fix (v2.4.1):
CREATE UNIQUE INDEX zapbox.auth_keyfailed on SQLite (schema-qualified syntax not supported). Replaced with inlineUNIQUEconstraint inCREATE TABLE.
Compatibility
| Component | Required version |
|---|---|
| tagid_extension | v2.1.0+ (for NFC Identity Login) |
Upgrade notes
Migrations run automatically on install. If upgrading from a version before v2.4.1 that left a partial auth_key table, the migration drops and recreates it cleanly.