How the
game works
Every rule on this page is enforced by the contracts on Robinhood Chain. There is no server that could bend one.
The chain
Pokemonz.fun runs on Robinhood Chain. Every Pokemon is an ERC-721 token in your wallet. Every mint, team change, battle and trade is a contract call, and every result is settled by the contract itself. Gas is paid in ETH.
Nothing about your Pokemon lives off-chain. Their species, level, stats, moves and history are read from the contracts each time a page loads, which is why the site works with any wallet and needs no account.
A Pokemon can be transferred, sold or sent to another wallet once it is finalized. Until then it stays put.
Minting
Who can be minted
Only the first form of an evolution line can be minted, and only when its base stat total is 400 or lower. That is 59 of the 151 Kanto species. Everything stronger is earned by evolving what you minted. Ponyta is the single exception above the cap, because nothing evolves into it.
Species marked Wild or Legendary in the Pokedex cannot be obtained yet.
Two transactions
Minting takes two steps. The first mints the Pokemon with its species, level 5 and its starting moves: up to four moves from its learnset that it knows at level 5 or below. The second, finalize, reveals its nature and IVs.
Finalize draws from a block hash that did not exist when you minted, so nobody, including you, can choose a Pokemon’s stats. Anyone may call finalize on any Pokemon, and the game runs a keeper that does it for you within a few minutes.
The fee
The mint fee is shown live on the Mint page. The game owner can change it, and it can never exceed 0.05 ETH.
Stats
Every Pokemon has six stats: HP, Attack, Defense, Sp. Atk, Sp. Def and Speed. They are never stored. They are recomputed from five inputs each time they are read, which is why evolving changes them instantly.
| Input | Range | Where it comes from |
|---|---|---|
| Base stats | per species | The real Kanto values for the species. Change when you evolve. |
| IVs | 0 – 31 each | Rolled at finalize. Fixed for life. |
| EVs | 0 – 252 each, 510 total | Earned by winning battles. Start at zero. |
| Nature | 1 of 25 | Rolled at finalize. One stat +10%, one stat −10%. Five natures are neutral. Never touches HP. |
| Level | 5 – 100 | Rises with experience. Never falls. |
The formulas
Every division rounds down.
Experience
Level N needs N³ total experience. Level 10 is 1,000 XP, level 50 is 125,000, level 100 is 1,000,000. Level-ups happen on their own when a battle pays out.
Moves
A Pokemon carries four move slots. The move pool is the Generation 1 list, trimmed to the 110 moves the battle engine can express. Each move has a type, a category (Physical, Special or Status), power, PP, priority and one effect.
Effects
| Effect | What it does |
|---|---|
| Burn | Chance to burn. A burned Pokemon loses 1/16 of its max HP each turn and its physical Attack is halved. |
| Poison | Chance to poison. Loses 1/8 of max HP each turn. |
| Paralyze | Chance to paralyze. Speed halved and a 25% chance to lose each turn. |
| Sleep | Chance to put the target to sleep for 1 to 3 turns. |
| Freeze | Chance to freeze. A frozen Pokemon loses its turn, with a 10% chance to thaw each turn. |
| Confuse | Chance to confuse. A confused Pokemon has a 33% chance each turn to hit itself for 1/8 of its max HP instead of moving. |
| Heal | The user recovers a percentage of its max HP. |
| Recoil | The user takes a percentage of the damage it dealt. |
| High crit | Critical hit chance of 1 in 8 instead of 1 in 16. |
A Pokemon holds one status at a time. A status move still lands its effect even when it deals no damage, unless the target is immune to its type.
Moves that only raise or lower stats, such as Growl, Leer, Swords Dance and Agility, are not in the game. Neither are held items, abilities, or switching mid-battle.
PP and Struggle
Each use of a move spends one PP for that battle. When every slot is out of PP the Pokemon uses Struggle: a Normal-type, 50-power hit that costs the user a quarter of its max HP. If the slot in your plan is empty or out of PP while another slot still has PP, that turn is lost.
Choosing moves
Levelling up does not teach moves on its own. On the Team page you can set any four moves your Pokemon has qualified for: moves in its current species’ learnset whose learn level is at or below its level. A Pokemon keeps the moves it has until you change them.
Battles
A battle is three Pokemon against three. Both sides commit a plan, both reveal it, and the contract fights the whole battle in a single transaction. Casual battles have nothing to wager — you play for experience, EVs, stones and the win on your record. Ranked battles escrow a stake from both sides in ETH; the winner takes the pot minus a 5% fee. See Ranked battles (§11) for the tiers and the full payout.
Creating and joining
You need a team of three finalized Pokemon you own, no duplicates. A battle stays open for one hour. If nobody joins, it expires on its own. Any unjoined battle — casual or ranked — can be cancelled by its creator before then; a casual cancel has nothing to refund, a ranked cancel refunds the creator’s stake in full.
You cannot join your own battle.
Level bracket
A level 5 starter never meets a level 60 Charizard. To join, the average level of your team must be within a gap of the creator’s team average. The gap widens the longer the battle has been waiting, and never past 30.
| Battle has been open for | Allowed level gap |
|---|---|
| Under 2 minutes | 5 |
| 2 to 10 minutes | 15 |
| More than 10 minutes | 30 |
Team average is the three levels added and divided by three, rounded down, read live at the moment you join. If the creator’s team has levelled up since they created the battle, the higher of the two numbers is used.
The plan
When you create or join, you choose a move slot for each of your three Pokemon, on turns 1, 2 and 3. Whichever Pokemon is in play uses its own plan for the turn the battle is on. From turn 4 on, the active Pokemon repeats slot 1. When a Pokemon faints the next one in your team order steps in. You cannot switch by choice.
Your plan is hashed together with a secret before it goes on-chain, so your opponent cannot read it. After the second trainer joins, both sides have one hour to reveal. Once both have revealed, anyone can resolve the battle.
Timeouts and forfeits
| After the reveal deadline | Result |
|---|---|
| You revealed, your opponent did not | You win by forfeit. No rewards are paid. |
| Neither side revealed | Draw. No rewards. |
| Both revealed | No timeout. The battle is resolved as fought. |
Your team is locked
When you commit, the contract fingerprints each Pokemon’s species, evolution stage and moves. If any of those change before the battle resolves, you forfeit. Levelling up or gaining EVs in another battle is fine.
The fight
The battle is resolved turn by turn by the contract. Every random roll comes from a seed built from both trainers’ secrets, so neither side can steer it.
Turn order
- 01Priority. The move with the higher priority goes first.
- 02Speed. Otherwise the faster Pokemon goes first. Paralysis halves speed.
- 03Tie. Equal speed is a coin flip.
Damage
- 01Category. Physical moves use Attack against Defense. Special moves use Sp. Atk against Sp. Def. Status moves deal no damage.
- 02Type. The 18-type chart applies. Against two types the multipliers stack, so the range is ×0, ×¼, ×½, ×1, ×2 and ×4. An immune target takes nothing and no effect lands.
- 03STAB. A move that matches one of the attacker’s types deals ×1.5.
- 04Critical hit. 1 in 16 chance for ×1.5. High-crit moves roll 1 in 8.
- 05Spread. A random factor between 85% and 100%.
- 06Floor. A hit that connects always deals at least 1.
A burned attacker’s physical Attack is halved before the formula runs.
Each turn
A sleeping, frozen or paralysis-struck Pokemon loses its action. A confused one may hit itself. Then the move resolves, recoil or healing applies, and at the end of the turn burn and poison take their toll from both active Pokemon. Fainted Pokemon are replaced in team order.
How it ends
| Outcome | When |
|---|---|
| Win | The other team has no Pokemon standing. |
| Draw | Both teams fall on the same turn, or the battle reaches 100 turns. |
A draw pays nothing to either side.
Rewards
Only a battle that is actually fought pays out. Forfeits and draws pay nothing.
Experience
Each Pokemon on the losing side contributes to a pool based on its species and level. The pool is split equally between the winning Pokemon that are still standing. A winner that fainted earns nothing.
Beating stronger, higher-level Pokemon pays more. Level-ups apply immediately.
EVs
Each defeated Pokemon grants 2 EVs in its own highest stat to every Pokemon on the winning team, up to 252 per stat and 510 in total.
Stone drops
Every fought-out win has a 25% chance to drop an evolution stone, one of the five kinds at random. The roll comes from the battle seed, so nobody can influence whether a stone drops or which one.
Evolution
A line has up to three forms. Evolve from the Pokemon’s own page. There are two ways.
| Method | Requirement | Notes |
|---|---|---|
| By level | Reach the species' evolution level | Kadabra, Machoke, Graveler and Haunter, which evolve by trade in the games, evolve at level 37 here. |
| By stone | Hold the matching stone | Any level. The stone is consumed. Eevee branches into Flareon, Vaporeon or Jolteon by the stone you use. |
What changes
The species and its base stats, so every stat rises at once. Level, experience, IVs, EVs and nature carry over unchanged.
Moves are kept exactly as they were. Evolving never rewrites them, so visit the Team page afterwards to pick from the new species’ learnset.
Stones
Five kinds of evolution stone exist: Fire, Water, Thunder, Leaf and Moon. They are earned only by winning battles.
Stones belong to your wallet, not to a Pokemon, and they are not tokens. They cannot be traded, sold or sent to another wallet. Your inventory is shown on the Collection page and holds up to 255 of each kind.
Market
Any finalized Pokemon can be listed at a fixed ETH price. Listing is non-custodial: the Pokemon stays in your wallet with an approval for the market, and it only moves when someone buys it. You can change the price or delist at any time.
The buyer pays the exact listed price. The market keeps its fee and the rest goes to you. The fee is shown live; the game owner can change it, and it can never exceed 10%.
If a listed Pokemon is transferred or its approval is removed, the listing dies with it. A buyer’s transaction is guarded against a price change made after they clicked, so nobody pays more than the price they saw.
Ranked battles
Ranked is the same commit-reveal-resolve battle as casual, with one difference: both trainers put ETH behind the result. Pick a stake tier when you create a battle. Whoever joins puts up the identical amount — never a tier they choose themselves.
Stakes and payout
| Tier | Stake per side | Pot | Fee | Winner takes |
|---|---|---|---|---|
| Tier 1 | 0.001 ETH | 0.002 ETH | 0.0001 ETH | 0.0019 ETH |
| Tier 2 | 0.004 ETH | 0.008 ETH | 0.0004 ETH | 0.0076 ETH |
| Tier 3 | 0.02 ETH | 0.04 ETH | 0.002 ETH | 0.038 ETH |
| Tier 4 | 0.1 ETH | 0.2 ETH | 0.01 ETH | 0.19 ETH |
The fee comes out of the pot only when the battle is actually decided by a win or a forfeit. A draw refunds both stakes in full, and a battle its creator cancels before anyone joins refunds the creator in full — neither one pays the fee.
Rating
Every wallet has a rating, starting from the same default the first time it finishes a ranked battle. A win moves it up, a loss moves it down, a draw leaves it where it was. The casual PvP/PvE record on your collection page is separate and unaffected — ranked keeps its own win/loss/draw count next to it.
Rating bracket
The same widening-band idea as the level bracket, applied to rating instead: a just-opened ranked battle only admits a close rating, and the gap widens the longer it sits unjoined. This is separate from the level bracket, which still applies too — both have to pass to join.
If a payout cannot be delivered
A resolve or a timeout tries to send the winner their payout directly. If that push fails — a wallet that cannot receive ETH, for instance — the amount is held for that wallet to claim instead of being lost, with its own claim button wherever it is owed.
Wild encounters
Wild encounters are the only way to catch the fifteen Pokemon that cannot be minted directly. Pick a team of three from your own Pokemon and start an encounter.
Starting
- 01Commit your team. The contract records the block your encounter started on.
- 02Wait for the chain. The wild party is derived from a block that has not been mined yet, so there is a short wait — about half a minute — before it can be revealed.
- 03See the party, then move. Once the wait clears, the wild party is shown before you commit your moves, so you are choosing moves against a party you have actually seen, not guessing.
Forfeiting
If you do not like the matchup, or you simply do not resolve in time, you can walk away. A forfeit closes the encounter as a loss — no experience, no stone, no catch — and starts a 10-minute cooldown before you can start another one.
Winning
| Reward | Rule |
|---|---|
| Experience | Half of what the same win pays in a trainer battle. |
| Stone drop | 10% chance, same five kinds as PvP. |
| Catch | If the party includes a species you cannot mint, you catch the first one, at the level it fought at. At most one per encounter. |
Species you can already mint are never caught this way — only the wild-only ones.
Legendaries
Five legendary Pokemon exist, and the only way to face one is to have earned it in trainer battles first.
Unlocking a fight
You need 25 trainer-battle wins that were actually fought out — a forfeit or a walkover does not count toward this. Once you qualify, you can challenge any legendary you have not already caught.
The fight
The legendary fights alone, at level 60, with its four strongest moves. Your team is the three Pokemon you bring, same as any battle.
| Outcome | Result |
|---|---|
| Win | The legendary is caught at level 50. |
| Loss, draw, forfeit, or letting the window run out | Nothing is caught. A 24-hour cooldown starts before you can challenge any legendary again. |
One of each, forever
Once you catch a legendary, that species is closed to you permanently — even if you later sell or transfer it. There is no experience and no stone drop from a legendary fight; the legendary itself is the only reward.