:: In active development. Codebase tracks the dev branch. Explore at your own risk. Official release coming soon.
Skip to content

vesl.toml

Config file for any vesl-based hull. All fields are optional; environment variables and CLI flags override config file values. Precedence: CLI flag > env var > vesl.toml > defaults.

Worked Example

toml
# Path to the nockchain monorepo (required for `make setup`)
# Default matches the standard sibling layout: ~/projects/nockchain/{vesl-core,nockchain}
nock_home = "../nockchain"

# Hull HTTP API port (default: 3000)
# api_port = 3000

# Settlement mode: "local" (default), "fakenet", or "dumbnet"
# settlement_mode = "local"

# Chain settings (fakenet/dumbnet only)
# chain_endpoint = "http://localhost:9090"
# tx_fee = 256                # network minimum is 256 nicks
# coinbase_timelock_min = 1
# accept_timeout_secs = 300   # fakenet default; dumbnet default is 900

Fields

FieldTypeDefaultDescription
nock_homestringPath to the nockchain monorepo. Required for make setup.
api_portinteger3000HTTP API port for the serve subcommand.
settlement_modestring"local"One of local, fakenet, dumbnet.
chain_endpointstring"http://localhost:9090"Nockchain gRPC endpoint. Only used in fakenet/dumbnet.
tx_feeinteger256Transaction fee in nicks.
coinbase_timelock_mininteger1Minimum confirmations before a coinbase UTXO is spendable.
accept_timeout_secsinteger300 / 900Seconds to wait for tx acceptance. Fakenet: 300, dumbnet: 900.

Key Derivation

For dumbnet mode the hull needs a signing key. Resolution order, highest priority first:

  1. --seed-phrase-file <path> — reads one line from a file (recommended; keeps the value out of ps output).
  2. --seed-phrase <phrase> — passed on the CLI (visible in process table).
  3. VESL_SEED_PHRASE environment variable.

Domain hulls may add their own fields. The TOML role-toggle pattern (the same code reads different sections of one TOML for different roles) is exercised in crates/vesl-core/tests/wallet_toml_e2e.rs.

See Also