Page:
command help addrgen
Pages
A word on text editors
Altcoin and Forkcoin Support
Autosigning
Editing the user path in Windows
Getting Started with MMGen Wallet
Home
Install Bitcoind from Source on Linux
Install Bitcoind
Install MMGen Wallet on Linux or macOS
Install MMGen Wallet on Microsoft Windows
Install MMGen Wallet on Nix
Install the Offline Bitcoind
Key address files
MMGen Signing Keys
MMGen Wallet Quick Start with Regtest Mode
MMGen Wallet command help
Recovering Your Keys Without the MMGen Wallet Software
Subwallets
Test Suite
Tool API
Tracking and spending ordinary Bitcoin addresses
Unix commands and environment
XOR Seed Splitting ^ Theory and Practice
command help addrgen
command help addrimport
command help autosign
command help cli
command help keygen
command help msg
command help passchg
command help passgen
command help regtest
command help seedjoin
command help seedsplit
command help subwalletgen
command help swaptxcreate
command help swaptxdo
command help tool(detail)
command help tool(usage)
command help tool
command help txbump
command help txcreate
command help txdo
command help txsend
command help txsign
command help walletchk
command help walletconv
command help walletgen
command help xmrwallet
No results
10
command help addrgen
The MMGen Project edited this page 2026-05-15 13:10:04 +00:00
MMGEN-ADDRGEN: Generate a range or list of addresses from an MMGen wallet,
mnemonic, seed or brainwallet
USAGE: mmgen-addrgen [opts] [seed source] <index list or range(s)>
OPTIONS:
-h, --help Print this help message
--longhelp Print help message for long (global) options
-c, --print-checksum Print address list checksum and exit
-d, --outdir d Output files to directory 'd' instead of working dir
-e, --echo-passphrase Echo passphrase or mnemonic to screen upon entry
-i, --in-fmt f Input is from wallet format 'f' (see FMT CODES below)
-H, --hidden-incog-input-params f,o Read hidden incognito data from file
'f' at offset 'o' (comma-separated)
-O, --old-incog-fmt Specify old-format incognito input
-k, --use-internal-keccak-module Force use of the internal keccak module
-K, --keygen-backend n Use backend 'n' for public key generation. Options
for BTC: 1:libsecp256k1 [default] 2:python-ecdsa
-l, --seed-len l Specify wallet seed length of 'l' bits. This option
is required only for brainwallet and incognito inputs
with non-standard (< 256-bit) seed lengths.
-p, --hash-preset p Use the scrypt hash parameters defined by preset 'p'
for password hashing (default: '3')
-z, --show-hash-presets Show information on available hash presets
-P, --passwd-file f Get wallet passphrase from file 'f'
-q, --quiet Produce quieter output; suppress some warnings
-r, --usr-randchars n Get 'n' characters of additional randomness from user
(min=10, max=80, default=30)
-S, --stdout Print addresses to stdout
-t, --type t Choose address type. Options: see ADDRESS TYPES below
(default: 'L' or 'legacy')
-U, --subwallet U Generate addresses for subwallet 'U' (see SUBWALLETS
below)
-v, --verbose Produce more verbose output
NOTES FOR THIS COMMAND
Address indexes are given as a comma-separated list and/or hyphen-separated
range(s).
If available, the libsecp256k1 library will be used for address generation.
NOTES FOR ALL GENERATOR COMMANDS
SUBWALLETS:
Subwallets (subseeds) are specified by a ‘Subseed Index’ consisting of:
a) an integer in the range 1-1000000, plus
b) an optional single letter, ‘L’ or ‘S’
The letter designates the length of the subseed. If omitted, ‘L’ is assumed.
Long (‘L’) subseeds are the same length as their parent wallet’s seed
(typically 256 bits), while short (‘S’) subseeds are always 128-bit.
The long and short subseeds for a given index are derived independently,
so both may be used.
MMGen Wallet has no notion of ‘depth’, and to an outside observer subwallets
are identical to ordinary wallets. This is a feature rather than a bug, as
it denies an attacker any way of knowing whether a given wallet has a parent.
Since subwallets are just wallets, they may be used to generate other
subwallets, leading to hierarchies of arbitrary depth. However, this is
inadvisable in practice for two reasons: Firstly, it creates accounting
complexity, requiring the user to independently keep track of a derivation
tree. More importantly, however, it leads to the danger of Seed ID
collisions between subseeds at different levels of the hierarchy, as
MMGen checks and avoids ID collisions only among sibling subseeds.
An exception to this caveat would be a multi-user setup where sibling
subwallets are distributed to different users as their default wallets.
Since the subseeds derived from these subwallets are private to each user,
Seed ID collisions among them doesn’t present a problem.
A safe rule of thumb, therefore, is for *each user* to derive all of his/her
subwallets from a single parent. This leaves each user with a total of two
million subwallets, which should be enough for most practical purposes.
PASSPHRASE NOTE:
For passphrases all combinations of whitespace are equal, and leading and
trailing space are ignored. This permits reading passphrase or brainwallet
data from a multi-line file with free spacing and indentation.
BRAINWALLET NOTE:
To thwart dictionary attacks, it’s recommended to use a strong hash preset
with brainwallets. For a brainwallet passphrase to generate the correct
seed, the same seed length and hash preset parameters must always be used.
ADDRESS TYPES:
Code Type Description
---- ---- -----------
‘L’ legacy - Legacy uncompressed address
‘C’ compressed - Compressed P2PKH address
‘S’ segwit - Segwit P2SH-P2WPKH address
‘B’ bech32 - Native Segwit (Bech32) address
‘X’ bech32x - Cross-chain Bech32 address
‘E’ ethereum - Ethereum address
‘Z’ zcash_z - Zcash z-address
‘M’ monero - Monero address
FMT CODES:
Format FileExt Valid codes
------ ------- -----------
BIP39Mnemonic .bip39 bip39
Brainwallet .mmbrain mmbrain,brainwallet,brain,bw
DieRollWallet .b6d b6d,die,dieroll
IncogWallet .mmincog mmincog,incog,icg,i
IncogWalletHex .mmincox mmincox,incox,incog_hex,ix,xi
IncogWalletHidden None incog_hidden,hincog,ih,hi
MMGenHexSeedFile .mmhex seedhex,hexseed,mmhex
MMGenMnemonic .mmwords mmwords,words,mnemonic,mn,m
MMGenSeedFile .mmseed mmseed,seed,s
MMGenWallet .mmdat wallet,w
PlainHexSeedFile .hex hex,rawhex,plainhex
MMGEN-WALLET 16.1.0 May 2026 MMGEN-ADDRGEN(1)
The MMGen Wallet Wiki
Download/Install
Using MMGen Wallet
Homepage:
Clearnet |
I2P |
Onion
Code Repository:
Clearnet |
I2P |
Onion
Code Repository Mirrors:
Github |
Gitlab |
Codeberg
IRC:
#mmgen-wallet (OFTC | postman.i2p) |
E-Mail:
Tuta |
Proton
Accounts:
Twitter |
Bitcointalk |
Dread |
Reddit |
Keybase
PGP Signing Key: [5C84 CB45 AEE2 250F 31A6 A570 3F8B 1861 E32B 7DA2][5]
Donate:
⊙ BTC: bc1qxmymxf8p5ckvlxkmkwgw8ap5t2xuaffmrpexap
⊙ BCH: 15TLdmi5NYLdqmtCqczUs5pBPkJDXRs83w
⊙ XMR: 8B14zb8wgLuKDdse5p8f3aKpFqRdB4i4xj83b7BHYABHMvHifWxiDXeKRELnaxL5FySfeRRS5girgUvgy8fQKsYMEzPUJ8h