Getting Started
Configuration
Wallet

Introduction

The XELIS wallet is the application that allows you to securely store, send, and receive XEL (and any other asset available on the chain). 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.

Wallet

Run ./xelis_wallet --help to see all available options.

Daemon Address

Set the daemon address to use for the wallet. This is the address of the daemon to connect to.

By default, the daemon address is set to 127.0.0.1:8080 to connect to your local node.

To set the daemon address to http://127.0.0.1:8081, use: ./xelis_wallet --daemon-address http://127.0.0.1:8081.

Enable XSWD

Enable the XSWD mode. This will enable the wallet to use the XSWD protocol to communicate with applications securely.

By default, the XSWD mode is disabled.

To enable the XSWD mode, use: ./xelis_wallet --enable-xswd.

Wallet Path

Set the wallet path to use for the wallet.

To use the wallet file mywallet, use: ./xelis_wallet --wallet-path mywallet.

If not specified, wallet is created in wallets/ folder of the current directory with its name.

Password

Set the password to use for the wallet file.

To use the password mypassword, use: ./xelis_wallet --password mypassword.

Seed

Set the seed to use for the wallet file.

This is useful to recover a wallet from a seed.

To use the seed myseed myseed, use: ./xelis_wallet --seed "myseed myseed".

Offline Mode

Enable offline mode. This will disable the wallet to connect to the daemon and will not be able to send transactions.

By default, the wallet open in online mode and try to connect to the daemon.

To enable the offline mode, use: ./xelis_wallet --offline-mode.

RPC Bind Address

Set the bind address to use for the RPC server. By default, the bind address is set to 127.0.0.1:8080.

To set the bind address to 127.0.0.1:8081, use: ./xelis_wallet --rpc-bind-address 127.0.0.1:8081.

RPC Password

Set the password to use for the RPC server. By default, no password is set.

A password is required if a username is provided.

To set the password to mypassword, use: ./xelis_wallet --rpc-password mypassword.

RPC Username

Set the username to use for the RPC server.

A username is required if a password is provided.

To set the username to myusername, use: ./xelis_wallet --rpc-username myusername.

Disable File Logging

By default, the wallet logs to a file. To disable logging, use: ./xelis_wallet --disable-file-logging.

Disable Date-Based File Log Naming

Disable date-based file naming for logs. If disabled, the log file will be named xelis-daemon.log instead of YYYY-MM-DD.xelis-daemon.log

To disable, use: ./xelis_wallet --disable-file-log-date-based.

Disable Log Colors

Disable the usage of colors in the log.

To disable, use: ./xelis_wallet --disable-log-color.

Disable Interactive Mode

Disable terminal interactive mode. You will not be able to write CLI commands in it or have an updated prompt.

To disable, use: ./xelis_wallet --disable-interactive-mode.

Log Filename

Set a custom log file name. By default, the filename is set to xelis-daemon.log.
Log file are stored in the logs folder and are named with the date of the day.

To set the filename to mylog.log, use: ./xelis_wallet --filename-log mylog.log.

Logs Modules

Module configuration for logs.

To set, use: ./xelis_wallet --logs-modules module_name=off.

Logs Dir Path

Set a custom directory path to store the logs files.
By default it will be logs/ of the current directory.

To set the path to mylogs/, use: ./xelis_wallet --logs-path mylogs/.

NOTE: The directory will be created using the provided path if it does not exist. The path must end with a /.

Log Level

Set the log level to use. Available values are trace, debug, info, warn, error.

By default, the log level is set to info.

To set the log level to debug: ./xelis_wallet --log-level debug.

File Log Level

Set the file log level to use. Available values are trace, debug, info, warn, error.

This is useful to have a different log level for the file log than the console log.

By default, the file log level is set to value passed to --log-level (which is also info by default).

To set the file log level to debug: ./xelis_wallet --file-log-level debug.

Disable History Scan

Disable the history scan. This will prevent syncing old TXs/blocks. Only blocks / transactions caught by the network handler will be stored, not the old ones

To set, use: ./xelis_wallet --disable-history-scan.

Force Stable Balance

Force the wallet to use a stable balance only during transactions creation. This will prevent the wallet to use unstable balance and prevent any orphaned transaction due to DAG reorg. This is only working if the wallet is in online mode.

To set, use: ./xelis_wallet --force-stable-balance.

Precomputed Tables Path

Set the path to the precomputed tables to use for the wallet.

By default, it will be from current directory.

To set the path to mytables, use: ./xelis_wallet --precomputed-tables-path mytables.

Version

Print the version of the miner.

To print the version, use: ./xelis_wallet --version.