<p>Trezor implements the standard described in <a href="https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki" rel="nofollow noreferrer">BIP 0039</a>, which generates a menemonic from a predefined <a href="https://github.com/bitcoin/bips/blob/master/bip-0039/bip-0039-wordlists.md" rel="nofollow noreferrer">list of words</a>. From this mnemonic the seed is generated. There is no way to choose your own words or word order for the mnemonic with Trezor.</p>

CC BY-SA 3.0
2017-11-05T14:52:33.573Z
2017-11-05T14:52:33.573Z
Adam Millerchip
<p>Look at the <a href="https://www.reddit.com/r/TREZOR/comments/5lznm8/best_practice_trezor_restore/" rel="nofollow noreferrer"><strong>hardware brain wallet</strong></a> tcsh script for how to configure Trezor offline. This script uses BIP 39 mnemonic words to restore trezor devices. This short script can be shortened further to accomplish what you want.  Additionally, the example <a href="https://www.reddit.com/r/ledgerwallet/comments/5n5eec/is_the_ledgerwallet_nano_s_seed_entropy_strong/" rel="nofollow noreferrer"><strong>software BIP 39 mapped brain wallet</strong></a> demonstrates how to measure the entropy associated with a BIP 39 root seed.  <strong>High entropy</strong> is a requirement for establishing your own <strong>low risk</strong> BIP 39 words.</p>

<p>Here is the secret sauce for using libbitcoin's <a href="https://github.com/libbitcoin/libbitcoin-explorer" rel="nofollow noreferrer">bitcoin-explorer (bx) command line interface offline</a> without a password. </p>

<p>Here is how to use <code>bx</code> to mimic what a Trezor does to generate an address for <strong>m/44'/0'/0'/0/0</strong> to mimic configured Trezor behaviors:</p>

<pre><code>% echo "core leaf knee fashion gap decade radar double bulk fruit pitch either club citizen inspire gravity clinic build decade latin alter craft cherry glance" | bx mnemonic-to-seed | bx hd-new -v 76066276 | bx hd-private -d -i 44 | bx hd-private -d -i 0 | bx hd-private -d -i 0 | bx hd-public -i 0 | bx hd-public -i 0 | bx hd-to-ec | bx ec-to-address -v 0
</code></pre>

<p><strong><code>12VwB8c4NRHPaxuaLWXRWE1Rf3jJxa4FvD</code></strong></p>

<p>For the corresponding <em>uncompressed private key</em>:  </p>

<pre><code>% echo "core leaf knee fashion gap decade radar double bulk fruit pitch either club citizen inspire gravity clinic build decade latin alter craft cherry glance" | bx mnemonic-to-seed | bx hd-new -v 76066276 | bx hd-private -d -i 44 | bx hd-private -d -i 0 | bx hd-private -d -i 0 | bx hd-private -i 0 | bx hd-private -i 0 | bx hd-to-ec | bx base58check-encode -v 128  
</code></pre>

<p><strong><code>5JvjtTwgkEx8urCTenmusab5PkV1SjniTmgGKvPqx7xHmSZPgGz</code></strong></p>

<p>And for the corresponding <em>compressed private key</em>: </p>

<pre><code>% echo "core leaf knee fashion gap decade radar double bulk fruit pitch either club citizen inspire gravity clinic build decade latin alter craft cherry glance" | bx mnemonic-to-seed | bx hd-new -v 76066276 | bx hd-private -d -i 44 | bx hd-private -d -i 0 | bx hd-private -d -i 0 | bx hd-private -i 0 | bx hd-private -i 0 | bx hd-to-ec | sed 's/$/01/' | bx base58check-encode -v 128
</code></pre>

<p><strong><code>L28CJ9vNRraMvG9ado3ENFFQPQvcxbrn1ACJeWfq4Hh2zwXeQqDt</code></strong></p>

<p>Trezor and Keepkey hardware wallets are using compressed keys to prevent uncompressed public keys from bloating Bitcoin's blockchain.</p>

