Chess Universe
Web3 product strategy for a 10M-player chess game. Migrated chains, ran a sale, kept the game playable throughout.

Chess Universe had an existing NFT footprint on Polygon and a player base that mostly wasn't crypto-native. Polygon's economics no longer fit the product. The challenge was to migrate to Immutable zkEVM without breaking ownership, hold a successful sale on the new chain, and keep onboarding frictionless for non-crypto players.
Treat it as three coordinated workstreams: a clean migration plan with stakeholder alignment across Kalmia, Chess Universe, and Immutable; a Passport-authenticated onboarding flow that hid the wallet behind familiar mechanics; and an NFT sale on the new chain to validate that the migration translated into real on-chain demand.
- 01
Define the product vision for NFTs, tokenised assets, and Web3 progression first
Before touching contracts, wrote down what NFTs meant for the player journey: cosmetic, progression, or speculative. Made downstream tradeoffs (sale design, gas economics, tutorial copy) easy to call.
- 02
Full Polygon → Immutable zkEVM migration over partial bridging
A clean cut to Immutable was simpler to communicate to holders and avoided ongoing two-chain complexity. The zkEVM economics were better aligned with the game's frequency of small transactions.
- 03
Passport authentication baked into onboarding
Most Chess Universe players don't care about wallets. Passport let them create one transparently and turned a multi-step Web3 onboarding into something close to a normal game login.
- 04
Three-way stakeholder alignment with Kalmia, Chess Universe, and Immutable
A migration that touches a third-party game studio and a third-party chain only ships if all three sides have written-down owners and decision logs. Spent the up-front time on RACI so the engineering work was unblocked.
On the new Immutable chain
Full migration shipped
Wallet creation hidden behind game login
Kalmia · Chess Universe · Immutable
- Immutable zkEVM
- Immutable Passport
- Polygon
- Notion
- Jira
- Figma