Every Arcanox Hero is a seed, not a picture. The token decides your lineage, aura, cloak, sigil, companion and blessing — and the game builds that exact hero from the same seed when you walk into the dungeon. The art below is a render of the character you would play.
Every hero is twelve weighted rolls off its token id — Lineage through Blessing, in a fixed
order — plus a Rank derived from how unlikely those rolls were. The odds on this page are read
from the trait engine itself (js/28-nft.js), so they cannot drift from what the
game builds.
Rarity score is the summed information content of a hero's rolls, in bits: a 1-in-100 trait is worth far more than a 1-in-3. Rank comes from the score alone, so anyone can rank a hero offline without fetching the collection.
Nothing about a hero is stored on chain except its token id. The id is enough.
MetaMask, Robinhood Wallet or any EVM wallet. Connecting is a read-only handshake, not a transaction.
One transaction at — per hero, up to — per wallet. Ids are handed out in order, so mint order is the only randomness there is.
traitsFor(id) rolls twelve traits and a rank from the token id alone. Same id, same hero —
on this page, on the card, in the dungeon.
The game lists your heroes straight from the contract. Choose one and the class locks to its Lineage; name it and go.
In co-op your token id travels with you, so other players see the hero you actually own — rebuilt on their machine from the same seed.
balanceOf +
tokenOfOwnerByIndex against a plain RPC — the mint page and the game both do it.The whole collection is a handful of files shipped with this page. Read the summary, then check every claim in it against the code below.
sha256 over nft/metadata/1.json … 1000.json, in token order.
Select a hero on the wall.
mint.html?token=ID for a specific id. What you cannot do is choose which id you get: ids are handed
out in mint order, and that order is the only randomness in the collection.