Skip to main content

CLI reference

Configuration files have their own pages: epic-server.toml and epic-wallet.toml.

Wallet commands

CommandPurpose
initCreate a wallet
infoBalance summary
txsTransaction log
outputsRaw output list
addressPrint the epicbox, payment proof and Tor addresses
sendStart an outbound transfer
receiveProcess an inbound slate
finalizeComplete and post a transfer
invoiceIssue an invoice slate
payPay an invoice slate
cancelAbandon a transfer and release its reserved outputs
postPost a finalised slate file
repostRepost or dump a stored transaction
listenRun a receiving listener
owner_apiRun the Owner API
scanRescan the chain and rebuild output state
recoverPrint the existing recovery phrase
accountList accounts, or create one with -c <name>
export_tx / import_txMove transaction log entries between wallets
export_proof / verify_proofPayment proofs
change_passwordRe-encrypt the seed file

Wallet command flags

Declared in src/cmd/wallet_args.rs:66. Defaults are in parentheses.

CommandPositionals and flags
init-w/--cwd create in the current directory, -s/--short_wordlist produce a 12-word recovery phrase instead of 24, -r/--recover initialise from an existing phrase
info-c/--min_conf <n> (10)
txs-i/--id <id>, -t/--txid <uuid>, -l/--limit <n>, -o/--offset <n>, -s/--sort_order <asc or desc> (desc)
outputs-f/--show_full_history, -l/--limit <n>, -o/--offset <n>, -s/--sort_order <asc or desc> (desc)
send<amount> positional, -d/--dest <destination>, -m/--method <transport> (http), -c/--min_conf <n> (10), -s/--selection <all or smallest> (smallest), -e/--estimate-selection, -o/--change_outputs <n> (1), -y/--request_payment_proof, -z/--proof_address <address>, -g/--message <text>, -t/--stored_tx <id>, -b/--ttl_blocks <n>, -v/--slate_version <n>, -f/--fluff
receive-i/--input <file or emoji string>, -m/--method <file or emoji> (file), -g/--message <text>
finalize-i/--input <file>, -m/--method <file or emoji> (file), -d/--dest <file> to save the finalised slate, -n/--nopost to finalise without posting, -f/--fluff
invoice<amount> positional, -d/--dest <file>, -g/--message <text>, -v/--slate_version <n>
pay-i/--input <file>, -m/--method <file, http or self> (file), -d/--dest <destination>, -c/--min_conf <n> (10), -s/--selection <all or smallest> (all), -e/--estimate-selection, -g/--message <text>, -b/--ttl_blocks <n>
cancel-i/--id <id> or -t/--txid <uuid>
post-i/--input <file>, -f/--fluff
repost-i/--id <id>, required, -m/--dumpfile <file> to write the transaction instead of posting it, -f/--fluff
listen-m/--method <http, keybase or epicbox> (http), -l/--port <n>, -n/--no_tor
owner_api-l/--port <n>, --run_foreign to serve the Foreign API on the same port
scan-s/--start_height <n> (1), -d/--delete_unconfirmed
export_tx-o/--output <file>, required, -i/--id <id> or --all, --format <csv or json> (json)
import_tx-i/--input <file>, required, --format <csv or json> (json)
export_proof<file> positional, -i/--id <id> or -t/--txid <uuid>
verify_proof<file> positional
change_password<old password> and <new password> positionals, each prompted for when omitted, and --remove-backup

-f/--fluff broadcasts immediately rather than through the Dandelion relay. -e/--estimate-selection prints the fee for every selection strategy without building a transaction.

Send transports for -m: http, file, self, keybase, emoji, epicbox, defaulting to http. receive and finalize accept file and emoji, defaulting to file. pay accepts file, http and self. See transports.

change_password copies the seed file, re-encrypts it under the new password, and deletes the copy once the new seed verifies against the old mnemonic. --remove-backup keeps the copy instead (src/cmd/wallet_args.rs:452).

Global flags, which go before the subcommand: -p <password>, -a <account> (defaults to default), -r <node url>, -t <dir>/--top_level_dir, -c <dir>/--current_dir, -e/--external, -s/--show_spent, --offline_mode, and the network selectors --floonet and --usernet.

-w/--cwd is a flag on init alone and takes no value, so epic-wallet -w . init is not valid. To act on a wallet outside ~/.epic/<network>, run the command from that directory or pass --current_dir <path>.

Node commands

CommandPurpose
epicRun the node
epic server configWrite a fresh epic-server.toml into the current directory
epic server runRun the node in this console
epic client statusNode status
epic client listconnectedpeersConnected peers
epic client ban -p <ip:port>Ban a peer
epic client unban -p <ip:port>Lift a ban
epic taxes -w <wallet listener> -g <count>Generate foundation coinbases. -p <dir> sets the output directory, -s <height> the start height

epic server also takes -c/--config_file <path>, -s/--seed <ip:port> to override the seed node, and -w/--wallet_url <url> to set the Stratum coinbase listener. Top-level flags are --floonet and --usernet. Declared in src/bin/cmd/epic_args.rs:18.

The block policy and the API listen address are configured in the file rather than on the command line. See epic-server.toml and the block policy.

Ports

PortServiceShifts per network
3413Node APIYes. 13413 floonet, 23413 usernet
3414Node P2PYes. 13414 floonet, 23414 usernet
3415Wallet Foreign APIYes. 13415 floonet, 23415 usernet
3416Node Stratum serverYes. 13416 floonet, 23416 usernet
3420Wallet Owner APINo, the same on every network
443Epicbox relayNot applicable

Networks

NetworkFlagDirectory
Mainnetnone~/.epic/main
Floonet--floonet~/.epic/floo
Usernet--usernet~/.epic/user
Automated testingnone, selected by the test suites rather than the command line~/.epic/auto

Coinbase maturity differs per network. See timing.

Floonet has no live DNS seed, so it works between nodes pointed at each other with epic server -s. A usernet chain produces blocks with epic-miner over Stratum plus peer_min_preferred_outbound_count = 0 and only_randomx = true. See run a local network.

Epicbox addresses carry a two-byte base58check version prefix, [1, 0] on mainnet and usernet and [1, 136] on floonet. A wallet parsing an address from the other network returns InvalidBase58Version (libwallet/src/epicbox_address.rs:23).

Data directories

Node. chain_data, epic-server.toml, epic-server.log and .api_secret. Holds no keys. Deleting chain_data costs a resync.

Wallet. wallet_data/ containing the seed file and the database, plus epic-wallet.toml, epic-wallet.log, .owner_api_secret, .api_secret and wallet_tor/. The database is SQLite, at wallet_data/db/sqlite/epic.db, and holds transaction history, account labels and payment proof records. epic-wallet scan rebuilds outputs and balances from the chain, not history. For what to copy and how to restore it, see back up and restore.

Next