CLI Reference¶
coordd¶
The coordd binary is the coordination server. It exposes a subcommand tree; run coordd --help for the full list.
The --config flag is persistent — it can be passed before any subcommand. When omitted, coordd searches for
config.yaml in ., $HOME/.coordd, and /etc/coordd.
coordd serve¶
Start the HTTP server.
| Flag | Env var | Description |
|---|---|---|
--listen-addr |
COORD_LISTEN_ADDR |
Address to listen on (default :8080) |
--db-path |
COORD_DB_PATH |
Path to SQLite database file |
--audit-log-path |
COORD_AUDIT_LOG_PATH |
Path to audit log JSONL file |
--files-path |
COORD_FILES_PATH |
Directory for genesis + allocation file storage |
--log-level |
COORD_LOG_LEVEL |
Log verbosity: debug, info, warn, error |
--cors-origins |
COORD_CORS_ORIGINS |
Comma-separated allowed CORS origins |
--tls-cert |
COORD_TLS_CERT |
Path to TLS certificate (PEM) |
--tls-key |
COORD_TLS_KEY |
Path to TLS private key (PEM) |
--insecure-no-tls |
COORD_INSECURE_NO_TLS |
Suppress TLS warning (infra TLS mode) |
--insecure-no-rate-limit |
COORD_INSECURE_NO_RATE_LIMIT |
Disable all rate limiters (test environments only) |
--genesis-host-mode |
COORD_GENESIS_HOST_MODE |
Accept raw genesis file uploads |
--genesis-max-bytes |
COORD_GENESIS_MAX_BYTES |
Max genesis upload size in bytes (default 700 MiB) |
Keys and policy are only configurable via env vars or config file — they have no CLI flags:
| Env var | Description |
|---|---|
COORD_AUDIT_PRIVATE_KEY |
Base64 Ed25519 seed for audit log signing |
COORD_AUDIT_PRIVATE_KEY_FILE |
Path to file containing the audit key seed |
COORD_JWT_PRIVATE_KEY |
Base64 Ed25519 seed for JWT signing |
COORD_JWT_PRIVATE_KEY_FILE |
Path to file containing the JWT key seed |
COORD_ADMIN_ADDRESSES |
Comma-separated admin operator addresses |
COORD_LAUNCH_POLICY |
open or restricted (default) |
COORD_INSECURE_NO_SSRF_CHECK |
Disable SSRF check on RPC URLs (trusted envs only) |
The rehearsal/bridge keys (COORD_REHEARSAL_OPS_TOKEN[_FILE], COORD_REHEARSAL_GATE,
COORD_REHEARSAL_LEASE_TTL) are also env-only. See Setup & Configuration for the full reference.
coordd migrate¶
Run database schema migrations and exit. Safe to run repeatedly — migrations are idempotent.
coordd serve runs pending migrations automatically at startup, so this command is optional — use it only to apply
migrations as a separate deploy step (e.g. before rolling the server).
coordd keygen¶
Generate a cryptographically random Ed25519 seed and print it as base64 to stdout.
Run it twice to produce the two keys coordd requires (audit_private_key and jwt_private_key). They must be
different.
For production, pipe directly into your secrets manager to avoid the seed appearing in shell history:
coordd version¶
Print the build version and exit.
coordd audit verify¶
Verify the structural integrity and Ed25519 signatures of a local audit log JSONL file.
| Flag | Description |
|---|---|
--file |
Path to local JSONL audit log file (required) |
--pubkey |
Base64-encoded Ed25519 public key for signature verification |
--server-url |
coordd base URL — fetches the audit pubkey via GET /api/v1/audit/pubkey if --pubkey is omitted |
What it checks:
- Every line is valid JSON with required fields (
launch_id,event_name,occurred_at,payload) - Timestamps are monotonically non-decreasing
- Ed25519 signatures are valid (when a public key is available)
prev_hashof each entry matches the SHA-256 of the previous line (where present)
Examples:
# Verify offline with an explicit pubkey
coordd audit verify --file audit.jsonl --pubkey <base64-pubkey>
# Fetch pubkey from a live server
coordd audit verify --file audit.jsonl --server-url http://coordd:8080
# Structural check only (no signature verification)
coordd audit verify --file audit.jsonl
Exit code is 0 if no anomalies are found, non-zero otherwise.
smoke-signer¶
smoke-signer is a test utility for deterministic secp256k1 signing. It is not intended for production use — its
keys are derived from a fixed index, not from a real keychain.
smoke-signer address¶
Print the bech32 operator address for a key index.
smoke-signer pubkey¶
Print the base64-encoded secp256k1 compressed public key for a key index.
smoke-signer privkey¶
Print the hex-encoded private key for a key index (for importing into a chain keyring).
smoke-signer sign¶
Read a JSON payload from stdin, populate nonce, timestamp, and signature (and pubkey_b64 when the input payload
contains that field), then print the signed payload to stdout.