Ledger Hardware Wallet
The Namada Ledger app is not yet updated in the Ledger Live catalogue, so the only way to use one in the meantime is with 1) a Ledger Nano device and 2) sideloading as a work-around: Zondax Hub (opens in a new tab) Typically sideloading an unaudited version of the app onto your device is only for testing purposes, but it is effective as a work-around. See the installation instructions below.
Both the Namada Keychain browser extension and the Namada CLI are compatible with the Ledger (opens in a new tab) hardware wallet. This guide will walk you through the process of setting up your Ledger device to work with Namada.
Prerequisites
You will need a Ledger device with the latest firmware installed. You can find instructions on how to update your firmware here (opens in a new tab).
In order to use the Ledger with the web wallet, you will need to install the Namada Keychain Extension. To use the Ledger with the Namada CLI, you will need to install the latest version of Namada.
Installing the Namada Ledger app
The Namada Ledger app is still a work in progress. Use at your own risk. At this preliminary stage of development, it is highly recommended that you use a device that does not contain any existing funds.
When installing a Ledger app from any source besides the official app store, you will be shown a warning to that effect and prompted for confirmation. Please make sure you understand the risks before proceeding. Before installing any app from a non-official source, be sure that you trust the authors and the instructions being given. As always, do your own research.
Connect your device to your computer
The remaining steps assume you have already completed the initial Ledger setup and your device is ready to use.
Uninstall any existing Namada apps on your device
Visit the Zondax Hub and prepare your device
In your browser, visit the Zondax Hub (opens in a new tab). Click the "Connect Device" button in the top right corner, and confirm the connection in your browser and on your device.
Install the Namada app
Scroll down until you find Namada in the list, and select the newest version from the dropdown. Click "Install" and confirm on your device.
Using a Ledger with Namada Keychain (browser extension)
You can use the Ledger app with the Namada Keychain browser extension to sign transactions in front-end web apps. Expert mode must be turned off. See the Namada Keychain page for general installation and usage instructions.
Disclaimer: this will only work on Chrome-enabled browsers at the moment.
Importing (deriving) your Ledger address
Before any other operations with the Ledger, we will want to derive an address and public key and add them to the extension (web wallet) under an alias for convenience. To derive your address using a Ledger:
Open Namada Keychain and click Add keys
Click Connect hardware wallet
Connect your device to your computer and Open the Namada app
Follow the prompts and click Next
after each step
Confirm on device
After the following the prompts, your address and public key will be displayed on your device. Confirm the operation on your device.
Name your Ledger account
Give your account an easy to remember name.
Click Finish setup
Display your address/public key
To display your Ledger address/public key, first open Namada Keychain. Find your Ledger account in the list, click the ⋮
icon (three vertical dots) and select 'View keys'.
Signing a transaction
Expert mode must be turned off. To sign a transaction from a front-end app (such as Namadillo), follow these steps:
Connect your device and open the Namada app
Set your Ledger as the active account
Open the Namada Keychain and click the checkbox next to your Ledger account to set it as the active account.
Perform your transaction
Review transaction
You will be presented with a browser pop-up containing a summary of the transaction. You can click View data
to see the
details of what will be submitted on-chain. You can also verify the correct public key is listed under Signer
. When you're
ready to proceed, click Approve
.
You will be reminded again to connect your device and open the Namada app; click Submit
to send the signing request to the Ledger.
Approve on your device
Review the transaction details on your device and click Approve
to sign and submit the transaction to the chain.
Using the Ledger app with the CLI
You can use your Ledger to sign transactions from the Namada CLI.
Make sure the 'expert mode' toggle is set to disabled in the Namada app; this feature has not yet been implemented and may result in crashes.
Importing (deriving) your Ledger address
Before any other operations with the Ledger, we will want to derive an address and public key and add them to the file system wallet under an alias for convenience. To derive your address using a Ledger:
Connect your device to your computer
Open the Namada app on your device
Derive your address / public key
This command will derive your address and public key and add them to your wallet under an alias
of your choosing:
namadaw derive --use-device --alias $ALIAS
The default derivation path is m/44'/877'/0'/0'/0
. You can use the flag --hd-path
to specify a different derivation path. Use namadaw derive --help
for more information.
Confirm in wallet
List your wallet contents with:
namadaw list
You should see your address and pubic key listed under the $ALIAS
you provided. Beside them should be the label (external)
indicating that they are associated with a device.
Signing a transaction
Use the --use-device
flag when you wish to sign a transaction using the Ledger. For example:
namadac transparent-transfer \
--source $ALIAS \
--target $DEST_ADDRESS \
--token $TOKEN \
--amount $AMOUNT \
--use-device
When constructing the transfer, the CLI will check your wallet for the public key given under $ALIAS
. You will then be prompted on the device to approve the transaction
Troubleshooting
As written above, the Namada Ledger app is not yet updated in the Ledger Live catalogue, so the only way to use one in the meantime is with 1) a Ledger Nano device and 2) sideloading as a work-around: Zondax Hub (opens in a new tab) Typically sideloading an unaudited version of the app onto your device is only for testing purposes, but it is effective as a work-around.
Some common errors you may encounter while using the Ledger with the Namada CLI:
-
Unable to connect to query address and public key from Ledger: Ledger | App Error: | 21781 [APDU_ERROR] Unknown
There is a USB connectivity issue; disconnecting and reconnecting the Ledger will often resolve this. -
The CLI panics with
Message: Failed to sign transaction
or similar.
Make sure you're using the correct versions of both the Ledger app and Namada binaries -
The CLI panics with
Message: No signature could be produced for a transaction of type ...
Make sure the Ledger account has been properly added to your wallet. -
The CLI panics part-way through signing and the Ledger reboots.
Make sure theexpert mode
toggle in the Ledger app is set todisabled
.