Quickstart¶
Run coordd locally in a few minutes. This guide assumes you have Go 1.25+ installed.
Newly released
seedward-chaincoord v1.0.0 is the first stable release. It has not had an external security audit — review the threat model and verify on your own setup before high-value use.
1. Build¶
This produces two binaries:
bin/coordd— the coordination serverbin/smoke-signer— test signing utility (only needed for E2E tests)
2. Generate keys¶
coordd requires two Ed25519 keys at startup: one for signing audit log entries, one for JWT session tokens. Generate
them with the built-in keygen command:
mkdir -p data
bin/coordd keygen > data/audit_key
bin/coordd keygen > data/jwt_key
chmod 600 data/audit_key data/jwt_key
Each key is a base64-encoded 32-byte seed, stored as a single line of text.
3. Write a config file¶
Create config.yaml in the project root:
listen_addr: ":8080"
db_path: "./data/coord.db"
audit_log_path: "./data/audit.jsonl"
files_path: "./data/genesis"
log_level: "debug"
audit_private_key_file: "./data/audit_key"
jwt_private_key_file: "./data/jwt_key"
See Setup & Configuration for all available options.
4. Run migrations¶
This creates the SQLite database and applies all schema migrations. coordd serve runs the same migrations at startup,
so this step is optional — a separate migrate is handy for running migrations as a distinct deploy step. Note it does
not read the config file: pass the database path via --db-path (or
COORD_DB_PATH).
5. Start the server¶
With log_level: debug the server emits human-readable output to stderr. You should see:
6. Verify it is up¶
Next steps¶
- Run with Docker — run
coorddfrom the published image. (The full stack — coordd + web — lives in seedward-suite.) - Smoke Test — run the full end-to-end protocol against a live Cosmos SDK chain
- Setup & Configuration — TLS, CORS, production options