This tutorial is no longer up to date. Please use this new tutorial for all your Ledger needs.
The Community at Work
Thank you to Crypto Fairy for putting in the hard work to integrate EOS into the Ledger ecosystem. Thank you to Ledger for validating that work. Finally, thank you to Cypherglass for the bounty that funded the work.
Now that the Ledger hardware wallet has third-party support for EOS you can set up a brand new account or use your current EOS account with your Ledger hardware wallet. FairyWallet is open source and has been accepted by the Ledger team as safe to use with their device.
Here, we will walk through the exact steps to get your EOS main net account and Ledger set up for things like signing transactions, staking, monitoring airdrops, voting, and more.
NOTE: For existing accounts that wish to be secured with the Ledger/FairyWallet option, this requires changing your existing account’s Active permission using the public key generated within the FairyWallet. You will need to have a Scatter identity set up and linked to a web toolkit such as EOSToolKit by Genereos or a wallet that offers permission changes such as EOS-Voter Wallet by Greymass.
STEP ONE: Updating Ledger Firmware
Update the firmware on your Ledger device to the latest version (Current firmware as of 9/5/18 is Version 1.4.2) by downloading and connecting the device to the Ledger Live app and follow the firmware instructions here. If there is an update for your device you will see the prompt after connecting your Ledger to the live app. Follow the prompts through the process of initializing your Ledger with the Live App if you are setting one up for the first time.
STEP TWO: Install EOS App On Ledger
After completing the firmware update, select the “manager” tool in the Ledger Live app. Here you will see the app catalog. Search for EOS and download the app to add it to Ledger.
STEP THREE: Download and Connect to FairyWallet
Install the FairyWallet application here.
Enter the EOS New York API endpoint link (https://api.eosnewyork.io) to connect to the EOS Mainnet. Plug in and unlock your Ledger device.
Once you have the FairyWallet opened you will need to click on the small “key” icon and copy the public key associated with the encrypted private key on your ledger to a temporary file or note.
STEP FOUR: Create A New Account On EOS Main Net
(Optional — Skip to STEP FIVE if using an existing EOS account)
Create your own unique 12 character account name and pay for the new account using PayPal in the FairyWallet application. This requires a fee due to the RAM needed to create and store your new account on the blockchain. This new accounts Active and Owner permission will be assigned to the same public and encrypted private key on the Ledger. The private EOS key string will never be visible since it will always be encrypted by the Ledger 24 word seed phrase.
NOTE: Account names must be 12 characters exactly and may only include letters a-z and numbers 1–5.
After completing payment you will be fully set up with a new EOS main net account and a local wallet tool to access any tokens you wish to send to this new account. If you are withdrawing your tokens from an exchange you only need to enter your new 12 character account name as the withdraw address. No memo is needed when sending tokens to your main net account. You can also view the account with EOS block explorers such as Bloks.io by searching for your account name. Once you deposit EOS tokens into this account you will be able to adjust your stake in CPU/Bandwidth, vote, transfer tokens, monitor airdrops, and purchase/sell RAM within the FairyWallet application. More features are expected in the future such as changing permissions.
If you are not importing an existing EOS account you are all set!
STEP FIVE: Changing Active Permission On Existing Account To Ledger Key
For use with an existing account, all you need to do is grab the public key generated by FairyWallet. There is no need to continue to the “create new account” step within the wallet.
You can change an accounts permissions with the EOS-Voter Wallet by Greymass. Log in to the EOS-Voter wallet with the Active key for the account you wish to change the permission on. Visit the “tools” tab at the top of the wallet.
Copy the public key you saved to a note in step three and paste it into the section for modifying the Active Key on the account. This transaction should submit very quickly. To confirm the change has been made properly visit Bloks.io block explorer, search your account name, and view the “permissions” drop-down. If you see the new public key assigned to the Active Permission then it has been changed successfully.
NOTE: It is not recommended to change your accounts Owner permission with this method yet as you will not have access to the unencrypted private key string. The FairyWallet doesn’t currently support changing permissions. The wallet may be implementing this feature in the future though at which point it would be safe to change your Owner permission to link with the Ledger/FairyWallet option using the same public key.
Never discard your genesis private key even if you change the permissions to new keys. You may need it for future forks that use the genesis snapshot accounts and the public keys that were associated with them.
- Quit & Reopen the FairyWallet application
- Connect Ledger to USB port on your computer
- Unlock your Ledger device
- Open the EOS app on your Ledger home screen
- Enter the EOS New York API Endpoint Link (https://api.eosnewyork.io)
You will now see your linked existing account automatically identified by the wallet. Click your account name and the FairyWallet will open and be ready to use normally.
Submitting transactions to the blockchain from this wallet will now require your physical approval by clicking the check mark on your Ledger hardware wallet before a transaction can be sent.
NOTE: Until there is Ledger signing support within other applications such as Scatter and Greymass, this accounts Active permission will only be able to sign transactions using the FairyWallet tool.
You’re all set! Congratulations on setting up your Ledger hardware wallet for EOS!