<p>For Bitcoin-based altcoins, use <strong>m/44'/<a href="https://github.com/satoshilabs/slips/blob/master/slip-0044.md" rel="nofollow noreferrer">SLIP_44_Table</a>'/account'/(0 or 1)/n</strong> in conjunction with version (-v) selected from <a href="https://github.com/libbitcoin/libbitcoin/wiki/Altcoin-Version-Mappings#bip44-altcoin-version-mapping-table" rel="nofollow noreferrer">BIP 44 Altcoin Mapping Table</a> to reconstitute addresses and private keys. Computation of addresses using base58check-encode will use version values from the <strong>mainnet version_p2pkh</strong> column, similarly computation of private keys using base58check-encode must use the <strong>mainnet version_WIF column</strong> of the BIP 44 Altcoin Mapping Table.  </p>

<p>FYSA - A single Trezor device can support multiple ASCII passwords to support a plausible deniability capability. However, only one password can be active at a time for a Trezor application session. The bx <a href="https://github.com/libbitcoin/libbitcoin-explorer/wiki/bx-mnemonic-to-seed" rel="nofollow noreferrer">mnemonic-to-seed</a> sub-command also accepts passwords.</p>

CC BY-SA 3.0
2016-08-14T02:18:35.190Z
2017-01-17T15:03:25.423Z
2017-01-17T15:03:25.423Z
skaht
<p>If you simply need to seed your trezor with your own mnemonic seed then here is a simple walkthrough on how to do it:  </p>

<p><a href="https://doc.satoshilabs.com/trezor-user/recovery.html" rel="nofollow">https://doc.satoshilabs.com/trezor-user/recovery.html</a></p>

CC BY-SA 3.0
2016-08-25T20:03:09.890Z
Yes I understand how to use and reset my mnemonic but instead of using the simple words I can pick using mytrezor software I want to use, for example, the US Constitution or my favorite poem.
T. Thomas
CC BY-SA 3.0
2016-08-26T22:11:06.073Z
that is an extremely bad idea
George
CC BY-SA 3.0
2016-08-26T22:16:54.420Z
@Gorge Why? Words are words and the way it is now I'm more like to forget my words or have someone straight up look at them if I keep them written down in a safe. I'm not saying I'll use the US constitution but it most likely will be something like my mothers favorite song or something I can remember AND keep in my head.
T. Thomas
CC BY-SA 3.0
2016-08-27T17:52:34.937Z
@TdotThomas "most likely will be something like my mothers favorite song" Your wallet will be picked up within a week by a bot. If you don't believe me, see [example 1](https://www.reddit.com/r/Bitcoin/comments/1ptuf3/brain_wallet_disaster/) and [example 2](https://www.reddit.com/r/Bitcoin/comments/1ndsxi/a_test_of_brainwallet_passphrases/).
Maximillian Laumeister
CC BY-SA 3.0
2016-08-27T23:20:33.317Z
@TdotThomas words are not just words.  entropy is a real thing, and humans are horrible at picking things at random.  and the worst you can do is pick a phrase that's from a song or something like that.  just read the examples that Maximillian Laumeister has provided
George
CC BY-SA 3.0
2016-08-30T17:23:12.923Z
@MaximillianLaumeister I just used the US constitution and My Mother Fav. Song as an example. It will be a Custom phrase (not published) in a custom order, generated from numbers only I know. So it isn't really in the same category as the examples you posted.
T. Thomas
CC BY-SA 3.0
2016-08-30T17:25:08.290Z
@George I just used the US constitution and My Mother Fav. Song as an example. It will be a Custom phrase (not published) in a custom order, generated from numbers only I know. So it isn't really in the same category as the examples Max posted.
T. Thomas
CC BY-SA 3.0
2016-08-31T19:20:14.403Z
@TdotThomas I'm confused, if you're just generating a random series of words, then why are you not using the seed generated by trezor.  at least we know the trezor has a better RNG than you :)
George
CC BY-SA 3.0
2016-08-18T07:36:20.623Z
2016-08-18T07:36:20.623Z
George
<p>How do I go about using words I pick in a trezor seed? I only want words that I select and in an order I select.</p>

<p>I'm not worried about this being a less secure way to generate a seed. I will be doing all this off line with a disposable computer if necessary. I want to use a custom word list in conjunction with some custom math that with generate the correct order of my seed.</p>

