https://github.com/axelhamburch/tagid_extension
https://github.com/axelhamburch/tagid_extension
Last synced: 13 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/axelhamburch/tagid_extension
- Owner: AxelHamburch
- License: mit
- Created: 2026-06-21T17:21:17.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2026-06-23T13:07:58.000Z (about 1 month ago)
- Last Synced: 2026-06-23T15:11:04.207Z (about 1 month ago)
- Language: Python
- Size: 2.44 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# TagID Extension - [LNbits](https://github.com/lnbits/lnbits) extension
> **Forked from [lnbits/boltcards](https://github.com/lnbits/boltcards)**
> Extended with PIN limit protection and failed-payment daily-limit fix.
Self custody NFC Bolt Cards with one-time LNURLw links — now with optional PIN verification and accurate daily spend tracking.
Check out [lnbits.com](https://lnbits.com) & join the Telegram support group [Makerbits](https://t.me/makerbits)
`Original authors: dni, prusnak, talvasconcelos, arbadacarbaYK, gorrdy, arcbtc` / `TagID extension: AxelHamburch`
Extension manifest source for LNbits: [https://raw.githubusercontent.com/AxelHamburch/tagid_extension/main/manifest.json](https://raw.githubusercontent.com/AxelHamburch/tagid_extension/main/manifest.json)
---
## Added Features
### PIN Limit (optional per-card PIN protection)
- Set a **PIN threshold (sat)**: any withdrawal at or above this amount requires the card holder to enter a 4-digit PIN.
- The PIN is stored as a salted PBKDF2-SHA256 hash — never in plaintext.
- After **3 wrong PIN attempts** across taps the card is automatically **disabled** and must be re-enabled by the wallet owner.
- Attempt counter resets when the card is re-enabled or when a correct PIN is entered.
### Failed-Payment Daily Limit Fix
- Limit checks (tx limit & daily limit) now happen **before** the hit is marked as spent, so a rejected payment does not consume the daily budget.
- When a payment fails after the invoice was accepted, the hit amount is zeroed so it does not count towards the daily limit.