Monero key path questions

  1. how can I define the key path in trezorctl to generate Monero subaddresses?

  2. how can I define the Monero account in the key path? this is something that can be generated in Monero wallets, but it’s different from x in m/44'/128'/x'. wallet accounts produce a new chain of subaddresses (even the 0th address starts with 8…), while m/44'/128'/x' (x>0) produces a primary address (4…).

Looks like the subaddress code is missing from trezorctl. It’s not part of the derivation path but instead is specified separately. Same thing with accounts.
(Monero has its own derivation system that is unrelated to BIP-32, so a derivation path m/44'/128'/x' will give you something like a ““wallet base”” key pair, which is then handled by Monero-specific code to produce the various accounts and subaddresses.)

Pull request to add this functionality would be welcome if you want to get your hands dirty :slight_smile: The relevant code is there in the protocol and on firmware side, but not exposed in the Python API and in the CLI tool.

1 Like