<p>I have yet to find a way to do this with my trezor. I personally think that my backup seeds are safer in my head then on a piece of paper.</p>

<p>I tried generating public/private keys with a custom mnemonic with custom words. Didn't work.</p>

<p>I tried generating public/private keys with a custom mnemonic with a word list generated from myTrezor.com <strong>(A-Z, excluding X, approximately 10 words to choose from per letter)[I did this by typing in each letter and copying the choices from the drop down]</strong> Didn't work. [Error: Action was interrupted Invalid mnemonic, are words in correct order?]</p>

<p>Shouldn't a valid public/private key pair be generated regardless of the words I pick and the order I put them in?</p>

<security><seed><hardware-wallet><trezor><mnemonic-seed>
Trezor Custom Mnemonic
T. Thomas
# Trezor Custom Mnemonic

(Asked by: username_0 on 2016-04-25)

How do I go about using words I pick in a trezor seed? I only want words that I select and in an order I select.

I'm not worried about this being a less secure way to generate a seed. I will be doing all this off line with a disposable computer if necessary. I want to use a custom word list in conjunction with some custom math that with generate the correct order of my seed.

I have yet to find a way to do this with my trezor. I personally think that my backup seeds are safer in my head then on a piece of paper.

I tried generating public/private keys with a custom mnemonic with custom words. Didn't work.

I tried generating public/private keys with a custom mnemonic with a word list generated from myTrezor.com **(A-Z, excluding X, approximately 10 words to choose from per letter)[I did this by typing in each letter and copying the choices from the drop down]** Didn't work. [Error: Action was interrupted Invalid mnemonic, are words in correct order?]

Shouldn't a valid public/private key pair be generated regardless of the words I pick and the order I put them in?

**Tags:** security, seed, hardware-wallet, trezor, mnemonic-seed


---

## 3 answers

### Answer by username_1 on 2017-11-05. Score: 1

