Codex · Run a node · Become a Validator
RUN A NODE

Become a Validator

Validators secure Liqua by putting LIQUA at stake and attesting to the canonical head. You ve-lock tokens (§2) into a real on-chain escrow, register to the validator set, and then co-sign every new head as live proof-of-participation. Longer locks earn more weight; the principal can't leave until expiry. This page runs the validator node and walks the connect flow.

Stake into
VeLock.sol escrow
Lock max
4 years
Boost cap
+50%
Attest
§1e · K-of-N
Governance
98%
Port
:7100
What you'll need

An L8 LEDGER wallet (detected via EIP-6963) or an L8 signer key you can import — a 12/24-word phrase or a 0x… private key, derived at BIP-44 m/44'/60'/account'/0/0, the same path as your L8 wallet. The key never leaves the page; it signs the on-chain lock and the live co-signing. On devnet, the in-page faucet grants test LIQUA. New here? Start with Get a Wallet.

Run the validator node

The validator is a small node that serves both the chain-stake API and the connect page itself.

cd liqua
node miner/validator.mjs        # :7100  (or set LIQUA_VALIDATOR_PORT)

Then open http://localhost:7100 — the node serves miner/validator-connect.html at /. (You can also open that file directly and point it at a remote node by setting localStorage.LIQUA_VAL.) The Server Hub launches this as validator · §1e witness.

The flow · four steps

The connect page is a guided, four-step path. Each step lights up as the previous completes.

  1. Connect your wallet

    The page scans for your L8 extension via EIP-6963 (rdns: studios.7slf.l8) and lists it first. Click it to connect your address & balance. To lock and co-sign, import your L8 signer key (⚿ IMPORT L8 SIGNER KEY) — paste a phrase or 0x… key and choose HOT · 0′ (operational) or COLD · 1′ (vault). An extension-only connection can view, but signing the on-chain lock needs the imported key.

  2. Stake & ve-lock

    Enter an amount and slide the duration from 1 month to the chain's max (4 years). The page previews your ve-weight, boost (continuous, capped at +50% at the 4-year cap), and your share of the set — all mirroring VeLock.sol, driven by the node's /params. Hit ⛓ APPROVE & LOCK ON-CHAIN to approve then createLock — the principal is now escrowed in VeLock.sol.

    No early exit

    Locked principal is withdraw-gated until t ≥ expiry — the contract enforces it, there are no exceptions. Pick a duration you can live with.

  3. Register as a validator

    With a lock in place, ★ REGISTER AS VALIDATOR signs a LIQUA-VALIDATOR-REGISTER message (native key → keccak/JSON scheme, or extension → personal_sign). The node reads your on-chain lock and adds you to the set. The moment you lock, your amount is also published to the §3 locked-liquidity list.

  4. Activate live co-signing

    ⚡ ACTIVATE LIVE CO-SIGNING starts signing each new canonical head: the page polls /head, and when the somaRoot changes it signs it and posts to /attest. Your blocks co-signed counter ticks up — this is your §1e proof-of-participation in the K-of-N witness quorum. Live co-signing needs the imported signer key.

What the page shows

Governance · the 98% rule

Two powers — rollback (revert to a prior block) and change (update a parameter) — each require 98% agreement. To keep near-unanimity from freezing the chain, the denominator is attesting ve-weight in a continuous rolling window, not all-time supply:

// passes only if, over a trailing window of recent blocks:
approvingWeight / attestingWeight(window)  0.98

Your co-signing is what puts your ve-weight into that attesting window — so staying online is what gives your stake a governance voice. On-chain this is Governor98.sol (98% of attesting ve-weight), verified retuning live parameters in the demos.

Full how-to

The Governance page covers the rule in depth — rollback vs change, the proposal lifecycle, and the liveness tradeoff. Note: the 98% governor runs on-chain, but a surface for creating proposals and casting votes is still roadmap.

Verify the stack

The validator + stake vault ship with their own gates:

node miner/test-stake-vault.mjs       # the on-chain ve-lock escrow
node miner/test-validator-stake.mjs   # stake accounting
node miner/test-validator-reg.mjs     # registration + attestation

The validator API

Everything the page does is plain HTTP on :7100. The full catalogue is in the API reference; the essentials:

EndpointPurpose
GET /params · /stake/paramschain + stake parameters (chainId, symbol, max lock, min stake, quorum)
GET /validators · /methe ranked set · your own record
GET /stake/of · /head · /chainyour on-chain lock · current head · chain summary
POST /stake/build · /stake/submitbuild an unsigned stake tx · submit it signed (approve · createLock · withdraw)
POST /stake/faucetdevnet — grant test LIQUA
POST /register · /attestjoin the set · co-sign a head

Files

FileRole
miner/validator.mjsthe validator node — serves the stake API + connect page on :7100
miner/validator-connect.htmlthe guided connect / stake / register / co-sign UI
miner/stake-vault.mjsthe ve-lock escrow + faucet + build/submit tx flow
VeLock.solthe on-chain vote-escrow lock (boost + linear-decay weight)
Governor98.sol98%-of-attesting-ve-weight governor (rollback + change)

Validators secure what miners produce — see Mining for the other side, Run a Peer for the network underneath, and the API reference for every endpoint.

LIQUA · CODEX · Become a Validator · part of Liqua Chain · 7SLF STUDIOS