mining.genoryn.dev

Mine with the CPU you already own.

GENORYN uses RandomX proof of work, designed for ordinary processors. No pools to trust, no special hardware, no keys on the mining machine. Mining never starts by itself.

// Live data from the genoryn.io node and its CPU miner
Network difficulty
—
next block
Network hashrate
—
≈ difficulty ÷ 60 s
Miner reward
—GNR
early incentive (blocks 1–500) · fees extra
Next halving
2,102,901
—

genoryn.io miner

idle / unavailable

This site's server runs a solo RandomX miner next to its full node, exactly as described below. Its numbers are taken from the miner's real JSON status lines — nothing is estimated or simulated.

Hashrate
—
incl. RandomX cache setup
Threads
—
light mode, ~256 MiB each
Hashes
—
this session
Blocks
—
0 stale/rejected
Calculator

What can you expect?

Solo mining is a lottery with fair odds: your chance of finding the next block equals your share of the network's hashrate.

Light-mode RandomX on this server measures about 42 H/s per thread. Desktop CPUs vary.
T_{\text{block}} = \frac{D}{H_{\text{you}}} \qquad P(\text{found within } t) = 1 - e^{-t / T_{\text{block}}}
Expected seconds until you find a block, and the probability of at least one block within time t (Poisson process).

Waiting for live network difficulty…

Estimates assume today's difficulty stays constant. When more miners join, difficulty rises and every miner's share falls. Mined coins mature after 60 blocks. Until block 500 the estimate uses the 1,000 GNR early subsidy, which ends at block 500; from block 501 the miner reward is about 4.83 GNR.

Rules

Simple rules, enforced by every node.

RandomX, one version

A single explicit algorithm version with GENORYN epoch keys. No alternate easy verifier or mock proof of work exists in production consensus.

Explicit start only

Mining is never enabled at wallet or daemon startup. You start it from the Mining page or with genoryn-miner, and stop it any time.

Pays an address, holds no keys

A miner needs a node and a receiving address — never a wallet file or recovery phrase. Nothing is silently redirected to a developer.

Up to 16 workers

One thread per logical CPU, up to 16, each with an independent light-mode RandomX VM and about 256 MiB cache.

60-second target

Difficulty retargets every block over up to 60 weighted intervals. Each adjustment is limited to 75–125% of the previous difficulty.

Maturity

Mining outputs become spendable after 60 blocks — about an hour. On mainnet the treasury share is burned, never paid to anyone.

The math

Formulas, exactly as in consensus.

All monetary and difficulty arithmetic is integer-only. These are the rules every node evaluates for every block.

Proof-of-work validity

\mathrm{valid} \iff \mathrm{LE256}\big(\mathrm{RandomX}_{k}(\text{header})\big) \cdot D < 2^{256}
The RandomX output is read as a little-endian 256-bit integer; multiplied by the difficulty, it must still fit in 256 bits.

RandomX epoch key

h_{\text{seed}} = \left\lfloor \frac{\max(h - 65,\, 0)}{2048} \right\rfloor \cdot 2048
The key block for height h changes every 2,048 blocks with a 65-block lag (genesis for epoch zero), then passes through the GENORYN RandomX domain hash.

Hashrate estimate

\hat{H}_{\text{net}} = \frac{D_{\text{next}}}{60\ \text{s}}
Target-implied network hashrate reported by nodes; not observed miner telemetry.

Difficulty retarget (LWMA-style)

D_{\text{raw}} = \frac{\left(\sum_{i=1}^{n} D_i\right) \cdot T \cdot \sum_{i=1}^{n} i}{n \cdot \max\!\left(\sum_{i=1}^{n} i \cdot \tau_i,\ \tfrac{T}{10}\sum_{i=1}^{n} i\right)}
Up to n = 60 recent blocks, weights increase toward the tip, T = 60 s.
\tau_i = \mathrm{clamp}(t_i - t_{i-1},\ -6T,\ 6T) \qquad D_{\text{next}} = \mathrm{clamp}\!\left(D_{\text{raw}},\ \tfrac{3}{4}D_{\text{prev}},\ \tfrac{5}{4}D_{\text{prev}}\right)
Solve times are clamped to ±360 s; each block moves difficulty by at most 25%; the minimum is 1. Fewer than 11 samples use the network's initial difficulty.

