Ledger
This guide is for Ledger Nano S, S+, and X.
A Ledger device is a hardware wallet that is considered one of the most secure ways to store your digital assets. A Ledger device uses an offline, or "cold storage," method of generating private keys, making it a preferred method for many crypto users. This guide will help you to connect your Ledger device to the Secret Network's CLI and GUI wallets. The wallets enable you to send and receive SCRT as well as stake/delegate SCRT with the Ledger device.
1. This guide assumes you have a verified, genuine Ledger Nano S,S+ or X device.
2. If you don't, or you using your Ledger device for the first time, you should check Ledger's Getting Started guide.
3. We also advise you to check your Ledger device's genuineness and upgrade your firmware to the newest one available.
5. Have the latest version of our latest binaries installed in case you use Secret CLI. You can get it here.
1. Open Ledger Live.

Ledger Live
2. Now go to Manager and search "secret":

Secret Ledger App
3. Hit "Install" and wait for the process to complete.
Note: To run the commands in Secret CLI or the GUI wallets below, or any command that requires signing with your Ledger device, you need your Ledger device to be opened on the Secret App:

- Prepare your Linux host to work with Ledger
Some users may not have their Ledger device recognized by their Linux host. To fix this issue implement the fix for connection issues on Linux from the Ledger support page
wget -q -O - https://raw.githubusercontent.com/LedgerHQ/udev-rules/master/add_udev_rules.sh | sudo bash
- MacOS
You will need at least MacOS 10.14 Mojave, which introduced the Security feature of allowing Full Disk Access, which Ledger Live needs in order to enable the
--ledger
flag in secretcli
. Refer to the MacOS section in the Ledger support page.The SecretNodes GUI Wallet provides basic capabilities for Secret such as staking and transferring SCRT tokens. Visit the SecretNodes GUI Wallet site for Secret here. You do not need to import an account for the usage.

SecretNodes Address Screen
2. Next, select "Manual Ledger" as the Wallet Type

Select Wallet Type
3. Then select "Secret" as the Wallet App

Select Wallet App
4. Now you can see your "Account balance" on the top left of the window.

Account prompt
Lastly, copy the displayed account address ("From Address") in the SecretNodes wallet to receive SCRT.
Head to the display your account again.

Send SCRT
From there, insert the Account you want to send the funds to ("To address") and the amount you want to send ("Amount to Send").
Hit "Send" to send the transaction to the Ledger device. On your Ledger device, verify the transaction details on the device display, before confirming and signing it.
The ping.pub GUI wallet provides basic capabilities for Secret such as creating an account, staking and transferring SCRT tokens. Visit the ping.pub site for Secret here.
1. Open the tab in the right top corner and click "Import Address."

Ping.pub home screen
2. Then, select "Ledger via WebUSB" and confirm with "Next".

Import Address
3. Pick a name for your wallet and continue with "Next".

Account Coordination
4. Lastly, check the displayed address in Ping.pub against the one displayed on your Ledger device, before confirming it on your Ledger device. Only then confirm with "Save" on the website.

Save Account
1. To display your account, head to the drop down menu in the top right corner and select "Accounts."

Ping.pub home screen
2. You can see all of your registered accounts in Ping.pub.

Accounts Section
3. To see your account balance and transactions in detail, click on the account to show the details.

Wallet Address
Copy the displayed account address in the Ping.pub wallet to receive SCRT. Please make sure that you verified your receiving address on the Ledger device to prevent loss of funds.
To send SCRT, display your account balance. By selecting "Transfer", a window will appear in which you can input the destination address/Recipient and the amount you want to send.

Transfer Tokens
Lastly, hit "Send" to send the transaction to the Ledger device. On your Ledger device, verify the transaction details on the device display, before confirming and signing it.
For a more advanced user, it is possible to interface with the CLI utility, SecretCLI with a Ledger device. You can get it here. These are some basic examples of commands you can use with your Ledger device. You may notice that most commands stay the same, you just need to add the
--ledger
flag.Note: You can use any number you'd like for your account number. Be sure to remember the number you used, so you can recover if needed. The default for the account number is 0.
secretcli keys add <account name> --ledger --account <account number>
secretcli keys show -a <account name>
You'll use this when you, say, using a different machine.
secretcli keys add <account name> --ledger --account <account number on your Ledger device> --recover
Warning: if you run the above command without the
--ledger
flag, the CLI will prompt you to enter your BIP39 mnemonic, which is your Ledger device recovery phrase. YOU DO NOT WANT TO DO THIS. This will essentially save your private key locally, which defeats the purpose of using a Ledger device.The commands below assume that you run them on the same machine where you have a Secret Network node running. If you wish to connect to a remote Secret Network node while you interact with your Ledger device locally, the following command will use SCRT Lab's public node:
secretd config node https://lcd-secret.scrtlabs.com:443/rpc
secretcli tx send <account name or address> <to_address> <amount> --ledger
secretcli tx staking delegate <validator address> <amount to bond> --from <account key> --ledger
secretcli tx distribution withdraw-rewards --from <account name> --commission --ledger
secretcli tx gov vote <proposal-id> <vote> --from <account name> --ledger
secretcli tx snip20 deposit <contract address or label> --amount <amount> --from <account name> --ledger
secretcli tx snip20 transfer <contract address or label> <to_address> <amount> --from <account name> --ledger
Last modified 7mo ago