
Bolt Card – Your Offline Lightning⚡Wallet
Do you want to use your Bolt Card, Bolt Ring, or simply an NFC tag as a Lightning wallet? Then you’re in the right place. This tutorial uses LNbits as a backend server wallet.
You need to follow five basic steps:
1. Set up an LNbits wallet and enable the “Bolt Cards” extension
2. Read the Bolt Card UID and link it to your LNbits wallet
3. Create a Bolt Card link in LNbits
4. Write the link to the Bolt Card using the Bolt Card app
5. Fund your wallet and get started
The technology and process involve some pitfalls, but with this tutorial, you’ll be well equipped to overcome them.
1. Basics of the Bolt Card
The foundation is always an NFC tag – a small, passive memory chip with an antenna that enables near-field communication (NFC). It can store information and send it to NFC-capable devices like smartphones or tablets when they are nearby. Don’t confuse it with RFID tags (Radio Frequency Identification). RFID has a greater range and is often used for applications like inventory and logistics, while NFC has a much shorter range and is mainly used for transferring small amounts of data, such as contactless payments or information exchange between devices.
NFC tags come in many forms – as stickers, round chips (e.g., wristbands), Bolt Cards (credit-card format), Bolt Rings, and more. For simplicity, I’ll refer to all of them as “Bolt Card” in this tutorial. The instructions apply to all formats. The only important factor is the type of NFC tag, as there are differences in memory size, read speed, security features, compatibility, and cost. Commonly used are Type 2 tags such as the NTAG213/215/216 – popular for advertising, business cards, logistics, etc. They can store data or “internet links” like URLs, for example to provide a payment or withdrawal link – but they offer no security features to prevent misuse.
To make multiple use more difficult, there are Type 4 NFC tags. The NTAG 424 DNA by NXP is a Type 4 NFC Forum chip with a particularly high level of security – ideal for product authentication, brand protection, IoT scenarios, and more. It is certified for specific hardware and software, supports AES-128 encryption, and features Secure Unique NFC (SUN) and Secure Dynamic Messaging (SDM): It generates a unique, encrypted NDEF message token with every scan and enables secure data transmission and restricted access to sensitive areas.
2. Requirements
The NFC chip / the NFC card
For the Bolt Card, you must use NFC chips of type NTAG 424 DNA. Other types like NTAG 213, 215, or 216 do not offer AES-128 encryption and cannot generate a SUN (Secure Unique NFC) message. The NTAG 424 DNA ensures that money can only be withdrawn once per scan.
Required app to write the Bolt Card
– Android: Bolt Card NFC Card Creator
– Apple: Boltcard NFC Programmer
The funding source / the wallet
In this tutorial, we use an LNbits wallet. For testing or small amounts, you can use the demo server at demo.lnbits.com. As the name suggests: it’s a demo server that can be taken offline at any time. If that happens, you’ll lose any funds still on it. So only use it for small amounts and short-term. Ideally, ask around to see if someone you know runs a public LNbits server you can use. The server must be reachable from the clearnet (public internet). LNbits on Umbrel or Raspiblitz without external access is unfortunately not sufficient.
Option: Additional tool to read card data or write basic NTAGs
– Android / Apple: NFC Tools
3. A Step-by-Step Guide
This guide will walk you through the setup of your Bolt Card step by step.
1. Create an account
Go to demo.lnbits.com and create a wallet.
2. Activate the “Bolt Cards” extension
In LNbits: Menu > Extensions > Bolt Cards and set it to ENABLE.
3. Create a new card
Menu > Extensions > Bolt Cards, select Cards + and enter the following details:
– Wallet
– Max Transaction
– Daily Limit
– Card Name
Note: Please do not change the “advanced options”!
Tip: Do not set the “Max Transaction” limit too high. If no invoice is specified, the maximum amount (Max Transaction) is used by default.
4. Scan the Bolt Card
Click on the NFC 🌀 icon and hold the Bolt Card to your phone.
The Card UID field will be filled in automatically.
Note: Reading the UID directly with LNbits only works in Chromium-based browsers such as Chrome, Edge, Opera, or Brave. Firefox and Safari do not work. NFC functionality is generally blocked in browsers on Apple devices. In that case, you’ll need to read the UID using the Bolt Card App (→ Read NFC) or NFC Tools and manually enter it into LNbits.
5. Create the card
Click CREATE CARD to create the card entry.
6. Generate the link
Go to Menu > Extensions > Bolt Cards and select the QR code icon under “Cards.”
Click CREATE LINK to generate the link and copy it to your clipboard.
7. Open the Bolt Cards app
Open the Bolt Cards app and select PASTE AUTH URL. Paste the copied link and click CONTINUE.
8. Write the card
Under “Check URLs and Keys,” click WRITE CARD NOW and hold the Bolt Card to your phone again.
9. Test it
Once you see a confirmation that the chip has been written successfully, you can fund the LNbits wallet with some sats and test the card, for example with WoS. 🎉
Create a small test invoice for e.g. 10 sats and hold the card to your phone. If NFC is enabled, WoS should detect the card and deduct the amount automatically.
5. Backup and Erase Card Data
A programmed Bolt Card cannot simply be overwritten. To erase it, you’ll need a special WIPE DATA JSON string, which you later insert into the Bolt Card app to unlock the card again. It’s important to back up this string in case you lose access to the LNbits wallet. So be sure to save it securely!
Steps to back up the JSON string:
1. Log in to your LNbits wallet.
2. Go to Menu > Extensions > Bolt Cards and click the QR code icon under “Cards.” Then click WIPE.
3. Important: There are two buttons: “WIPE DATA” and “DELETE CARD.” Only click WIPE DATA to copy the JSON string. The “DELETE CARD” button removes the card from LNbits – which you don’t want.
4. Secure the JSON string properly. It serves as a backup to reset the card later if needed.
Only delete the LNbits wallet or the card in LNbits once you’re absolutely sure that the card has been released and the data on it has been erased.
Here are some example images showing how to erase card data and unlock the card again.
6. Additional Notes
– Hold the NFC chip to your phone for at least 5 seconds to ensure all data is written correctly.
– Make sure your phone is sufficiently charged – or even better: use a power bank. Low battery voltage can cause read/write errors.
– The Bolt Card app automatically tests the card right after writing. If everything works correctly, you’ll see green checkmarks everywhere. A common error is: “Bolt call test: Error: Network request failed”. This can have several causes:

– No internet connection in the Bolt Card app
– The LNbits server is not accessible from the internet
→ LNbits servers on a local network (e.g., Umbrel or Raspiblitz) unfortunately do not work.
– If the card is written successfully but the test transaction with WoS fails, please check the following:
– Is the LNbits wallet funded?
– Did you select the correct wallet for the card (if you have multiple wallets)?
– Is your LNbits server reachable from the clearnet?
– As mentioned before: Apple devices cannot read the UID (Unique Identification Number) directly in the browser. Use the Read function in the Bolt Card app or the NFC Tools app. If that also doesn’t work, make sure NFC is actually enabled. And if it still fails, ask someone else to scan the UID and send it to you.
– The UID is a 14-digit hexadecimal number. In some apps, it’s also called the “serial number” and shown as seven pairs of hex values separated by colons (e.g., 04:AB:1F…). To use the UID in LNbits, you must first remove the colons.
– If you’re looking for more info on Bolt Cards and different setups, check out plebtag.com.
– The official website with lots of information about the Bolt Card can be found at: boltcard.org
7. Summary: Bolt Card
Wallet of Satoshi (WoS) reads Bolt Cards quite reliably. Other wallets like Blink also work, but you need to manually activate NFC. Phoenix didn’t work for me, probably because GrapheneOS has several NFC-capable wallets installed and doesn’t handle the selection correctly. With some wallets like BitBanana, withdrawing via invoice doesn’t work, but you can edit the max amount. Zeus doesn’t even show up in the selection and doesn’t respond when I try to create an invoice. This is likely due to my GrapheneOS setup – but as you can see: Bolt Cards do work, even if not everything is 100% compatible.

Made with love 🧡 Since 908422 / 908591