Trezor implements the standard described in [BIP 0039](https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki), which generates a menemonic from a predefined [list of words](https://github.com/bitcoin/bips/blob/master/bip-0039/bip-0039-wordlists.md). From this mnemonic the seed is generated. There is no way to choose your own words or word order for the mnemonic with Trezor.


---

### Answer by username_2 on 2016-08-14. Score: 0

Look at the [**hardware brain wallet**](https://www.reddit.com/r/TREZOR/comments/5lznm8/best_practice_trezor_restore/) tcsh script for how to configure Trezor offline. This script uses BIP 39 mnemonic words to restore trezor devices. This short script can be shortened further to accomplish what you want. Additionally, the example [**software BIP 39 mapped brain wallet**](https://www.reddit.com/r/ledgerwallet/comments/5n5eec/is_the_ledgerwallet_nano_s_seed_entropy_strong/) demonstrates how to measure the entropy associated with a BIP 39 root seed. **High entropy** is a requirement for establishing your own **low risk** BIP 39 words.

Here is the secret sauce for using libbitcoin's [bitcoin-explorer (bx) command line interface offline](https://github.com/libbitcoin/libbitcoin-explorer) without a password.

Here is how to use `bx` to mimic what a Trezor does to generate an address for **m/44'/0'/0'/0/0** to mimic configured Trezor behaviors:

```
% echo "core leaf knee fashion gap decade radar double bulk fruit pitch either club citizen inspire gravity clinic build decade latin alter craft cherry glance" | bx mnemonic-to-seed | bx hd-new -v 76066276 | bx hd-private -d -i 44 | bx hd-private -d -i 0 | bx hd-private -d -i 0 | bx hd-public -i 0 | bx hd-public -i 0 | bx hd-to-ec | bx ec-to-address -v 0

```

**`12VwB8c4NRHPaxuaLWXRWE1Rf3jJxa4FvD`**

For the corresponding *uncompressed private key*:

```
% echo "core leaf knee fashion gap decade radar double bulk fruit pitch either club citizen inspire gravity clinic build decade latin alter craft cherry glance" | bx mnemonic-to-seed | bx hd-new -v 76066276 | bx hd-private -d -i 44 | bx hd-private -d -i 0 | bx hd-private -d -i 0 | bx hd-private -i 0 | bx hd-private -i 0 | bx hd-to-ec | bx base58check-encode -v 128  

```

**`5JvjtTwgkEx8urCTenmusab5PkV1SjniTmgGKvPqx7xHmSZPgGz`**

And for the corresponding *compressed private key*:

```
% echo "core leaf knee fashion gap decade radar double bulk fruit pitch either club citizen inspire gravity clinic build decade latin alter craft cherry glance" | bx mnemonic-to-seed | bx hd-new -v 76066276 | bx hd-private -d -i 44 | bx hd-private -d -i 0 | bx hd-private -d -i 0 | bx hd-private -i 0 | bx hd-private -i 0 | bx hd-to-ec | sed 's/$/01/' | bx base58check-encode -v 128

```

**`L28CJ9vNRraMvG9ado3ENFFQPQvcxbrn1ACJeWfq4Hh2zwXeQqDt`**

Trezor and Keepkey hardware wallets are using compressed keys to prevent uncompressed public keys from bloating Bitcoin's blockchain.

For Bitcoin-based altcoins, use **m/44'/[SLIP\_44\_Table](https://github.com/satoshilabs/slips/blob/master/slip-0044.md)'/account'/(0 or 1)/n** in conjunction with version (-v) selected from [BIP 44 Altcoin Mapping Table](https://github.com/libbitcoin/libbitcoin/wiki/Altcoin-Version-Mappings#bip44-altcoin-version-mapping-table) to reconstitute addresses and private keys. Computation of addresses using base58check-encode will use version values from the **mainnet version\_p2pkh** column, similarly computation of private keys using base58check-encode must use the **mainnet version\_WIF column** of the BIP 44 Altcoin Mapping Table.

FYSA - A single Trezor device can support multiple ASCII passwords to support a plausible deniability capability. However, only one password can be active at a time for a Trezor application session. The bx [mnemonic-to-seed](https://github.com/libbitcoin/libbitcoin-explorer/wiki/bx-mnemonic-to-seed) sub-command also accepts passwords.


---

### Answer by username_3 on 2016-08-18. Score: -1

If you simply need to seed your trezor with your own mnemonic seed then here is a simple walkthrough on how to do it:

<https://doc.satoshilabs.com/trezor-user/recovery.html>

> **Comments:**
> **username_0**: Yes I understand how to use and reset my mnemonic but instead of using the simple words I can pick using mytrezor software I want to use, for example, the US Constitution or my favorite poem.  
> **username_3**: that is an extremely bad idea  
> **username_0**: @Gorge Why? Words are words and the way it is now I'm more like to forget my words or have someone straight up look at them if I keep them written down in a safe. I'm not saying I'll use the US constitution but it most likely will be something like my mothers favorite song or something I can remember AND keep in my head.  
> **username_4**: @TdotThomas "most likely will be something like my mothers favorite song" Your wallet will be picked up within a week by a bot. If you don't believe me, see [example 1](https://www.reddit.com/r/Bitcoin/comments/1ptuf3/brain_wallet_disaster/) and [example 2](https://www.reddit.com/r/Bitcoin/comments/1ndsxi/a_test_of_brainwallet_passphrases/).  
> **username_3**: @TdotThomas words are not just words.  entropy is a real thing, and humans are horrible at picking things at random.  and the worst you can do is pick a phrase that's from a song or something like that.  just read the examples that username_4 has provided  
> **username_0**: @username_4 I just used the US constitution and My Mother Fav. Song as an example. It will be a Custom phrase (not published) in a custom order, generated from numbers only I know. So it isn't really in the same category as the examples you posted.  
> **username_0**: @username_3 I just used the US constitution and My Mother Fav. Song as an example. It will be a Custom phrase (not published) in a custom order, generated from numbers only I know. So it isn't really in the same category as the examples Max posted.  
> **username_3**: @TdotThomas I'm confused, if you're just generating a random series of words, then why are you not using the seed generated by trezor.  at least we know the trezor has a better RNG than you :)  

---

