Genesis Operator
Genesis is where a Liqua chain comes into being. There are two dimensions to it: the
ecosystem genesis constitutes every app surface into a deterministic height-0 block, and the
network genesis is the seed node everyone else bootstraps from. BOOT IS GENESIS (R7).
This page runs both.
Two kinds of genesis
| Ecosystem genesis | Network genesis | |
|---|---|---|
| What it does | commits all surfaces + chain params into the height-0 block | stands up the seed node peers bootstrap from |
| Binary | genesis/genesis.mjs | node/start.mjs (see Peer) |
| Output | genesis.block.json + a SOMA-256 root | a live lnode:// seed |
| Agreed on by | everyone (deterministic root) | the STATUS genesis-gate at connect |
Ecosystem genesis
Every app in the ecosystem becomes a CELL inside an ORGAN; the genesis
SOMA-256 root (chain/soma.mjs) commits the whole ecosystem plus the chain parameters at height
0. The manifest in genesis/ecosystem.genesis.mjs is the source of truth — 9 organs, 31 cells.
The committed parameters
These are baked into the genesis root. Changing any of them produces a different genesis — which, on a live chain, requires a 98% governance vote (§6).
| Param | Value | Spec |
|---|---|---|
| name / symbol / decimals | Liqua / LIQUA / 18 | — |
| hash / evmHash | SOMA-256 (BLAKE3) / keccak-256 | §1 |
| continuous / epochs | true / false | L0 |
| veLock | dMaxYears: 4, boostMax: 0.5 | §2 |
| emission | e0: 50, halflifeBlocks: 2,100,000, twitch 0.85–1.15, floor 0.5, cap 1.25 | §4 |
| governance | quorum: 0.98, windowBlocks: 100,800 | §6 |
| reward | confirmGate: 12 | §5 |
The organs
Nine organs, each expressing a molecular layer, each holding its member apps as cells:
| Organ | Layer | Cells |
|---|---|---|
| CORE · Flagship | DNA | 6 |
| SOMA · Felt state | EMOTIONS | 4 |
| LEDGER · Chain + custody | LEDGER | 3 |
| MARKETS · Signal | ENGINES | 4 |
| SUITES · Launchers | KERNELS | 2 |
| LABS · Utilities | SELF | 4 |
| LEARNING · Henesis + school | ENGINES | 3 |
| ARCADE · Games | ORGANS | 3 |
| PROJECTS · Dashboards | ORGANS | 2 |
Compute the genesis block
node genesis/genesis.mjs
# pin a different genesis timestamp (still deterministic):
GENESIS_TS=1735689600 node genesis/genesis.mjs
It prints a per-organ SOMA-root table, the final SOMA-256 root and its keccak (EVM) mirror, the
readiness summary, and the §1c boot loop — then writes the artifact to
genesis/genesis.block.json.
▰▰ LIQUA · GENESIS chain 8888 · Liqua · genesis-v1
public seed LIQUA·ECOSYSTEM·GENESIS·v1·7SLF·DREWLESS
genesis ts 2025-01-01T00:00:00.000Z (deterministic)
ORGAN LAYER CELLS SOMA root
CORE · Flagship DNA 6/6 37d309f2…
…
SOMA-256 root 0x37d309f2…091ec80a
ecosystem 9 organs · 31 cells · 31 ready
✓ GO · ecosystem ready for genesis
The readiness gate
Genesis is honest by construction: every committed surface must exist on disk. If one is
missing, the builder reports ▲ HOLD, lists the missing surfaces, and exits 1 — the
ecosystem is not yet ready. All present → ✓ GO, exit 0. It's a deterministic gate you can
put in CI.
Same manifest + same genesisTs ⇒ byte-identical root. There is no Date.now() or RNG in
the path — the timestamp is fixed (and overridable via $GENESIS_TS) precisely so the root is
reproducible by anyone.
The artifact
genesis.block.json is the height-0 block: version, chain,
publicSeed, genesisTs, prevHash (all-zero — genesis has no parent),
paramsHash, chainMaster, hash {algo, soma, evm}, the per-organ
organs[] roots, the full params, a meta note pinning the 98% change rule, and
the §1c boot loop: SEED → GENESIS → RENDER → COMMIT → META.VERIFY → INSTANCE.
Network genesis · the seed node
The other half: stand up the node others bootstrap from. It prints its lnode:// URI — hand that to
joiners as their --bootnode (full walkthrough in Run a Peer):
node node/start.mjs --seed genesis --port 30303
Peers don't re-download your genesis block to agree on it — they compute the genesis id (the
SOMA root) and the STATUS gate rejects anyone whose chainId or genesis doesn't match. The two
dimensions meet here: the ecosystem root is what the network agrees on.
Public seed vs private seed
The public seed (LIQUA·ECOSYSTEM·GENESIS·v1·7SLF·DREWLESS) is deterministic and
shared — it is not a secret. An instance only exists once a private seed
genesises against it (R6 · instance = auth). This is the same dual-seed model your wallet
uses, applied to the whole chain.
- The ecosystem genesis (deterministic root + readiness gate) and the network seed node both run today.
- Not yet wired: a bootnode that serves the full genesis block artifact to fresh joiners + block-sync from height 0. Peers agree on the genesis id via the STATUS gate, but distributing the block + syncing from genesis is roadmap.
- Production swaps the string public seed for a content-addressed CID.