Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
On this website you can learn how to:
Secure your bitcoins [in progress]
[in progress]
The content is written and maintained by Alex Pecorilla ( / ).
For in-person workshops checkout .
Setup your own Bitcoin node on a raspberry pi the easy way by leveraging Umbrel, a home server OS. This tutorial will also cover the installation of an Electrum server to easily connect your wallets.
This tutorial is ideal for beginners with basic or limited technical skills.
Download and flash Umbrel OS on the micro SD
Download either umbrelos-pi4.img.zip or umbrelos-pi5.img.zip depending on your pi model.
Once it's downloaded, unzip it and find the .img file.
Connect the micro SD to your computer via the adapter. Next, find your micro SD block device name:
We assume it's /dev/sda
for this tutorial but make sure to replace by yours.
If the micro SD was automatically mounted, ensure you unmount it along with any potentially mounted partitions. For example:
Now we can flash the .img into the micro SD:
Wait for the prompt to return, this can take a while. Once finished you can safely eject the micro SD.
Download Page ⇒
Windows & MacOS users can use instead and follow .
Get started with mining Bitcoin
You can learn how to mine bitcoin remotely using managed solution or how to mine at home using open source miners.
In this section we learn how to setup our own bitcoin node with different methods.
We will cover two methods of setting up your own bitcoin node:
Mine Bitcoin remotely with no hardware setup or maintenance, using managed solutions.
With remote mining you can get into Bitcoin mining without worrying about hardware installation and maintenance.
For short term ROI, you're better of buying Bitcoin directly. Long term, I believe it has 2 benefits:
Diversification: In terms of energy flow, I like the idea of a small continuous amount of Bitcoin flowing into my wallet. I believe in redundancy and I don't want 100% of my Bitcoin sitting in cold storage.
Acquisition: Getting your hands on new Bitcoins could become much harder as countries fomo into it. The available supply of BTC on exchanges is continuously decreasing:
Below are the most important costs to consider before you start mining Bitcoin remotely:
Hardware cost (A single miner costs thousand of dollars)
Energy cost (expressed in dollar per kilowatt-hour, or in short $/kWh)
Management fee (mining farms can charge you an extra fee for hardware maintenance)
When buying a new Bitcoin miner, there are 2 important things you must consider.
The computational power of a Bitcoin miner is measured by its hasharate. The hashrate indicates how many hashes per second the miner can compute.
In 2025, the hashrate is commonly expressed in terahashes per second (TH/s).
For example, the Antminer S21 Pro has a hashrate of 234 TH/s.
The efficiency of a miner is measured by how much energy the miner needs to consume to compute 1 terahash (TH). It's usually expressed in joules per terahash (J/TH) or watt per terahash (W/TH).
Example, the S21 Pro has a hashrate of 234 TH/s and a power of 3510 W
The S21 Pro has an efficiency of 15J/TH which is Tier 1 (excellent).
You need to find the best combination of hashrate and efficiency for your budget.
This is a more complex topic for which I will make a dedicated section. Roughly speaking, 3 key factors will impact your day to day profitability:
Fluctuations in the price of Bitcoin
Fluctuations in your electricity bill
Flucutations in the mining difficulty
Miners must also consider halvings, which occur approximately every four years and reduce the block reward by half.
To start mining Bitcoin remotely you need to find a farm where you can buy or rent Bitcoin miners. You must also make sure that they offer managed services (miners setup & maintenance).
So far I found one reliable farm but I will update this page when I find more.
Cheap cost per kWh (as I write this, $0.0608/kWh)
Recent hardware
Quick onboarding (same-day)
Almost all cryptos are accepted for payment
New farm locations opening in Ethiopia and USA
No management fee
Awesome team and fast support
You can buy partial miners (e.g. 1/10 of an Antminer T21)
You can resell your hardware instantly (at a discount) or on their marketplace
Miners are more expensive (to cover for the lifetime warranty, automatic failover & 0 mngmt fees)
They only mine on F2Pool and the minimum payout is 0.005 BTC
You have a claim to the miner but do not own it physically (it cannot be shipped to you)
Location (Russian laws & regulations can be unstable and change quickly)
Create an account
Fund your account with crypto or fiat
Go to the store
Buy a full or partial miner
Wait a few hours for your miner to go live
Cyberian charges daily for the electricity (called the hosting fee). Make sure you keep enough cash in your balance to avoid interruptions.
Once your miner is live, you're able to see your performance metrics:
More metrics are also available on your Cyberian Dashboard, such as the hashrate report, Bitcoin earnings and pool payout schedule. You will also find your invoices for the electricity (hosting fee) with a daily breakdown in your profile's settings.
In your profile's personal data, make sure to add your Bitcoin wallet address for the payouts.
is a german company with mining farms located in Siberia (Russia).
(you don't pay for hardware repair or replacement)
(you keep earning during repairs/replacements)
If you keep more than 500 euros in your balance, you get .
Cyberian has a great for support and updates.
This page recaps the necessary hardware to setup your node with Umbrel.
This is the hardware I use in this tutorial.
Raspberry Pi 4 or 5, with 8GB of RAM
2TB external SSD with USB connectivity
32GB micro SD card
micro SD adapter
RJ 45 cable
You'll find that on Amazon or anywhere else.
Eventually you can also buy a protective case for the pi.
In this section we explore different miners you can run at home:
Assemble the node's hardware
Insert the microSD card into the Raspberry Pi.
Connect the SSD to the Raspberry Pi via a USB 3.0 port.
Use an RJ45 cable to connect the Raspberry Pi to your modem/router.
Plug in the Raspberry Pi’s power supply.
Once the Pi boots, wait for 10 minutes for Umbrel OS to install.
Make sure you got everything from the . Then assemble it as follow:
Bitaxe miners are quiet, cool, low-power, and fully open-source Bitcoin miners that you can run at home.
Bitaxe is a Bitcoin miner based on an open-source design and a modern mining ASIC, offering efficiency and customization for users.
The open-source nature allows users to inspect, modify, and enhance the hardware and software to optimize performance based on specific needs or mining environments. Bitaxe is ideal for miners looking for greater control over their operations while contributing to the decentralization of the Bitcoin network.
To me, this project is all green lights. Both the hardware and firmware are open source. You can run them at home, they won't take much space, won't consume much power and won't make much noise.
There are several Bitaxe models:
1 x BM1370
~ 1.2 TH/s
Antminer S21 Pro
1 x BM1368
~ 700 GH/s
Antminer S21
1 x BM1366
~ 500 GH/s
Antminer S19XP
1 x BM1397
~ 300 GH/s
Antminer S17
6 x BM1368
~ 4.2 TH/s
Antminer S21
6 x BM1366
~ 3 TH/s
Antminer S19XP
Remember: Bitaxe miners are 100% open source. Performances should remain consistent regardless of the vendor, though slight variations in assembly and design may occur.
You are also free to purchase all the parts and assemble your miner yourself.
Once you've received or assembled your Bitaxe, you can set it up and start mining.
Bitaxe is under active development, with new features and bug fixes frequently released. In addition to your model, you must also note your version/revision number to ensure you flash the correct firmware in the next steps.
In my case, my model is a Bitaxe Supra. My version/revision number is 401. It can be found on the Bitaxe's motheboard:
This file contains:
The bitaxe firmware
The web UI (to interact with and configure your Bitaxe)
A default configuration
Plug your Bitaxe into power, then connect it to your PC using a USB to USB-C cable.
To identify your Bitaxe's device file, run the following command in your terminal:
You should see an output similar to this:
In my case, this indicates that the miner's device file is /dev/ttyACM0
Create a working directory for the flashing process:
Next we install the flashing software bitaxetool in a python virtual environment:
We must also create a config file. Here is a template:
Let's look into it. First we got the network config for the Bitaxe to connect automatically to your wifi:
hostname
wifissid
wifipass
Then we got the hardware config:
devicemodel
: Model name
boardversion
: Revision number
asicfrequency
: ASIC cycles per second, expressed in MHz
asicvoltage
: ASIC voltage, expressed in mV
stratumurl
stratumport
stratumuser
stratumpass
fbstratumurl
fbstratumport
fbstratumuser
fbstratumpass
Make sure to replace replace-this-with-your-btc-address.my_super_bitaxe
with your Bitcoin address and a custom name for your miner to help you identify it.
Save the config file in the same working directory. We're now ready to flash with this command:
Once its done, unplug the miner from your PC and from power.
Once your miner is up and running, you can manage it via its web UI at http://your-miner-IP
.
Alternatively, you can manually update the esp-miner.bin
(the firmware) and the ww-bin
(the frontend) from the Bitaxe web UI. Just go to Settings and scroll to the very bottom.
If you choose this update method, do it from a modern up to date web browser and disable your ad blocker. I've had issues with Firefox failing during the update process so now I do it from Chrome.
On my 401s I constantly have issues with the display screens not working so I've stopped using them.
The official website explains it perfectly ⇒
Initiatives like this help the fight against . You can make a donation .
Some of those models are still under development and receiving revisions. You can find more details on .
You can find a list of vendors .
Go to and download the latest stable firmware for your model and version. In my case:
asicmodel
: The ASIC chip model used by the miner (as detailed )
Finally we got the pools config. This is for the main pool (here we're using ):
And this is for the fallback pool in case the main fails (here we're using ):
You can also monitor your miners and hashrate on by entering the BTC address used in the stratumuser
.
When a new firmware version is released, you can flash it .
This link is a good base ⇒
Set up the Bitcoin node with Bitcoin Core
Launch it and go through the setup by simply leaving all settings at default. Your node will now connect to remote peers to download and verify the entire blockchain.
Even with a great internet connection this will take from a few days to a week to complete. If you sync through Tor-only this can take even longer.
Go to the Umbrel app store and download the application. This app is pretty much a wrapper of Bitcoin Core with a very nice GUI ().
Connect your wallet to your Bitcoin node via the Electrum server.
Open Electrs, you'll notice 2 methods of connecting: Local Network and Tor.
If you connect via local network, your wallet won’t be able to reach your node when you leave home. In addition SSL is disabled by default which means your data transits in clear on your local network.
Unless you do the above by yourself, I would recommend to avoid connecting this way. Your ISP and unexpected network guests could spy on you.
Tor is excellent for security and privacy. Additionally, by having our Electrum server behind an onion hidden service, we benefit from:
End-to-end encryption
Client and server anonymization
Make sure your wallet supports connecting to Electrum servers. Most wallets do.
The setup is simple: just add your Electrum server's address and port to your wallet's node settings.
If you're connecting through Tor, you'll likely need to configure your wallet to use Tor's proxy (127.0.0.1:9050) and ensure Tor is running (unless your wallet comes bundled with it).
Make your own Bitcoin node from source.
In this tutorial we setup our own Bitcoin node from scratch! What is covered:
Buy, assemble and flash a Raspberry Pi
Download, compile and install the original Bitcoin Core software
Download, compile and install a modern Electrum server in Rust
Connect your wallets to your node through the Tor protocol
We assume the reader might not own their internet connection or have access to the router's admin interface. Therefore, this guide defaults to a Tor-only setup.
This tutorial is for advanced users with good technical skills. For a more guided setup, follow the instead.
This tutorial would have not been possible without and .
Login into the Raspberry Pi via SSH.
You can now connect to your Pi via SSH using the private key you created previously:
or
Update the system and install dependencies before compiling Bitcoin Core.
In the SSH configuration, make sure password login is disabled (PasswordAuthentication no
)
We need to setup a firewall to restrict inbound traffic for our node.
First we install it:
By default ufw
denies all incoming traffic so we must allow inbound SSH traffic before we enable it:
Now we can enable the firewall:
We can check the status with those commands:
Install Tor:
Add your user:
You must log out and log back in for the changes to take effect.
Finally we can enable Tor at boot and start it:
The following packages will be needed to install Bitcoin Core:
Install curl:
Download the setup script:
Run it:
Install node:
Verify the installation:
And also update npm to the latest version:
Install dependencies:
Install Rust and Cargo:
This is only required if you plan to install (not covered in this tutorial yet).
The steps to install Node.js 23 are detailed .
This page recaps the necessary hardware to run your node from sources.
This is the hardware I use in this tutorial:
Raspberry Pi 5 or Raspberry Pi 4 with 8GB of RAM
2TB portable SSD
You'll find that on Amazon or anywhere else.
Unlike the , this approach does not require a separate microSD card for the OS. Everything will be flashed and installed directly onto the portable SSD.
Configure and secure Umbrel OS
Follow the setup steps. Leave all settings at default and choose a strong password.
For now, the node is only accessible on your home network. To enable remote access from anywhere, we'll use Tor. In Umbrel OS, go to Settings and turn on Remote Tor access.
A .onion address is generated and you can now access your node from anywhere through Tor.
From a computer on the same network, access your node at .
Use on PC or on mobile to connect to your node remotely.
Compile and install Bitcoin Core from sources to spawn your node.
First clone the repo:
Next we need to make sure to use the latest stable version. To find it, list the latest tags:
The output will look like this:
From top (newest) to bottom (oldest) tags, the latest stable version is v28.1.
Now we can switch to that version:
Create the configuration files:
Use one of the following two commands to apply the configuration files:
Now compile the source code:
On Raspberry Pi the compilation process can take a while to complete.
Finally, copy the binaries to system-wide directories:
Alternatively you can find the latest stable version and take note of the tag .
Setup an Electrum server with Electrs.
An Electrum server is an indexing layer built on top of Bitcoin Core. It enables more efficient blockchain queries and easier wallet connections. Most wallets support Electrum connections.
The electrum server syncs and re-indexes the blockchain to enable more efficient queries. This process will take approximately 12 hours to complete.
Download on the Umbrel app store. It's a Rust implementation of Electrum server (). Then launch it, leave all settings at default and let it synchronize with the blockchain.
Configure Bitcoin Core before starting your node.
Let's create the needed files:
Add the following configuration to the bitcoin.conf
file we just created:
Bitcoin provides a control interface via a JSON-RPC API on port 8332. We enabled with server=1
in the bitcoin.conf
file.
Other locally running applications that need to interact with Bitcoin's JSON-RPC API will use the cookie located at ~/.bitcoin/.cookie
.
If you ever want to connect remotely running applications to the JSON-RPC API, you can create a set of credentials with the command below:
Verify the output and append the mentioned line to the bottom of the bitcoin.conf
file.
Save the plain text password securely because the line added to bitcoin.conf
contains only the hash.
Bitcoin Core and other applications you install will heavily rely on Tor to connect with peers and ensure our wallets remain accessible. Proper configuration is critical.
Edit the configuration file:
Add the following lines:
SocksPort ⇒ SOCKS proxy, routes traffic through the Tor network
ControlPort ⇒ Allows other programs to interact with the Tor daemon
CookieAuthentication ⇒ Requires local cookie authentication to access the control port (/run/tor/control.authcookie)
CookieAuthFileGroupReadable ⇒ Only users in the debian-tor
group can authenticate with the cookie
Exposing the RPC API is not recommended unless you fully understand the risks. It is a prime target for brute-force attacks and zero-day exploits. If compromised, an attacker could steal your Bitcoin.
Bitcoin Core's main program is bitcoind
(short for Bitcoin Daemon). We will configure it as a systemd
service to simplify management:
Add the following:
In User=, replace your_user with your own user
Do the same in the path of PIDFile=
Verify the path of ExecStart= by running the command which bitcoind
Finally, reload systemd:
With the configuration below the node will be accessible only on localhost and on the Tor network. Refer to if you wish to also expose your node via IPv4/IPv6.
As configured, the JSON-RPC API is accessible only from localhost. To expose this port externally, you can , but as mentioned above it's not recommended.
Manage the process of updating all programs to their latest stable version
Update Bitcoin Core to newer version
Verify what your current version is:
Fetch the latest changes:
Show the latest version tags:
Switch to the latest stable version:
Clear files and outputs from the previous build process:
Now create the configuration files:
Use one of the following two commands to apply the configuration files:
Compile the source code:
Once the compilation is done, we stop Electrs and bitcoind:
Now we can update the binaries system-wide:
Finally we can restart bitcoind and Electrs:
You can check your new version with:
For more details and context on this process, refer to the .
Assemble the node's hardware.
Plug the portable SSD into a USB 3.0 port on the Pi, then connect the Pi to power. Wait approximately 10 minutes for the installation process and the first boot to complete.
Install an Electrum server with Electrs.
An Electrum server is an indexing layer built on top of Bitcoin Core. It enables more efficient blockchain queries and easier wallet connections. Most wallets support Electrum.
Clone the repo:
Source the env file to update your $PATH with Rust & Cargo binaries:
Now you can compile electrs:
Once it's done, test the compilation was successful by checking the version:
Create the configuration file:
Add the following configuration to the config.toml file we just created:
daemon_rpc_addr: Bitcoin JSON-RPC API address and port.
daemon_p2p_addr: Bitcoin P2P address and port.
db_dir: Directory where Electrs store its index file.
electrum_rpc_addr: Electrum will run only on localhost, on port 50001.
We need to create a Tor hidden service to connect our wallets to the Electrum server. Edit the conf file:
Add the following:
Save it then restart tor:
Create the service file:
Add the following:
Line 6,7,8 and 9 make sure to replace your_user by your own user. Finally, reload systemd:
Configure Electrs to automatically start at boot:
Start Electrs:
Electrum will now connect to Bitcoin Core to build its own index of the blockchain.
Indexing is in progress. This operation may take 12 to 24 hours to complete.
Check the logs and monitor progress in real time:
Download and flash Raspberry Pi OS onto the SSD.
Now connect the portable SSD to your computer and launch the Pi Imager. First you have to select 3 options:
Raspberry Pi Device: Choose Raspberry Pi 5 or Raspberry Pi 4 depending on the model you use.
Operating System: Choose Raspberry Pi OS Lite (64-bit)
Storage: Select your portable SSD
Click on Next. The imager will now show a popup to ask you if you want to apply customisation settings. Click on Edit Settings.
Set a hostname for the Pi on your local network
Set a username and password (this will create a new user)
Add your Wi-fi settings (that way the Pi will auto-connect at boot)
Set locale settings by inputing your timezone and keyboard layout
In the previous tab, we ensured the creation of a new user and automatic Wi-Fi connection at boot. In this tab, we will set up an SSH service to enable direct login to the Pi after it boots.
We won't use password authentication. It's better practice and safer to use public-key authentication.
First we must generate a pair of keys for our user:
Next we must copy the content of the public key (*.pub
). Now in the Services tab of the Pi Imager:
Click Enable SSH
Choose Allow public-key authentication only
Copy the content of the public key
Click Save, we are now done with the customizations.
Back on the customisation popup, click Yes to apply the settings you just inputed. Click Yes again to flash the OS onto the SSD.
Once it's done, safely eject the SSD from your computer.
Make sure to safely backup your user credentials and your SSH private key.
Install BTC RPC Explorer on your Bitcoin node.
BTC RPC Explorer is essentially a web GUI for the Bitcoin JSON-RPC API. It is highly useful for node monitoring, management, and as a blockchain explorer.
Clone the repo:
Show the latest version tags:
Switch to the latest stable version:
Update local dependencies within version ranges specified in package.json:
Install:
If you get an error try updating the following packages to their latest version instead:
Then try installing again:
Create the config file:
Add the following:
BTCEXP_HOST: Replace with your Pi's local IP to make BTC RPC Explorer accessible on your LAN.
BTCEXP_BITCOIND_COOKIE: Update the path with your own user.
BTCEXP_BASIC_AUTH_PASSWORD: Set a strong password to secure access.
Create the service file:
Add the following:
Line 6,8 and 9 make sure to replace your_user by your own user.
Finally, reload systemd:
Configure BTC-RPC Explorer to automatically start at boot:
Start BTC-RPC Explorer:
Access BTC RPC Explorer at http://NODE-IP:3002 from any device on your LAN.
You'll see a popup asking you to enter a username and password. The username doesn't matter; just use the password you set up in the .env
file.
The page /node-details
of BTC RPC Explorer throws an error. I suck at coding but I was able to fix it with ChatGPT.
Edit the below file:
At line 29, replace this block of code:
By this one:
(Basically I removed getblockchaininfo.warnings.trim().length > 0 in both if statements).
This is a dirty DIY way of patching it, but it does the job lol.
Make sure to restart BTC RPC Explorer and the page should be working:
I personally wouldn't risk exposing this app to the outside world. It has some bugs, is vulnerable to brute-force attacks, and stores the password in a plain text .env
file.
If I ever do, I will ensure that the features enabling manual Bitcoin JSON-RPC API calls are disabled.
Setup your own lightning node (bitcoin layer 2) for instant and low cost transactions.
The way you have set up your Bitcoin node will determine which Lightning node tutorial you should follow from the options below.
We will cover two methods of setting up your own Lightning node:
The advanced way from sources
Connect wallets to your node
To connect your wallet to your node, simply add your Electrum server's address and port in the wallet's network settings.
You will find your Electrum server's address here:
The port is 50001 unless you specified otherwise.
When connecting your wallet, ensure Tor is enabled (or bundled with your wallet); otherwise, you won’t be able to access your node.
Update the operating system
Do this frequently:
Start your Bitcoin node and download the blockchain.
Configure bitcoind to automatically start at boot:
Start bitcoind:
Sync is in progress. This operation may take 3 to 7 days to complete.
To view the Bitcoin Core logs:
You can monitor progress live by checking for height= or progress=.
bitcoin-cli is part of Bitcoin Core and serves as a command-line interface for the JSON-RPC API.
You can use it to monitor the status of your node and the synchronization progress:
You can use it to check your integration with the P2P network:
If you're using Tor, note in the output how Bitcoin used the Tor control port to create an onion service for P2P on port 8333.
Get the current block height:
Get some blockchain statstics:
Once fully synchronized, edit Bitcoin's config file located at ~/.bitcoin/bitcoin.conf
, and lower the value of dbcache
to 500. Then, restart Bitcoin:
We're going to use , a Rust implementation of an Electrum Server.
Make sure .
Make sure your node is before proceeding.
With the configuration below the Electrum server will be accessible only on localhost and on the Tor network. Refer to if you wish to also expose your node via IPv4/IPv6.
cookie_file: Electrs can use the Bitcoin JSON-RPC API with .
To flash the OS onto the portable SSD we will use a software utility called Raspberry Pi Imager. You can download it .
Before you start make sure .
Before setting up Lightning, you need a fully synchronized Bitcoin node up and running. You can find tutorials on how to do this .
Your node will now connect to other peers to download and verify the entire blockchain, block by block, starting from .
You can find the full list of bitcoin-cli commands .
Enable sending payments on the Lightning network.
To be able to send payments we must open channels on other nodes and lock BTC.
This is called outbound liquidity, where locked funds are on our side of the channel.
Open the Lightning Node
application. Scroll down and click on + OPEN CHANNEL
.
Copy the Node ID (format pubkey@ip:port
)
Example, Kraken’s Node ID ⇒ 02f1a8c87607f415c8f22c00593002775941dea48869ce23096af27b0cfdcc0b69@52.13.118.208:9735
Select the amount of BTC to be locked in the channel
Adjust the transaction fee (the higher the fee, the faster the channel opens)
It can take anywhere from ~30 minutes to 24 hours.
Setup the Lightning node with LND.
Update BTC RPC Explorer to newer versions.
Fetch the latest changes:
Show the latest version tags:
Switch to the latest stable version:
Stop BTC RPC Explorer:
Update the dependencies:
Install the updates:
Once it's done, you can start BTC RPC Explorer again:
Find a well-connect node
In our example, Kraken has a 0.01 BTC
minimum requirement ()
Go to the Umbrel app store and install the application. This app is a GUI for the Lightning Network Daemon (), the most common Bitcoin Lightning implementation. Launch the application and leave all settings at default.
For more details and context on this process, refer to the .
Make sure to first before proceeding.
Create your own Bitcoin wallet to store, send and receive bitcoins.
Bitcoin wallets:
Jade Hardware Wallet
Setup a bitcoin hardware wallet with Blockstream's Jade.
The Jade is 100% open source:
Setup your own Lightnin node on a raspberry pi the easy way by leveraging Umbrel, a home server OS. This tutorial will also cover the setup of a mobile
Unlock your Jade to send and receive bitcoins.
Anytime you want to use your wallet to send or receive bitcoins you will have to unlock it.
Press and hold the power button to turn on the Jade. Then select Unlock Jade:
Now on your phone, open Green Wallet and proceed with Bluetooth pairing using the same method as for the wallet creation in the previous step. Once the pairing is complete, you will be prompted to enter your PIN on your Jade.
Once you've entered your PIN, your Jade is unlocked and you can use the mobile app to send and receive BTC.
Jade wallet is designed and manufactured by , a company founded by Adam Back.
This tutorial assumes you have already set up a fully synchronized Bitcoin node with Umbrel OS with .
List of the necessary hardware.
For this tutorial, we use the original Jade wallet, which can be purchased from Blockstream's shop:
The Jade comes with a battery. To charge it, you can use the provided USB to USB-C cable.
Make sure your Jade has enough battery before starting this tutorial.
Alternatively, for more security, you can purchase a or use a to avoid connecting to a PC.
Create a new Bitcoin wallet with the Jade
Press and hold the power button to start the Jade.
Select Setup Jade > Continue > Begin Setup:
Next select Create Wallet > Continue:
Write down your seed words on a piece of paper or another non-digital medium.
The seed consists of 12 words, with 4 displayed per screen. Use the arrows at the top to navigate between pages and verify that you've correctly written down your seed. Your seed phrase is your only way to recover your funds if you lose your Jade.
Next, go through the seed verification process by confirming a few words:
Next we must select the connection mode we will use with the Jade. Choose Bluetooth:
Notice your device name, here Jade 800E88:
Now open Green wallet on your phone, accept the terms & conditions and choose On Hardware Wallet:
Next click on Connect Jade:
Select your Jade wallet:
If prompted, allow bluetooth pairing and take note of the code:
On your Jade, make sure that the code is the same and confirm authentication:
Your Jade and Green wallet should now be paired. Hit Continue:
You should now see a screen prompting you to create a PIN. Hit Continue:
On your Jade you should now be prompted to choose a PIN:
Take note of this PIN and store it safely, you won't be able to unlock your Jade without it.
Back on Green wallet, you should see a success screen. Now Hit Create Account:
Choose Standard:
Your Bitcoin wallet is now ready to send and receive BTC!
Add bitcoin liquidity to the Lightning node
We must fund our node to enable sending and receiving payments on the Lightning Network.
Open the Lightning Node
application. Under the Bitcoin Wallet
section, click Deposit
. You can now send some bitcoin to the address displayed.
Enable receiving payments on the Lightning network.
For us to receive payments, other nodes must open channels to our node & lock BTC.
This is inbound liquidity, where locked funds are on the other side of the channel.
Select how much BTC you want LNBig to lock into the channel
The larger the channel, the higher the opening fee LNBig charges
Make a pre-payment via lightning
Enter your Lightning Node ID, which is exposed via Tor. To find it:
In Umbrel open the Lightning Node
application
Click the three dots on the top right side
Click on Node ID
Select Network > Tor
and copy the the Node ID
LNBig will now attempt to connect to your node; this may take some time
As soon as you’re done, you’ll see the incoming channel from LNBig opening.
Receive bitcoin on your Jade wallet.
To receive Bitcoin, simply hit Receive at the bottom right of Green wallet:
Share the QR code or Bitcoin address to the sender. Once the funds are sent, the incoming transaction should show up pretty quickly in Green wallet.
Lock your Jade when you're done using it
When you're done you should always lock your Jade.
Simply select Session > Logout:
Now you can power off the Jade by pressing and holding the power button.
Unless you know other node operators who are willing to open a channel to your node, we’ll use a service called . With LNBig, you can have inbound channels opened to your node in exchange for a small fee.
To purchase am inbound channel, go to and follow the steps below:
LNBig may ask you to to their node first before they open one on yours. This is usually required only the first time.
Restore your Jade wallet from your seed phrase
If you had to factory reset your Jade or lost it and had to buy a new one, you can easily restore your wallet as long as you have your seed phrase.
Select Setup Jade > Continue > Begin Setup > Restore Wallet > 12 Words and enter each of your seed works in the correct order.
Then you'll be prompted to pair the Jade with green wallet and setup a new PIN the same way than during the wallet creation step.
Send bitcoin from your Jade wallet.
To send Bitcoin, hit Send at the bottom left of Green wallet:
Next, enter the recipient's bitcoin address or scan the QR code and hit Next:
Select the amount of bitcoin you wish to send and hit Next:
Slide to send the transaction:
You are now informed that you must confirm the transaction on your Jade:
Review the transaction:
And finally, confirm it:
On Green wallet you should see a confirmation that the transaction has been sent:
Get your own bitcoin lightning wallet on your IPhone or Android.
On your phone, install the following apps:
Now back to your phone:
Start Orbot, wait to be successfully connected to Tor
Open BlueWallet, click on the 3 dots at the top right
Got to Network > Lightning Settings
Scan the LNDHub QR code
and save the changes
You can now create as many Lightning wallets as you’d like from your phone.
Back on the BlueWallet home screen, click the "+" in the top right.
To create a new wallet, select the Lightning
option
You should see your Node URI pre-completed
Click Create
and you’re done, you have a new mobile lightning wallet!
You can share the LNDHub QR code
with friends and family and they will also be able to create wallets and manage their funds.
Friends and family must be aware that the owner of the Lightning node controls the funds in every wallet. If they close all channels, the funds will be withdrawn on-chain to the owner’s wallet.
Congratulations, you are done!
You are now able to send & receive Bitcoin on the Lightning network through invoices.
Make sure to securely backup the wallet connection string.
: An open source mobile wallet that connects to your Lightning node
: Used to connect to Tor (for BlueWallet to reach your node)
On the Umbrel App Store, download the application. Open the application and at the top right, notice the LNDHub QR code
.
Lightning wallets can be recovered with their BlueWallet connection string.
Funds in channels can be recovered using Static Channel Backups (SCBs)
/umbrel/lnd/data/chain/bitcoin/mainnet/channel.backup
Funds can be recovered using the .
Connect your Jade to the Green Wallet mobile application via Bluetooth.
The Jade supports multiple modes:
Bluetooth: Wireless connection to the Green Wallet app on your phone.
USB: Direct connection to your computer using a cable.
QR: Air-gapped communication by scanning QR codes.
Micro SD: Air-gapped communication by using microSD cards.
For this tutorial we will focus on the Bluetooth mode because it is the easiest to setup. Future tutorials will cover the other modes.
Before you get started with the tutorial, install Green wallet on your phone:
This wallet is fully open source:
Update Node.js to newer versions
Update Node.js to the latest version:
Update npm to the latest version globally:
Update all globally installed npm packages:
Update Electrs to newer versions
Fetch the latest changes:
Show the latest version tags:
Switch to the latest stable version:
Stop Electrs:
Source the env file and compile
Start electrs:
Verify the new version:
For more details and context on this process, refer to the .
Make sure to first before proceeding.
Update Rust to newer versions
If Rust and Cargo binaries aren't in your path, run:
Update Rust and Cargo:
Update rustup:
Check the new versions:
Now, update all packages installed with Cargo by running:
If you encounter an error because cargo-update
is not installed, install it using: