KRX · Chain profile

A 10-block-per-second BlockDAG with proof of useful inference.

Keryx pairs Kaspa's GHOSTDAG consensus and the keryx-hash GPU PoW with a tiny per-share fixed-point neural fingerprint — Optimistic Proof of Inference — so every accepted share doubles as a verifiable signal of work and inference together.

Block rate
10BPS
0.1 s target · Crescendo at genesis
Subsidy
5.4KRX/block
At genesis · 4-year halvings
Supply cap
≈ 9.92B KRX
Asymptotic · 1-sompi tail
Pool fee
1.0%
On chain subsidy · PPLNS
Minimum payout
1.0KRX
Every 15 minutes
01 The Chain

Kaspa lineage, OPoI extension.

Keryx inherits Kaspa's GHOSTDAG consensus and a Crescendo block rate of 10 blocks per second from genesis, then layers keryx-hash on top — kHeavyHash matrix multiply paired with a network-wide KERYX_MATRIX_SALT and a 4-round WaveMix ARX post-processing step that targets GPU register pressure to favor consumer hardware.

Every accepted share carries a 16-hex Optimistic Proof of Inference tag — tag_fixed(nonce), a deterministic 3-layer fixed-point MLP baked into the protocol. Verification is microseconds and bit-exact across miner and pool. Validity gating is constant-time, so light clients remain cheap.

Algorithm
keryx-hash
Block time
0.1 s 10 BPS · Crescendo from genesis
Difficulty retarget
Every block DAA · sliding median
Max supply
≈ 9,920,000,000 KRX
Block reward
5.4 KRX at genesis (month 0)
Halving cycle
48 months ~4 years
Reward split
75 / 20 / 5 miner · OPoI escrow · R&D
Coinbase maturity
1000 blocks ≈ 100 s at 10 BPS
Signatures
BIP-340 Schnorr
Address format
keryx: CashAddr
02 The Pool

Fast credit, slow send, orphan-aware.

Pool fee
1.0 % on chain subsidy · launch promo
Payout scheme
PPLNS window 100 blocks
Credit gate
1 confirmation
Payout gate
1001 confirmations = chain coinbase maturity
Payout cycle
Every 15 minutes
Minimum payout
1.0 KRX
Stratum
krx.suprnova.cc ports 4401 – 4404
OPoI escrow
Pool-claimed ≈ 98 % of subsidy reaches miners

Credits land in the ledger the moment a block clears one chain confirmation and is flagged on the virtual selected parent chain. The actual KRX transaction waits for the full coinbase-maturity window so we never broadcast a spend the daemon would reject.

Orphan-detected blocks are automatically excluded from the running credit sum, so a re-org landing after PPLNS credit but before payout silently rolls back without a separate reversal pass. The credit rows stay in place for auditing.

VarDiff that converges in ~2 minutes. PPLNS that smooths short bursts. Block credits land inside one chain confirmation — payouts ride coinbase maturity, not an arbitrary 24-hour wait.

03 Emission

Smooth halvings, asymptotic cap.

Each block at chain month m emits a deterministic share of the genesis rate, halving every 48 months. The geometric series converges; the cap is closed-form, not negotiated.

subsidy(m) = S0 × 2−⌊m / 48⌋ S₀ = 5.4 KRX / block · cap ≈ 9.92 B KRX · tail 1 sompi / block past month ~1760
Milestone When Per-block Status
Genesis Month 0 · 2026-06-06 5.40 KRX Live
First halving Month 48 · ≈ year 4 ≈ 2.70 KRX Scheduled
Second halving Month 96 · ≈ year 8 ≈ 1.35 KRX Scheduled
Tail emission Month ~1760 · ≈ year 146 1 sompi (10⁻⁸ KRX) Asymptote

Coinbase outputs become spendable after 1000 confirmations at the chain level. The pool's 1001-conf payout gate adds a one-block safety margin so a re-org landing immediately at maturity can't strand a payout transaction.

04 Mechanics

How a share becomes a verified proof.

01 · Sample

Random matrix sample

The miner samples a random (h × w × k) int8 problem from keryx-hash's matrix domain. The reference shape h=8, w=16, k=4096 gives 524,288 multiply-adds per nonce trial — exactly the workload the GPU is built for.

02 · Hash

kHeavyHash + WaveMix ARX

The result mixes through KERYX_MATRIX_SALT_V4 and 4 rounds of WaveMix ARX. The recipe is tuned for GPU register pressure — making ASIC differentiation expensive without forbidding it outright.

03 · Fingerprint

OPoI tag attaches to every share

The miner computes tag_fixed(nonce) — a 32 → 256 → 128 → 32 fixed-point MLP whose weights are baked into the protocol — and attaches the 16-hex output to the submit. The pool recomputes deterministically; mismatch = rejection.

04 · Verify

Constant-time accept

If pow ≤ share_target and the OPoI tag matches, the share is credited. If pow ≤ network_target, the pool fires an immediate submitBlock to keryxd in the same flow — no separate block-finder pass.

05 Resources

Reference material.

Specs reflect mainnet at chain month 0. Subsidy schedule sourced from consensus/src/processes/coinbase.rs in Keryx Labs' node tree. Pool parameters from config/pool-config-keryx.js — values updated as the operator tunes them.

KRX · krx.suprnova.cc