Skip to content

Command Line Interface

--account_create --wallet=<wallet>

Insert next deterministic key in to <wallet>

--account_get --key=<key>

Get account number for the <key>

--account_key --account=<account>

Get the public key for <account>


Remove all send IDs from the database (dangerous: not intended for production use)

--config key=value

Pass node configuration values. This takes precedence over any values in the configuration file. This option can be repeated multiple times.


version 19.0+ Sets the confirmation heights of all accounts to 0. Optional --account to only reset a single account.


Start node daemon. Since version 19.0, network and path will be output, similar to:

./nano_node --daemon --network test
Network: test, version: 19.0
Path: /home/USER/NanoTest


Use the supplied <path> as the data directory


Display the number of accounts


version 20.0+ Display the total counts of each version for all accounts (including unpocketed)


Display the number of blocks


Generate bootstrap sequence of blocks


version 19.0+ Display the number of cemented blocks (blocks which are under the confirmation height of their accounts)


version 19.0+ Dump frontiers which have matching unchecked keys


List online weights table and current online_weights value


List representatives and weights


Generates fake debug activity


Output the stacktrace stored after a node crash.


Profile simulated bootstrap process


Profile work generation
Optional --pow_sleep_interval in version 19.0+ which sets an amount to sleep (in nanoseconds) between batches of POW calculations when using the CPU.


Profile work validation


Profile kdf function


Profile signature generation


Profile vote verification


version 20.0+ Prints a stacktrace example, useful to verify that it includes the desired information, such as files, function names and line numbers


version 19.0+ Validate blocks in the ledger, includes checks for confirmation height


Profile signature verification


[Disabled] Profile xorshift algorithms

--debug_opencl --platform=<platform> --device=<device> --threads=<threads>

[Draft] Profile OpenCL work generation for <device> on <platform> using <threads> count. To retrieve available platforms & devices run --diagnostics


Run internal diagnostics and validate existing config file (or create default config file if it doesn't exist)

--generate_config node|rpc

Write configuration to stdout, populated with commented-out defaults suitable for this system. Pass the configuration type, node or rpc. If --use_defaults is passed, the generated config will not have values commented-out. This is not recommended except for testing and debugging.

The output can be piped to a file, using the locations defined in configuration.


Print out options


Generates a adhoc random keypair and prints it to stdout

--key_expand --key=<key>

Derive public key and account number from <key>


Allows selection of a different network at runtime. Values live, beta and test supported.


Clear record history for long term online weight trending


Clear cached peers


Compact database and create snapshot, functions similar to vacuum but does not replace the existing database. Optional --unchecked_clear, --clear_send_ids, --online_weight_clear, --peer_clear Optional --confirmation_height_clear in version 19.0+


Clear unchecked blocks


Compact database. If data_path is missing, the database in data directory is compacted. Optional --unchecked_clear, --clear_send_ids, --online_weight_clear, --peer_clear


Prints out version


Dump most recent votes from representatives

--wallet_add_adhoc --wallet=<wallet> --key=<key>

Insert <key> in to <wallet>

--wallet_create --seed=<seed> --password=<password>

Creates a new wallet with optional <seed> and optional <password>, and prints the ID. Note the legacy --key option can still be used and will function the same as --seed.

--wallet_change_seed --wallet=<wallet> --seed=<seed>

Changes seed for <wallet> to <seed>. Note the legacy --key option can still be used and will function the same as --seed.

--wallet_decrypt_unsafe --wallet=<wallet> --password=<password>

Decrypts <wallet> using <password>
If you didn't set password yet, use --wallet_decrypt_unsafe --wallet=<wallet>

--wallet_destroy --wallet=<wallet>

Destroys <wallet> and all keys it contains

--wallet_import --file=<filepath> --wallet=<wallet> --password=<password>

Imports keys in <filepath> using <password> in to <wallet>. If the provided wallet id does not exist and --force is included, a new wallet will be created with the provided wallet id value, and the json file will be imported as is with existing seed and password (instead of a set of private keys without a change of seed).


Dumps wallet IDs and public keys

--wallet_remove --wallet=<wallet> --account=<account>

Remove <account> from <wallet>

--wallet_representative_get --wallet=<wallet>

Prints default representative for <wallet>

--wallet_representative_set --wallet=<wallet> --account=<account>

Set <account> as default representative for <wallet>

Launch options

When initially starting the nano_node or nano_wallet as a service the following launch options are available.

NOTE: These options are only for developer use so please understand the impacts before use.


Increase block processor transaction batch write size, default 0 (limited by config block_processor_batch_max_time), 256k for fast_bootstrap


Increase block processor allowed blocks queue size before dropping live network packets and holding bootstrap download, default 65536, 1 million for fast_bootstrap


Increase batch signature verification size in block processor, default 0 (limited by config signature_checker_threads), unlimited for fast_bootstrap


Turn off automatic wallet backup process


Turn off use of lazy bootstrap


Turn off use of legacy bootstrap


Turn off use of wallet-based bootstrap


Turn off listener on the bootstrap network so incoming TCP (bootstrap) connections are rejected. Note: this does not impact TCP traffic for the live network.


version 19.0+ Turn off use of TCP live network (TCP for bootstrap will remain available)


version 19.0+ Turn off use of UDP live network


Prevent periodic cleaning of unchecked table


Prevent drop of all unchecked entries at node/wallet start


Increase bootstrap processor limits to allow more blocks before hitting full state and verify/write more per database call. Also disable deletion of processed unchecked blocks