Comment on page

Ledger Nano app

Ledger Nano S and Ledger Nano X are hardware wallets, which are considered very secure for the storage of private keys in the blockchain world. When using a hardware wallet like Ledger Nano, your digital assets are safe even when operating on a compromised (or untrusted) PC.

Before you begin

Please make sure that:

Install the IoTeX Ledger App on your device

The IoTeX Ledger App needs to be installed on your device to allow it to generate a native IoTeX account and sign blockchain actions.
Follow the instructions below to install the IoTeX Ledger App:

1. Install and open the official Ledger Live application.

2. Connect your Ledger device to Ledger Live

In Ledger Live, open the "Manager", then connect and unlock your Ledger Nano device:
Connect and unlock your device

3. Allow Ledger Manager on your device

You may be asked to “Allow Ledger Manager” on your device: do so by clicking both buttons on your device:
Allow Ledger Manager on your device

4. Install the IoTeX Ledger App

In Ledger Live "Manager" section, select the “App Catalog” tab, find “IoTeX” among the apps and click the “Install” button next to it:
Find and install the IoTeX App in the App catalog
An installation window will appear and your device will display “Processing…”: just wait until the app installation is confirmed.

Connect Ledger Nano to ioPay Desktop Wallet

You can use the IoTeX “ioPay Desktop” wallet with your Ledger device: it supports transfers of native IOTX coins, transfers of XRC20 tokens, staking actions, and execution of smart contacts. See the instructions below to connect your Ledger Nano to ioPay Desktop wallet app:
  1. 1.
    Install and open ioPay Desktop wallet app
  2. 2.
    Connect and unlock your Ledger Nano device
  3. 3.
    On your Ledger device open the IoTeX app
  4. 4.
    The first time you may be prompted with your new IoTeX address, as shown in the picture below:
You can review this address later at any time.
  1. 1.
    On your Ledger Nano device, go past the IoTeX address screen by pressing the right button (on the Nano S) or both buttons (on the Nano X) to confirm.
  2. 2.
    In ioPay Desktop wallet, select the tab “Connect Ledger”, then click “Unlock”:

Check your IOTX balance

Once you unlocked your ioPay wallet using the Ledger Device, ioPay will conveniently show you the IoTeX address of your Ledger device, along with your IOTX balance:

Transfer IOTX tokens through Ledger device

Sending IOTX tokens is extremely easy. Just select the “Send Action” tab, fill in the required data (recipient address and amount), and click the “Send” button to request your Ledger device to sign:
Your Ledger Nano device will automatically display the transfer information such as the amount, the recipient address, the gas price, etc.
Press the left and right buttons to move between each screen and review all the transaction details. After reviewing the details, you can move to the “Sign transaction” screen, and press both buttons to confirm and sign the transaction.

Check your XRC20 tokens balance

IoTeX is an EVM-compatible, Smart Contract platform therefore it supports “Layer 2” tokens defined as smart contracts. IoTeX defines token standards fully equivalent to those available on Ethereum: XRC20 and XRC721 tokens on IoTeX play the same role of ERC20 and ERC721 standards on Ethereum. If you own any XRC20 tokens in your Ledger Nano account, you can check your token balance in ioPay: just click the “Add Token” button to select the XRC20 token you are interested in (or input the token contract address if you know it) and the balance will be permanently added in the XRC20 tokens panel:

Transfer XRC20 tokens through Ledger device

Since the IoTeX Ledger App settings don't support contract executions by default, you must first enable this setting before you can transfer XRC20 tokens using your ledger device:
  1. 1.
    Unlock your Ledger device
  2. 2.
    Navigate to the IoTeX app and open it
  3. 3.
    Navigate to the App Settings menu
  4. 4.
    Navigate to Allow Contract Data
  5. 5.
    Confirm the Allow Contract Data setting
  6. 6.
    Confirm again on the Contract Data menu to exit
Finally, make sure you added the token to the XRC20 tokens list in ioPay, and that you selected the correct token in the Amount field before sending:

Interact with a contract through Ledger device

Since the IoTeX Ledger App settings don't support contract executions by default, make sure you enabled this setting as explainde in the XRC20 transfer section.
In ioPay Desktop, select the “Smart Contracts” tab, and then select “Interact with contract”:
fill in the required information in the Smart Contract tab (contract address, value to send, ABI, etc…) and click the “Access” button to get the list of available contract methods:
Now select the contract method to call, fill in the required arguments if any, and click “write contract” to execute the call:
After you confirm the action in ioPay, your Ledger Nano will automatically present the action information for you to review. Make sure those information are correct and navigate to either the “Sign Transaction” or “Reject Transaction” screens, then click both buttons to confirm your choice. If you confirm, the Ledger Nano will sign the transaction and send it back to ioPay for network broadcast.

Final Notes

IoTeX “ioPay Desktop” wallet is available at
If you encounter any issue with your Ledger device or with the ioPay desktop wallet, please drop us a line at [email protected].