Skip to main content

Ledger Hardware Wallet

Overview

note

Because of required WebUSB support, Ledger wallets currently only work on Chromium-based browsers like Brave and Chrome.

The Polymesh Ledger application is compatible with both the Ledger Nano S, Ledger Nano S+ and the Ledger Nano X devices. Ledger devices are hardware wallets that keep your secret secured on a physical device that does not expose it to your computer or the internet.

The Polymesh Ledger application allows you to manage Polymesh's native token, POLYX and interact with the Polymesh Mainnet blockchain.

NB - due to memory constraints, the version of the app for the Ledger Nano S only supports a subset of possible transactions, primarily POLYX transfers, identity and staking operations. You can see the README.md at https://github.com/Zondax/ledger-polymesh for full details.

Requirements

Here is a list of what you will need before starting:

  • A Ledger Nano S, S+ or a Ledger Nano X.
  • The latest firmware installed.
  • Ledger Live is installed and updated to the latest version (see Settings -> About to find out if you're up to date).
  • A Chromium-based web browser installed to access the Polymesh App.
  • Or the Polymesh Wallet browser extension - this can be downloaded from the Chrome Store.
note

Other Substrate based wallets may support importing of Polymesh keys from Ledger devices. Refer to the wallets documentation to determine if Ledger devices are supported.

Installing the Ledger Application

Using Ledger Live

  • Open the "Manager" tab in Ledger Live.
  • Connect and unlock your Ledger device.
  • If asked, allow the manager on your device by pressing both buttons on the YES screen.
  • Find Polymesh in the app catalog and install it.

Using via the Polymesh App

Loading Your Account

The Polymesh App already has an integration with the Ledger application so that your device will work with the browser interface after installation.

The functionality is currently gated behind a feature setting that you will need to turn on.

In order to turn on the interoperability with the Polymesh Ledger application, go to the "Settings" tab in the Polymesh App. Find the option for attaching Ledger devices and switch the option from the default "Do not attach Ledger devices" to "Attach Ledger via WebUSB".

Dropdown selector for allowing Ledger connections in Polymesh Settings

Click "Save" to keep your settings.

For the next step, your Ledger device must be attached to your computer, and the Ledger Live app must be closed.

Now when you go to the "Accounts" tab you will see a new button that says "Add via Ledger". Ensure that your Ledger device is unlocked and that you have navigated into the Polymesh application, then click this button.

Add Ledger button in Polymesh

A popup will appear asking you to select an account and derivation path.

Picking an account and derivation path

The first option lets you select an account. You can have multiple accounts on a single Ledger device. The second dropdown lets you pick a derivation path - think of it like a formula from which child accounts are generated. If in doubt, pick the first option for both. 0 / 0 is a good default.

Once you confirm your selection, depending on your browser and its security settings, you might need to confirm the USB connection through a popup like the one below when adding the Ledger device for the first time:

Click on the "Unknown device" line and the "Connect" button will become available.

You should now be able to scroll down and find a new account on the page with the type "ledger".

You can now use this account to interact with Polymesh on Polymesh App and it will prompt your ledger for confirmation when you initiate a transaction.

Confirming the Address on your Device

On the "Accounts" tab, find your Ledger-connected account. Click on the three vertical dots at the end of the row. This will open a new menu where you can click the "Show address on hardware device" option to display the address on your device.

Options menu of an account in the Accounts screen of Polymesh

Here you can scroll through and make sure the address matches to what is displayed on the Polymesh App.

Using the Polymesh App

Once you have your account loaded on the "Accounts" tab, it should show a row with your Ledger account. At the far right of the row, your account's POLYX balance is displayed. If you expand the balance arrow, it will show details of your balance such as locks or reserved amounts.

If you select your Ledger account when submitting an extrinsic, you will be prompted to sign the transaction on your Ledger. The Ledger device must be attached when submitting an extrinsic from your Ledger account.

Using via the Polymesh Wallet

Once you've downloaded the Polymesh Wallet extension from the Chrome Store, you can alternatively use the Polymesh Wallet to interact with Polymesh via your Ledger Nano device.

Ensure that your Ledger device is unlocked and that you have navigated into the Polymesh application.

If you open the Polymesh Wallet, there is an option to "Add a key" and under that an option to "Attach Ledger account".

Add Ledger From Polymesh Wallet

Provided your Ledger Nano wallet is attached to your computer, and the Polymesh App is open, you should then be able to connect.

Connect Ledger From Polymesh Wallet

You can then add a key from your Ledger Nano device. The first option lets you select an account. You can have multiple accounts on a single Ledger device. The second dropdown lets you pick a derivation path - think of it like a formula from which child accounts are generated. If in doubt, pick the first option for both. 0 / 0 is a good default.

Selecting Key From Polymesh Wallet

You can now interact with the Polymesh blockchain through our UIs or App as usual, or use this key to onboard to Polymesh.

Support

For support, please contact The Polymesh Association.

For Ledger App code, please see Releases Page.