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.
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
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.ccports 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.
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.
| 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.
How a share becomes a verified proof.
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.
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.
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.
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.
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.