trezor

How to Setup Monero Wallet with Trezor Model T ahead of Schedule

Mario Dian Nov 1, 2018 6 min read

While Monero is a leading cryptocurrency when it comes to privacy, safe storage of private keys is where it lacks.

If you aren't a big fan of Ledger like me, your only option is storing the keys on a paper wallet.

The good news is, Pavol Rusnak from SatoshiLabs recently announced Monero support in their Trezor Model T!

The bad news is, the wallet support isn't finished yet nor it is easy to set up.

However, I managed to "figure it out" (I had one of the Trezor devs help me) so let's get right to it.

This tutorial is written for MacOS and Ubuntu but it should work on any Debian based Linux and with some minor changes on most of major Linux distributions.

Also please note, that Trezor currently only works with monero-wallet-cli. The GUI and Trezor.io web wallet support will follow later.

#1a Install dependencies on Linux

Update the system's repositories and packages:

sudo apt-get update && sudo apt-get upgrade -y

Install the required dependencies:

sudo apt-get install build-essential cmake pkg-config libboost-all-dev libssl-dev libzmq3-dev libunbound-dev libsodium-dev libunwind8-dev liblzma-dev libreadline6-dev libldns-dev libexpat1-dev doxygen graphviz libpgm-dev protobuf-compiler libprotobuf-dev
How to Install and Set up Full Monero Node on Linux
With the rise of cryptocurrencies, financial privacy has become a hot topic. Monero is currently the best in the field thanks to the fairly big anonymity set, mandatory privacy for all transactions, ring signatures, Ring CT, stealth addresses, and the future Kovri anonymization network. Although M…

#1b Install dependencies on MacOS

Update brew and all existing packages:

brew update && brew upgrade

It may take a while.

Install the required dependencies.

brew install boost --c++11 cmake doxygen expat graphviz ldns miniupnpc openssl pkgconfig protobuf readline libpgm libsodium libunwind-headers

Currently, there seems to be an issue with ZMQ on brew so add a new repository and install ZMQ headers from there:

brew tap jmuncaster/homebrew-header-only
brew install jmuncaster/header-only/cppzmq

#2 Download and build Monero with Trezor support

Create a source folder if you haven't already and open it:

mkdir ~/source
cd ~/source

Clone the official Monero repository:

git clone --recursive https://github.com/monero-project/monero.git
cd monero

Compile the source code:

make -j4 release

You can mess with the -j4 parameter if you have enough resources. The parameters tells the compiler how many CPU threads to use.

The process may take some time depending on your hardware. My latest MacBook Pro 15" was able to compile it under 2 minutes. It took my Intel NUC server twice the time.

How to Protect your Privacy when Splitting and Claiming Monero Shitforks
Ever since Bcash split from Bitcoin in August 2017, the fork craziness tookplace and there are currently at least 10 Bitcoin shitforks that I know of. Monero suffered the same fate. Monero shitforks, however, are considered an outright attack on its privacy andnamely ring signatures (1 out of

When finished, locate the compiled binaries.

On Linux:

cd ~/source/monero/build/Linux/master/release/bin

On MacOS:

cd ~/source/monero/build/Darwin/master/release/bin

Copy the binaries to your path:

sudo cp * /usr/local/bin/

To setup and run monerod service (if you haven't already), please follow the instructions in sections 4 and 5.

If you connect your Monero wallet to a remote node you can skip the above step.

#3 Update Trezor Model T

Download and install the latest Trezor bridge (currently 2.0.25).

When finished, restart your browser and open the Trezor web wallet.

Connect your Trezor Model T while sliding your finger up and down on the screen. This will trigger a firmware update.

Trezor firmware v2.0.9 does not correctly encrypt short payment ID in outgoing transactions! This firmware version should not be used for sending transactions with short payment IDs and integrated addresses (more than 95 characters). No funds are lost but a recipient of your payment will have problems pairing the payment (e.g., exchanges). Please update the firmware as soon as it becomes available.

Follow the on-screen instructions and when updated unplug and plug your device.

Trezor Model T

Protect your bitcoin and other assets against theft with a bank that easily fits into your pocket.

Order Now Order on Amazon

#4 Generate a wallet with Trezor

To start using Monero with Trezor, you'll have to generate a wallet with Trezor's private key first.

Create a new folder that will store Monero wallet files if it doesn't exist already:

mkdir -p ~/Monero/wallets
cd ~/Monero/wallets

Generate the wallet with Trezor:

monero-wallet-cli --hw-device=Trezor --generate-from-device ~/Monero/wallets/monero_trezor --restore-height=1695424

You can customize the --restore-height parameter based on the latest block from Monero Blocks explorer (only do that if the wallet hasn't received any moneroj before).

If you're connecting to a remote node add --daemon-address remote.node.tld:port at the end of the previous command.

You will be prompted for a password that will encrypt the wallet file. Please note that this password has nothing to do with Trezor's passphrase yet!

Top 5 Reasons Monero Will Become the Most Widely Used Private and Anonymous Cryptocurrency
With the recent crackdown on AlphaBay dark market it’s more important than ever to use tools that offer strong privacy and anonymity. You don’t necessarily have to be a drug dealer to be in genuine need for privacy. Governments will use any arbitrary reason to throw you in prison, so

After you create an encrypted wallet, Trezor will ask you to type in the device's passphrase.

Currently, only passphrase typed on the device itself is supported. You can either type an empty password or come up with one. If you go for the latter, make sure to remember it!

In the next step you will have to allow Trezor to provide monero-wallet-cli with a private view key.

#5 Open your wallet with Trezor

To open the wallet after it's been generated, just connect your Trezor Model T, unlock it, and type in the following command:

monero-wallet-cli --wallet ~/Monero/wallets/monero_trezor --log-file ~/Monero/wallets/monero-wallet-cli.log

Unlock the wallet file with the first password and then type your device's passphrase on Trezor.

The wallet will check for new transactions and you're good to go.

My newly created Monero Wallet with Trezor

Big thanks goes to Dušan Klinec (ph4r05) who is one of the developers that worked on the Monero implementation. He is also the one that helped me figuring out how to set up the wallet.

Also thanks to everyone from SatoshiLabs that has made this possible!

Trezor Model T

Protect your bitcoin and other assets against theft.

Order Now Order on Amazon

If you like what I do, I'd appreciate if you purchased Trezor (when you decide to get one) through the buttons above. I will receive a small commission which will help me maintain this website. Thank you!

Found this valuable?

Please consider supporting us. Thank you!

Support us
WRITTEN BY

Mario Dian

I'm an Anarchist, Rothbardian, Bitcoiner and Travel Hacker. Also founder of @freedomnodecom.

Show comments