
Proof-of-work mint // Robinhood Chain
Launch window //
Hash Rangers are earned by a browser-side proof-of-work search. Submit one valid hash and the contract assigns a Ranger from the remaining supply.
Maximum supply
2,222
Hard-coded cap
Assignment
0(1)
Unused-image draw
Verification
1 TX
One proof on-chain
Admin allocation
0
No reserve path
02 // Field roster
Each accepted proof resolves one distinct Ranger from the remaining field. These are twelve examples from the collection.
2,222 possible assignments












Fifteen trait channels shape every assignment.
12 / 2,222 ON DISPLAY
03 // Proof path
The browser does the expensive search. The contract performs one cheap verification. The winning hash decides the assignment.
Read the exact mechanicSEARCH / LOCAL
CPU or GPU hashes your address, a nonce, the previous proof and a recent block. The work stays in your browser.
VERIFY / CONTRACT
A winning nonce becomes one transaction. The contract recomputes the hash and rejects anything above the target.
ASSIGN / UNCLAIMED
The accepted hash seeds a draw from the remaining supply. First valid proof wins; there is no auction or selection screen.
04 // Difficulty logic
Supply defines the floor. Network pace, recent mint heat and idle time move the live target around it. Every number comes from the contract.
Supply floor
Difficulty steps with the mint tier
Pace retarget
Recalculated every four accepted proofs
Heat streak
Fast consecutive mints tighten the target
Idle relief
A quiet network can ease the next attempt
#1–150
Free entry
#151–500
0.003 ETH
#501–1000
0.006 ETH
#1001–1500
0.01 ETH
#1501–2222
0.02 ETH
The final 222 become progressively harder, peaking at a 6× endgame multiplier for the last remaining Ranger.
Inspect the formula05 // Contract memory
The contract records the proof, token owner and assigned image number. A sparse Fisher–Yates draw removes each image from the available pool, so the same Ranger cannot be assigned twice.
Maximum supply
2,222
Hard-coded cap
Assignment
O(1)
Unused-image draw
Verification
1 TX
One proof on-chain
Admin allocation
0
No reserve path
Accepted proof trace
SOLIDITYhash = keccak256(
miner + nonce + lastProof + blockHash
);
require(hash < effectiveTarget);
image = drawUnused(hash);
mint(miner, image);The miner address is inside the proof.
The contract recomputes every winning hash.