Rules
What is checked, what is credited, what is paid.
How it works
NONCE runs a hash search in your browser. The server issues a challenge, your browser looks for a nonce whose hash meets the difficulty, and submits it as proof. The server checks every proof and credits the ones it accepts. Each round has a SOL reward pool that is funded before the round opens, and the pool is split by accepted work when the round closes. The SOL comes from a published share of the creator fees collected on the $NONCE token; the rest pays for servers. You do not need to hold the token, and holding it does not change your share.
Proof format
A proof is one JSON object sent to the server. All fields are required.
- round
- integer
- challenge_id
- hex, 64 chars
- wallet
- base58 pubkey
- nonce
- u64, hex, up to 16 chars
- hash
- hex, 64 chars, recomputed by server
What gets rejected
A rejected proof earns no credit. The miner log shows the reason.
- duplicate
- same challenge, wallet and nonce already submitted
- expired
- received after the challenge expiry
- another wallet's proof
- hash input uses a different pubkey than the submitting wallet
- below target
- hash does not meet the difficulty
- unknown challenge
- challenge ID was not issued by the server
- wrong round
- proof is for a round other than the challenge’s
- round closed
- received after the round closed
- hash mismatch
- the hash sent differs from the one the server recomputes
- malformed
- a field is missing or not in the published format
When funding runs out
A round opens only if the reward pool can fund it. If it cannot, paid rounds are paused: the server issues no paid challenges and credits no work. Existing balances and finalized rounds are not changed.
The algorithm
The server issues a challenge for the current round. Your browser hashes the challenge ID, your wallet's public key and a nonce with SHA-256, and changes the nonce until the hash has at least as many leading zero bits as the challenge difficulty. That nonce is the proof. The server recomputes the hash once to check it.
- hash
- SHA-256
- input
- challenge_id (32 B) ‖ wallet pubkey (32 B) ‖ nonce (8 B, LE)
- valid if
- leading zero bits of hash ≥ difficulty
- difficulty
- –
- challenge lifetime
- –
- target time per proof
- –
How credit is weighted
An accepted proof at difficulty d is credited 2^d hash-equivalents, the expected number of hashes needed to find it. A proof one bit harder counts twice as much. Your share of a round is your credited work divided by all credited work in that round, multiplied by the funded pool. Until the round closes, your share is an estimate.
- credit per proof
- 2^difficulty hash-eq
- your share
- your credit ÷ all credit × funded pool
Payouts
Credit totals are fixed when the round closes and the round is marked finalized. Your share of a finalized round is added to your balance. Balances below the threshold carry over to the next round. Payouts are sent from the reward pool wallet and every transaction is listed on Earnings and Treasury.
- round length
- –
- final at
- round finalized after close
- round pool
- –
- payout threshold
- –
- below threshold
- carries over to the next round
- paid from
- reward pool wallet, tx listed publicly
Where the SOL comes from
Pump.fun pays the token's creator fees to the creator-fee wallet. Each receipt is split: a published share to the reward pool that funds rounds, the rest to infrastructure. Every transfer is an on-chain transaction listed on the Treasury page, and you can open each one in an explorer.
The token
You do not need to hold $NONCE to mine. Holding it gives no advantage: credit depends only on accepted proofs.