Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

CLI reference

exfer exposes its functionality through five top-level subcommands. This page lists each one and its purpose; for end-to-end recipes see Getting Started and Use Exfer.

exfer <command>

Commands:
  init      Initialize a new Exfer node (wallet + node + optional mining)
  node      Run a full node
  mine      Run the miner (full node + block production)
  wallet    Wallet operations
  script    Script operations (HTLC, multisig, vault, escrow, delegation)
  help      Print help for a command

Every command supports --help.

exfer init

One-shot bootstrap. Creates a wallet, starts a node, optionally enables mining.

exfer init                                   # interactive passphrase
EXFER_PASS=... exfer init --passphrase-env EXFER_PASS --json
exfer init --mine                            # also start mining
exfer init --no-passphrase                   # unencrypted wallet (testing only)

exfer node

Run a full node without mining.

exfer node \
    --datadir       ~/.exfer \
    --rpc-bind      127.0.0.1:9334 \
    --repair-perms
FlagPurpose
--datadirWhere chain + state live (default data)
--bindP2P bind address (default 0.0.0.0:9333)
--peersManually specify peers (repeatable). Defaults to DNS seed
--rpc-bindOptional JSON-RPC endpoint
--repair-permsAuto-fix node_identity.key permissions on startup
--verify-allRe-verify PoW for all replayed blocks (slow)
--no-assume-validDisable the pre-checkpoint PoW skip during IBD

exfer mine

Same as exfer node plus block production. Use --miner-pubkey so the private key never lives on the mining host.

exfer mine \
    --datadir       ~/.exfer \
    --miner-pubkey  <YOUR_PUBKEY_HEX> \
    --rpc-bind      127.0.0.1:9334 \
    --repair-perms

See Solo mine.

exfer wallet

Subcommands:

SubcommandPurpose
generateCreate a new keypair
infoShow address + pubkey of a wallet file
balanceSum of spendable UTXOs for the wallet's address
sendBuild, sign, and broadcast a payment

See Getting Started for full examples.

exfer script

Subcommands grouped by script pattern:

HTLC

  • htlc-lock
  • htlc-claim
  • htlc-reclaim

See HTLC.

Multisig

  • multisig2of2-lock, multisig2of2-spend
  • multisig1of2-lock, multisig1of2-spend
  • multisig2of3-lock, multisig2of3-spend

See Multisig.

Vault

  • vault-lock
  • vault-spend
  • vault-recover

See Vault.

Escrow

  • escrow-lock
  • escrow-release
  • escrow-arbitrate
  • escrow-reclaim

See Escrow.

Delegation

  • delegation-lock
  • delegation-owner-spend
  • delegation-delegate-spend

See Delegation.

Global conventions

  • --json is supported on every subcommand that produces output. Always prefer it for scripted use.
  • --rpc <URL> routes UTXO lookups and submission through a remote RPC node, so you can spend without running a full local node.
  • --datadir <PATH> for local-database operations.
  • --wallet <PATH> for any command that signs. The CLI prompts for the passphrase unless the wallet was created with --no-encrypt.

For the authoritative flag list of any subcommand, run:

exfer <command> --help
exfer <command> <subcommand> --help