Quickly program a blank NFC card (NTAG424DNA) to act as your own personal Boltcard. A contactless / paywave like experience for the Lightning network. Before programming your NFC card you must set up your own boltcard server.
The boltcard can be used with Lightning PoS terminals that have NFC support, or Breez wallet PoS App.
The app is currently Android only.
Since December 2022 it may be possible to add iOS support using the new NXP Mifare TapLinx iOS SDK library as this application is written in React Native.
Find out more at boltcard.org
v0.2.0
Download the compiled APK from the latest release and install on your android phone.
Download from the Google Play store
To wipe a card get the keys into a json in the following format:
{
"version": 1,
"action": "wipe",
"k0": "11111111111111111111111111111111",
"k1": "22222222222222222222222222222222",
"k2": "33333333333333333333333333333333",
"k3": "44444444444444444444444444444444",
"k4": "55555555555555555555555555555555"
}
Go to the advanced > key reset screen and either paste this json from the clipboard or scan a QR code with this JSON encoded in it. Then press "reset card now" and tap and hold your card against the NFC reader.
As of 0.1.4 the app now supports card UID Randomisation (irreversable). If you add the "uid_privacy" field and set its value to "Y" the card will be programmed to have a random UID. Any other value or ommission of this field will leave the card UID as-is. Please note this action is irreversable.
{
"protocol_name": "new_bolt_card_response",
"protocol_version":1,
"card_name": "Spending_Card",
"lnurlw_base": "lnurlw://your.domain.com/ln",
"uid_privacy": "Y",
"k0":"11111111111111111111111111111111",
"k1":"22222222222222222222222222222222",
"k2":"33333333333333333333333333333333",
"k3":"44444444444444444444444444444444",
"k4":"55555555555555555555555555555555"
}
We rely on the Taplinx 2.0 Android library supplied by NXP.
React native libraries are also used to make building the UI easier.
Keep all your keys secret, and be careful when creating your cards that there are no other potential listening devices in range.
Support for iOS devices. Rebuilt the card communication. Uses raw ADPU commands from react native.
Various fixes to attempt to prevent card programming errors
Remove key check code to prevent card programming errors
Added support for random UID to increase privacy. https://github.com/boltcard/bolt-nfc-android-app/issues/25
git rev-parse --short HEAD
\\"}\" > gitinfo.json