Codex · Introduction · Quick Start
GET STARTED

Quick Start

Zero to mining in about five minutes — make a wallet, start the chain, point a miner at your address, and watch LIQUA land. Then optionally stake, claim, or self-mine straight into locked liquidity. This is the fast path; the Mining page is the long version, and Get a Wallet covers the wallet in depth.

Time
~5 minutes
Needs
Node ≥ 18
Chain
devnet · 8888
You get
LIQUA + locked LP
Before you start

Everything below runs from the liqua/ folder. Run npm install once (Node ≥ 18). This is an experimental devnet (chain 8888) — tokens carry no monetary value.

The whole loop

Four commands take you from nothing to a miner paying your wallet on-chain:

cd liqua && npm install            # once
npm run pool                       # the L1 · dashboard :8030 · Stratum :3333
# ↓ in a new terminal — point a miner at YOUR address
npm run sim -- --host localhost --port 3333 --wallet 0xYOURADDRESS --worker rig-1

Open http://localhost:8030/explorer — blocks land, LIQUA accrues to 0xYOURADDRESS. That's mining. The rest of this page is everything around it.


1 · Make a wallet

Your payout identity is simply a 0x… address. Two ways to get one:

Use a wallet you have. Open your L8 wallet (or MetaMask) and copy its address. To see your balance, add the devnet network: Chain ID 8888, RPC http://localhost:8030/rpc. Full guide: Get a Wallet.

Or generate a throwaway devnet keypair (run inside liqua/ — it has the crypto libs):

node -e "const{secp256k1}=require('@noble/curves/secp256k1'),{keccak_256}=require('@noble/hashes/sha3');const k=secp256k1.utils.randomPrivateKey(),p=secp256k1.getPublicKey(k,false).slice(1);console.log('addr 0x'+Buffer.from(keccak_256(p).slice(-20)).toString('hex'));console.log('key  0x'+Buffer.from(k).toString('hex'))"
Keep the key

The addr is your payout. Keep the key — you'll use it to sign stake / claim / self-mine later. (Throwaway devnet only — never reuse a real key here.)

2 · Start the chain

The mining pool is the live L1 — it verifies real Ethash shares and bridges every pool block into a real Liqua block, so balances live here.

npm run pool                       # dashboard :8030 · Stratum :3333
# GPU-tuned, crash-resuming supervisor instead:
node pool/run-pool.mjs

3 · Mine to your wallet

Your address is your miner username. Pick whichever matches what you have:

# test rig (no GPU needed) — a real Stratum client
npm run sim -- --host localhost --port 3333 --wallet 0xYOURADDRESS --worker rig-1

# real GPU rig (lolMiner / T-Rex / TeamRed) — username = your address
lolMiner --algo ETHASH --pool localhost:3333 --user 0xYOURADDRESS.rig-1

# no pool / CPU — the native SOMA-PoW miner instead (dashboard :8010)
npm run mine -- --payout 0xYOURADDRESS
You haveUseMines
just a laptopnpm run sim or npm run mineshares to the pool · or native SOMA-PoW
a GPU riglolMiner … --algo ETHASHreal Ethash → bridged to L1

Depth, all flags, and live throttle controls: Mining.

4 · Watch your LIQUA

It accrues to 0xYOURADDRESS every block. See it at:

Pool dashboard
Block explorer
In your wallet
chain 8888 RPC
Raw balance
eth_getBalance

5 · How rewards land

By default emission is credit mode — spendable immediately. For the §5 gated path, run the pool in escrow mode and claim after the confirmation gate:

npm run pool -- --reward-mode escrow     # then claim at http://localhost:8030/claim

See RewardEscrow §5 for the dual-seed claim model.

6 · Lock it as liquidity

Optional — turn mined LIQUA into proof-of-lock liquidity with a ve-lock (up to 4 years):

Open http://localhost:8030/connect → connect your wallet → stake & lock. Your position then shows on the public locked-liquidity list. Becoming a co-signing validator is the same flow: Become a Validator.

7 · Self-mine into locked liquidity

The hands-off path: enroll once, and every block you mine is auto-zapped into the exchange's LIQUA/mUSDC AMM pool with the LP time-locked for you (rolling term). Runs on the orderbook-DEX:

cd ../orderbook-dex
npm run chain && npm run deploy:local && npm run relayer   # exchange on :8080
npm run self-mine                                       # the driver

Then enroll your wallet at localhost:8080/self-mine.html (pick 1 / 2 / 4 years) and keep mining to that same address. Disable + wait out the term to withdraw the LP.

The loop, end to end

wallet → npm run pool → point a miner at your address → LIQUA accrues → spend · claim · stake-lock · or self-mine into locked liquidity.

Where next