Skip to Content

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

FieldValue
Usage--rpc-bind-address <RPC_BIND_ADDRESS>
RequiredNo
ValueYes
Value nameRPC_BIND_ADDRESS

rpc_username

Username required for RPC authentication

FieldValue
Usage--rpc-username <RPC_USERNAME>
RequiredNo
ValueYes
Value nameRPC_USERNAME

rpc_password

Password required for RPC authentication

FieldValue
Usage--rpc-password <RPC_PASSWORD>
RequiredNo
ValueYes
Value nameRPC_PASSWORD

rpc_threads

Number of worker threads used by the RPC server

FieldValue
Usage--rpc-threads <RPC_THREADS>
RequiredNo
ValueYes
Value nameRPC_THREADS

daemon_address

Daemon RPC endpoint used to sync the wallet

FieldValue
Usage--daemon-address <DAEMON_ADDRESS>
RequiredNo
ValueYes
Value nameDAEMON_ADDRESS
Default valuehttp://127.0.0.1:8080

offline_mode

Start without connecting to a daemon

FieldValue
Usage--offline-mode
RequiredNo
ValueNo
Value nameOFFLINE_MODE
Default valuefalse
Possible valuestrue, 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.

FieldValue
Usage--precomputed-tables-l1 <PRECOMPUTED_TABLES_L1>
RequiredNo
ValueYes
Value namePRECOMPUTED_TABLES_L1
Default value26

precomputed_tables_path

Directory used to read or generate precomputed tables.

Defaults to the current directory.

FieldValue
Usage--precomputed-tables-path <PRECOMPUTED_TABLES_PATH>
RequiredNo
ValueYes
Value namePRECOMPUTED_TABLES_PATH

log_level

Minimum log level printed to the terminal

FieldValue
Usage--log-level <LOG_LEVEL>
RequiredNo
ValueYes
Value nameLOG_LEVEL
Default valueinfo
Possible valuesoff, error, warn, info, debug, trace

file_log_level

Minimum log level written to the log file.

Defaults to the terminal log level.

FieldValue
Usage--file-log-level <FILE_LOG_LEVEL>
RequiredNo
ValueYes
Value nameFILE_LOG_LEVEL
Possible valuesoff, error, warn, info, debug, trace

disable_file_logging

Disable writing logs to a file

FieldValue
Usage--disable-file-logging
RequiredNo
ValueNo
Value nameDISABLE_FILE_LOGGING
Default valuefalse
Possible valuestrue, 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.

FieldValue
Usage--disable-file-log-date-based
RequiredNo
ValueNo
Value nameDISABLE_FILE_LOG_DATE_BASED
Default valuefalse
Possible valuestrue, false

auto_compress_logs

Compress rotated log files automatically.

This only applies when file logging is enabled.

FieldValue
Usage--auto-compress-logs
RequiredNo
ValueNo
Value nameAUTO_COMPRESS_LOGS
Default valuefalse
Possible valuestrue, false

disable_log_color

Disable colors in terminal logs

FieldValue
Usage--disable-log-color
RequiredNo
ValueNo
Value nameDISABLE_LOG_COLOR
Default valuefalse
Possible valuestrue, false

disable_interactive_mode

Disable the interactive terminal prompt.

CLI commands and live prompt updates are unavailable in this mode.

FieldValue
Usage--disable-interactive-mode
RequiredNo
ValueNo
Value nameDISABLE_INTERACTIVE_MODE
Default valuefalse
Possible valuestrue, 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.

FieldValue
Usage--filename-log <FILENAME_LOG>
RequiredNo
ValueYes
Value nameFILENAME_LOG
Default valuexelis-wallet.log

logs_path

Directory where log files are written.

Defaults to logs/. The path must end with / or \.

FieldValue
Usage--logs-path <LOGS_PATH>
RequiredNo
ValueYes
Value nameLOGS_PATH
Default valuelogs/

logs_modules

Per-module log filters

FieldValue
Usage--logs-modules <LOGS_MODULES>
RequiredNo
ValueYes
Value nameLOGS_MODULES
MultipleYes

disable_ascii_art

Disable the ASCII art shown at startup

FieldValue
Usage--disable-ascii-art
RequiredNo
ValueNo
Value nameDISABLE_ASCII_ART
Default valuefalse
Possible valuestrue, false

datetime_format

Datetime format used in log entries

FieldValue
Usage--datetime-format <DATETIME_FORMAT>
RequiredNo
ValueYes
Value nameDATETIME_FORMAT
Default value\[%Y-%m-%d\] (%H:%M:%S%.3f)

wallet_path

Wallet directory to open or create

FieldValue
Usage--wallet-path <WALLET_PATH>
RequiredNo
ValueYes
Value nameWALLET_PATH

password

Password used to open the wallet

FieldValue
Usage--password <PASSWORD>
RequiredNo
ValueYes
Value namePASSWORD

seed

Recover the wallet from a seed phrase

FieldValue
Usage--seed <SEED>
RequiredNo
ValueYes
Value nameSEED

n_decryption_threads

Number of threads used for ciphertext decryption

FieldValue
Usage--n-decryption-threads <N_DECRYPTION_THREADS>
RequiredNo
ValueYes
Value nameN_DECRYPTION_THREADS
Default value32

network_concurrency

Maximum number of concurrent network handler tasks

FieldValue
Usage--network-concurrency <NETWORK_CONCURRENCY>
RequiredNo
ValueYes
Value nameNETWORK_CONCURRENCY
Default value32

network

Network to use for addresses, sync, and transactions

FieldValue
Usage--network <NETWORK>
RequiredNo
ValueYes
Value nameNETWORK
Default valuemainnet
Possible valuesmainnet, testnet, stagenet, devnet

enable_xswd

Enable the XSWD server

FieldValue
Usage--enable-xswd
RequiredNo
ValueNo
Value nameENABLE_XSWD
Default valuefalse
Possible valuestrue, 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.

FieldValue
Usage--history-scan-mode <HISTORY_SCAN_MODE>
RequiredNo
ValueYes
Value nameHISTORY_SCAN_MODE
Default valueall
Possible valuesnone, 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.

FieldValue
Usage--force-stable-balance
RequiredNo
ValueNo
Value nameFORCE_STABLE_BALANCE
Default valuefalse
Possible valuestrue, false

config_file

JSON configuration file to load

FieldValue
Usage--config-file <CONFIG_FILE>
RequiredNo
ValueYes
Value nameCONFIG_FILE

generate_config_template

Generate a configuration template at config_file

FieldValue
Usage--generate-config-template
RequiredNo
ValueNo
Value nameGENERATE_CONFIG_TEMPLATE
Default valuefalse
Possible valuestrue, false
Last updated on