gArgs.AddArg("-addresstype",strprintf("What type of addresses to use (\"legacy\", \"p2sh-segwit\", or \"bech32\", default: \"%s\")",FormatOutputType(DEFAULT_ADDRESS_TYPE)),false,OptionsCategory::WALLET);
gArgs.AddArg("-changetype","What type of change to use (\"legacy\", \"p2sh-segwit\", or \"bech32\"). Default is same as -addresstype, except when -addresstype=p2sh-segwit a native segwit output is used when sending to a native segwit address)",false,OptionsCategory::WALLET);
gArgs.AddArg("-disablewallet",_("Do not load the wallet and disable wallet RPC calls"),false,OptionsCategory::WALLET);
gArgs.AddArg("-discardfee=<amt>",strprintf(_("The fee rate (in %s/kB) that indicates your tolerance for discarding change by adding it to the fee (default: %s). "
"Note: An output is discarded if it is dust at this rate, but we will always discard up to the dust relay fee and a discard fee above that is limited by the fee estimate for the longest target"),
gArgs.AddArg("-rescan",_("Rescan the block chain for missing wallet transactions on startup"),false,OptionsCategory::WALLET);
gArgs.AddArg("-salvagewallet",_("Attempt to recover private keys from a corrupt wallet on startup"),false,OptionsCategory::WALLET);
gArgs.AddArg("-spendzeroconfchange",strprintf(_("Spend unconfirmed change when sending transactions (default: %u)"),DEFAULT_SPEND_ZEROCONF_CHANGE),false,OptionsCategory::WALLET);
gArgs.AddArg("-txconfirmtarget=<n>",strprintf(_("If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: %u)"),DEFAULT_TX_CONFIRM_TARGET),false,OptionsCategory::WALLET);
gArgs.AddArg("-upgradewallet",_("Upgrade wallet to latest format on startup"),false,OptionsCategory::WALLET);
gArgs.AddArg("-wallet=<path>",_("Specify wallet database path. Can be specified multiple times to load multiple wallets. Path is interpreted relative to <walletdir> if it is not absolute, and will be created if it does not exist (as a directory containing a wallet.dat file and log files). For backwards compatibility this will also accept names of existing data files in <walletdir>.)"),false,OptionsCategory::WALLET);
gArgs.AddArg("-walletbroadcast",_("Make the wallet broadcast transactions")+""+strprintf(_("(default: %u)"),DEFAULT_WALLETBROADCAST),false,OptionsCategory::WALLET);
gArgs.AddArg("-walletdir=<dir>",_("Specify directory to hold wallets (default: <datadir>/wallets if it exists, otherwise <datadir>)"),false,OptionsCategory::WALLET);
gArgs.AddArg("-walletnotify=<cmd>",_("Execute command when a wallet transaction changes (%s in cmd is replaced by TxID)"),false,OptionsCategory::WALLET);
gArgs.AddArg("-walletrbf",strprintf(_("Send transactions with full-RBF opt-in enabled (RPC only, default: %u)"),DEFAULT_WALLET_RBF),false,OptionsCategory::WALLET);
gArgs.AddArg("-zapwallettxes=<mode>",_("Delete all wallet transactions and only recover those parts of the blockchain through -rescan on startup")+
""+_("(1 = keep tx meta data e.g. account owner and payment request information, 2 = drop tx meta data)"),false,OptionsCategory::WALLET);
gArgs.AddArg("-dblogsize=<n>",strprintf("Flush wallet database activity from memory to disk log every <n> megabytes (default: %u)",DEFAULT_WALLET_DBLOGSIZE),true,OptionsCategory::WALLET_DEBUG_TEST);
gArgs.AddArg("-flushwallet",strprintf("Run a thread to flush wallet periodically (default: %u)",DEFAULT_FLUSHWALLET),true,OptionsCategory::WALLET_DEBUG_TEST);
gArgs.AddArg("-privdb",strprintf("Sets the DB_PRIVATE flag in the wallet db environment (default: %u)",DEFAULT_WALLET_PRIVDB),true,OptionsCategory::WALLET_DEBUG_TEST);
gArgs.AddArg("-walletrejectlongchains",strprintf(_("Wallet will not create transactions that violate mempool chain limits (default: %u)"),DEFAULT_WALLET_REJECT_LONG_CHAINS),true,OptionsCategory::WALLET_DEBUG_TEST);