Timestamps

\mathrm{MTP}_{11} < t_h \le t_{\text{now}} + 120\ \text{s}
A block's time must exceed the median of the previous 11 blocks and be at most 120 seconds in the future.
Rewards

Reward schedule

Blocks 1–500 pay a fixed early subsidy. From block 501 the normal subsidy halves every 2,102,400 blocks (four protocol years of 525,600 blocks). Integer halving eventually reaches zero; there is no tail emission.

R(h) = \underbrace{[h \ge 501] \cdot \left( \left\lfloor \tfrac{20{,}290{,}000 \cdot 10^{12}}{4{,}204{,}800} \right\rfloor \gg \left\lfloor \tfrac{h-501}{2{,}102{,}400} \right\rfloor \right)}_{\text{normal subsidy}} + \underbrace{1000 \cdot 10^{12} \cdot [1 \le h \le 500]}_{\text{early}} + \underbrace{10^{12} \cdot [501 \le h \le 210{,}500]}_{\text{treasury}}
Total issuance at height h in gori; height 0 issues nothing. The miner receives the normal subsidy or the early subsidy; on mainnet the treasury share is burned.

Early mining: blocks 1–500

Early-mining disclosure. Blocks 1–500 pay an early subsidy of exactly 1,000 GNR each — 500,000 GNR in total, about 2.38% of the maximum supply. That is the entire block subsidy: no normal reward and no treasury share is paid on top; transaction fees are extra. There is no founder-only minting privilege: the reward goes to whoever mines a valid block. At launch the only known miner is run by the project operator on the project's server, so the operator may receive most or all of these 500,000 GNR, and early holdings may be concentrated. Mining early is not a promise of profit or of any price.

Monetary Policy & Emission Schedule ↗

EpochFrom heightYearSubsidy (GNR)
early101,000
050104.825437595129
12,102,90142.412718797564
24,205,30181.206359398782
36,307,701120.603179699391
48,410,101160.301589849695
510,512,501200.150794924847
612,614,901240.075397462423
714,717,301280.037698731211

At the next block (#—)

Normal subsidy—
Early subsidy—
Miner total—
Treasury (burned on mainnet)—
Plusall transaction fees

Fees transfer existing shielded value to the miner and are never new issuance. Wallet fee tiers are Economy, Standard and Priority at 1×, 2× and 5× the 0.00001 GNR minimum.

Start mining

Two ways to mine.

In the wallet

  1. Download and open the wallet in Full mode; its node starts automatically.
  2. Create or unlock a wallet — the destination is its receiving address.
  3. Open Mining, choose CPU threads (one per logical CPU, up to 16), press Start.
  4. Hashrate, accepted blocks and rewards appear live. If the miner stops, the page explains why and retries in portable RandomX mode or with fewer threads.
On a server — no keys required
# 1. Run a full node (Mainnet 1.0 is the default)
$ genorynd --data-dir ~/.genoryn/mainnet-1.0
# 2. Mine to YOUR receiving address (gnr1…)
$ genoryn-miner --node http://127.0.0.1:29711 \
    --token-file ~/.genoryn/mainnet-1.0/admin.token \
    --wallet gnr1YOUR_RECEIVER --threads 4

The admin token is a private loopback capability, never a spend key, and is never sent to a remote endpoint. Use --max-blocks or --max-seconds to bound test runs.

Pooling, P2Pool-style protocols and fast-memory (dataset) mining are roadmap work. CPU-friendly does not prove ASIC or GPU resistance; GENORYN makes no such claim.