Introduction
xelis_wallet is the application that allows you to securely store, send, and receive XEL and any other asset available on the XELIS blockchain.
It connects to the blockchain through the daemon or a remote node, enabling you to manage your funds while maintaining full control of your private keys.
By default, the wallet operates in a non-custodial way only: you hold the keys to your coins, ensuring that no third party can access or move your funds.
Beyond basic transfers, the XELIS wallet also supports advanced features such as interacting with multisig, smart contracts, managing custom assets, and monitoring your transaction history.
For the highest level of privacy and security, it is highly recommended to connect your wallet to a daemon you manage, making your setup fully trustless and independent while contributing to the health of the XELIS network.
Configuration
Command-line wallet for XELIS. Create, open, recover, sync, and manage encrypted wallets, balances, and transactions.
rpc_bind_address
Address the RPC server listens on
| Field | Value |
|---|---|
| Usage | --rpc-bind-address <RPC_BIND_ADDRESS> |
| Required | No |
| Value | Yes |
| Value name | RPC_BIND_ADDRESS |
rpc_username
Username required for RPC authentication
| Field | Value |
|---|---|
| Usage | --rpc-username <RPC_USERNAME> |
| Required | No |
| Value | Yes |
| Value name | RPC_USERNAME |
rpc_password
Password required for RPC authentication
| Field | Value |
|---|---|
| Usage | --rpc-password <RPC_PASSWORD> |
| Required | No |
| Value | Yes |
| Value name | RPC_PASSWORD |
rpc_threads
Number of worker threads used by the RPC server
| Field | Value |
|---|---|
| Usage | --rpc-threads <RPC_THREADS> |
| Required | No |
| Value | Yes |
| Value name | RPC_THREADS |
daemon_address
Daemon RPC endpoint used to sync the wallet
| Field | Value |
|---|---|
| Usage | --daemon-address <DAEMON_ADDRESS> |
| Required | No |
| Value | Yes |
| Value name | DAEMON_ADDRESS |
| Default value | http://127.0.0.1:8080 |
offline_mode
Start without connecting to a daemon
| Field | Value |
|---|---|
| Usage | --offline-mode |
| Required | No |
| Value | No |
| Value name | OFFLINE_MODE |
| Default value | false |
| Possible values | true, false |
precomputed_tables_l1
L1 size used for precomputed tables.
The default is 26, which uses about 330 MB. At each increment of 1, the size of the table is doubled.
| Field | Value |
|---|---|
| Usage | --precomputed-tables-l1 <PRECOMPUTED_TABLES_L1> |
| Required | No |
| Value | Yes |
| Value name | PRECOMPUTED_TABLES_L1 |
| Default value | 26 |
precomputed_tables_path
Directory used to read or generate precomputed tables.
Defaults to the current directory.
| Field | Value |
|---|---|
| Usage | --precomputed-tables-path <PRECOMPUTED_TABLES_PATH> |
| Required | No |
| Value | Yes |
| Value name | PRECOMPUTED_TABLES_PATH |
log_level
Minimum log level printed to the terminal
| Field | Value |
|---|---|
| Usage | --log-level <LOG_LEVEL> |
| Required | No |
| Value | Yes |
| Value name | LOG_LEVEL |
| Default value | info |
| Possible values | off, error, warn, info, debug, trace |
file_log_level
Minimum log level written to the log file.
Defaults to the terminal log level.
| Field | Value |
|---|---|
| Usage | --file-log-level <FILE_LOG_LEVEL> |
| Required | No |
| Value | Yes |
| Value name | FILE_LOG_LEVEL |
| Possible values | off, error, warn, info, debug, trace |
disable_file_logging
Disable writing logs to a file
| Field | Value |
|---|---|
| Usage | --disable-file-logging |
| Required | No |
| Value | No |
| Value name | DISABLE_FILE_LOGGING |
| Default value | false |
| Possible values | true, false |
disable_file_log_date_based
Disable date-based log filenames.
When enabled, the log file is named xelis-wallet.log instead of YYYY-MM-DD.xelis-wallet.log.
| Field | Value |
|---|---|
| Usage | --disable-file-log-date-based |
| Required | No |
| Value | No |
| Value name | DISABLE_FILE_LOG_DATE_BASED |
| Default value | false |
| Possible values | true, false |
auto_compress_logs
Compress rotated log files automatically.
This only applies when file logging is enabled.
| Field | Value |
|---|---|
| Usage | --auto-compress-logs |
| Required | No |
| Value | No |
| Value name | AUTO_COMPRESS_LOGS |
| Default value | false |
| Possible values | true, false |
disable_log_color
Disable colors in terminal logs
| Field | Value |
|---|---|
| Usage | --disable-log-color |
| Required | No |
| Value | No |
| Value name | DISABLE_LOG_COLOR |
| Default value | false |
| Possible values | true, false |
disable_interactive_mode
Disable the interactive terminal prompt.
CLI commands and live prompt updates are unavailable in this mode.
| Field | Value |
|---|---|
| Usage | --disable-interactive-mode |
| Required | No |
| Value | No |
| Value name | DISABLE_INTERACTIVE_MODE |
| Default value | false |
| Possible values | true, false |
filename_log
Log filename stored inside logs_path.
Defaults to xelis-wallet.log. Unless date-based filenames are disabled, daily log files are named YYYY-MM-DD.xelis-wallet.log.
| Field | Value |
|---|---|
| Usage | --filename-log <FILENAME_LOG> |
| Required | No |
| Value | Yes |
| Value name | FILENAME_LOG |
| Default value | xelis-wallet.log |
logs_path
Directory where log files are written.
Defaults to logs/. The path must end with / or \.
| Field | Value |
|---|---|
| Usage | --logs-path <LOGS_PATH> |
| Required | No |
| Value | Yes |
| Value name | LOGS_PATH |
| Default value | logs/ |
logs_modules
Per-module log filters
| Field | Value |
|---|---|
| Usage | --logs-modules <LOGS_MODULES> |
| Required | No |
| Value | Yes |
| Value name | LOGS_MODULES |
| Multiple | Yes |
disable_ascii_art
Disable the ASCII art shown at startup
| Field | Value |
|---|---|
| Usage | --disable-ascii-art |
| Required | No |
| Value | No |
| Value name | DISABLE_ASCII_ART |
| Default value | false |
| Possible values | true, false |
datetime_format
Datetime format used in log entries
| Field | Value |
|---|---|
| Usage | --datetime-format <DATETIME_FORMAT> |
| Required | No |
| Value | Yes |
| Value name | DATETIME_FORMAT |
| Default value | \[%Y-%m-%d\] (%H:%M:%S%.3f) |
wallet_path
Wallet directory to open or create
| Field | Value |
|---|---|
| Usage | --wallet-path <WALLET_PATH> |
| Required | No |
| Value | Yes |
| Value name | WALLET_PATH |
password
Password used to open the wallet
| Field | Value |
|---|---|
| Usage | --password <PASSWORD> |
| Required | No |
| Value | Yes |
| Value name | PASSWORD |
seed
Recover the wallet from a seed phrase
| Field | Value |
|---|---|
| Usage | --seed <SEED> |
| Required | No |
| Value | Yes |
| Value name | SEED |
n_decryption_threads
Number of threads used for ciphertext decryption
| Field | Value |
|---|---|
| Usage | --n-decryption-threads <N_DECRYPTION_THREADS> |
| Required | No |
| Value | Yes |
| Value name | N_DECRYPTION_THREADS |
| Default value | 32 |
network_concurrency
Maximum number of concurrent network handler tasks
| Field | Value |
|---|---|
| Usage | --network-concurrency <NETWORK_CONCURRENCY> |
| Required | No |
| Value | Yes |
| Value name | NETWORK_CONCURRENCY |
| Default value | 32 |
network
Network to use for addresses, sync, and transactions
| Field | Value |
|---|---|
| Usage | --network <NETWORK> |
| Required | No |
| Value | Yes |
| Value name | NETWORK |
| Default value | mainnet |
| Possible values | mainnet, testnet, stagenet, devnet |
enable_xswd
Enable the XSWD server
| Field | Value |
|---|---|
| Usage | --enable-xswd |
| Required | No |
| Value | No |
| Value name | ENABLE_XSWD |
| Default value | false |
| Possible values | true, false |
history_scan_mode
History scan mode used during wallet synchronization.
Modes that skip history only store blocks and transactions received after the wallet starts.
| Field | Value |
|---|---|
| Usage | --history-scan-mode <HISTORY_SCAN_MODE> |
| Required | No |
| Value | Yes |
| Value name | HISTORY_SCAN_MODE |
| Default value | all |
| Possible values | none, all, coinbase |
force_stable_balance
Use only stable balance when building transactions.
This avoids spending funds that may be affected by a DAG reorg and only applies while the wallet is online.
| Field | Value |
|---|---|
| Usage | --force-stable-balance |
| Required | No |
| Value | No |
| Value name | FORCE_STABLE_BALANCE |
| Default value | false |
| Possible values | true, false |
config_file
JSON configuration file to load
| Field | Value |
|---|---|
| Usage | --config-file <CONFIG_FILE> |
| Required | No |
| Value | Yes |
| Value name | CONFIG_FILE |
generate_config_template
Generate a configuration template at config_file
| Field | Value |
|---|---|
| Usage | --generate-config-template |
| Required | No |
| Value | No |
| Value name | GENERATE_CONFIG_TEMPLATE |
| Default value | false |
| Possible values | true, false |