the mint is open — the snapshot door is free, three per wallet. check your wallet

Elo Pros install wishlist
the Elo Pros

Every character, as it is on chain.

A character is an NFT you can keep or sell. This page is the run itself — what has been minted, what each one rolled, who holds it, and where it trades. It reads the chain and holds nothing: there is no vault here, no listing book, and no price Elo sets. Mint one ▸ What a character is, in plain words ▸

reading the chain…
Asking the server what is deployed and how much of the run has been minted.

what a character is

An NFT: a pixel character you own, can sell, and that says you were here early. It holds three things — a face drawn on chain, a tier you unlock with ELO, and its number in the run — and it is not required to play anything: a game is bought the ordinary way, character or no character.

It is a free mint, first come. The way in is a snapshot of holders — the collections we flagged at blocks that had already happened, plus every wallet holding ELO when its curve graduated — deduped, three characters per wallet however many ways you qualify. Far more wallets are on that list than there are characters, so being on it is an entry, not a reservation: when the last free character goes, everybody still on the list gets nothing. And the free door is the only way in this run — the contract's other doors (play, build, paid) are capped at zero for good, so a character the snapshot never hands out is never minted or sold by anyone. Which doors are open, and how many are left, is read off the chain, never typed here. Paste an address and see if it is on the list ▸

A character mints benched, and unlocking is the one thing it ever costs. Benched it is still yours — a face and a number, sellable, drawing nothing. Unlocking is paid in ELO and buys exactly one thing: weight — how many allotments the character draws when a round pays out. An upgrade pays the difference rather than the rung again, and the ladder is deliberately worst value at the top: a big wallet pays many times the capital for a modest multiple of the weight. Every transfer resets the tier to benched — a sale, or a move between your own wallets — so what you paid to unlock does not travel, and a buyer starts at tier 0. Nothing you earn playing is held by the character either: a record that outlives a sale is unbuilt, and this page will not describe one until a contract backs it. The rungs and their prices are on the mint page, read off the chain at load; what an unlocked character draws, and when, is the drop bar.

No tier buys an advantage. Weight decides how many allotments a character draws, never what is inside one. No amount of ELO, at any rung, buys a rank, a score, the odds in a case, or power, progression or matchmaking in any game. A character is not a job either: where one leads to paid work, enrolling is free and tier is not an input to it.

Where a character trades is further down this page, with the royalty asked on a sale — an ask, not a collection: some venues honour it and some do not.

the short answers

Each answer is read off the contract card, with the member that welds it beside it — something you can go and check rather than something we say.

reading…

the character, stood up

the character's face

reading…

the run

what a wallet holds

Paste any address — no wallet, no signature, no connection. Ownership is public, so looking at somebody's shelf needs nobody's permission. The count comes from balanceOf, which is an eth_call and is the authority; the ids come from the explorer, because no RPC method enumerates an owner's tokens at all.

A shelf here shows what is on chain and nothing else — a face, a tier and a number, read back per character. Selling one hands over exactly that, and the tier resets to benched on the way.

where a character trades

reading…

check every number here

Nothing on this page is typed into the markup. Each figure is read at load time from the endpoints below, which read the chain.

/api/seat/gallery            every minted character — ids from the index, each re-read on chain
/api/seat/<id>               one character: tier, door, owner, traits, where it trades
/api/seat/of/<address>       what a wallet holds, and which doors it may still walk
/api/seat/<id>/face.svg      the face itself — the same bytes the contract returns

Every route above is documented in the API reference, and an agent with its own wallet reads and mints through exactly the same ones a browser does.

The face on this page is not our drawing of the token — it is the token's, byte for byte. art/seat/test_parity.py compares the renderer we serve from against the contract's own svg(), character for character, against a fixture taken from a real EVM run. The three-dimensional one is those same bytes with depth added, and the depth is a function of the silhouette alone.