Pack Types
Grand Pack
Purchased with FOCUS
3 cards per pack · All clubs · All rarities
Club Pack
Purchased with FOCUS
3 cards per pack · Your club only · Common & Rare
Club Packs do not contain Epic or Omega cards. Epic and Omega cards are exclusive to Grand Packs and Season Packs.
Season Pack
Purchased with CVS Token
5 cards per pack · Season-exclusive cards · All rarities
CVS packs are restricted in certain jurisdictions. See chessvs.club/legal for the restricted jurisdictions list.
Founder's Package
Founders / Protocol Award Only
1 Founder's Edition card · Not purchasable
Founder's Packages contain exactly one Founder's Edition Battle Card. They are not available for purchase. Distribution is limited to Founder's Hardware Bundle purchasers and protocol award recipients only.
Founder's Edition cards are outside the standard rarity system (Common / Rare / Epic / Omega) and are not subject to pity counter mechanics. Supply is capped at 500 total across all six piece types.
On-Chain Weight Encoding
The percentages displayed above are derived from on-chain weight integers stored in BattleCard.sol. Weights are normalised to a sum of 9,900 at contract level. The server normalises these to 100% at runtime.
Why 9,900 and not 10,000? The 100-unit gap is reserved for future protocol expansion and rounding safety. The effective probability of each tier is calculated as weight / totalWeight where totalWeight is the sum of all active weights at time of pack open — not a hardcoded constant. This means odds can be adjusted via governance vote without contract redeployment.
| Rarity |
On-Chain Weight |
Grand Pack % |
Season Pack % |
| Common |
5,500 |
55.56% |
50.51% |
| Rare |
2,800 |
28.28% |
30.30% |
| Epic |
1,500 |
15.15% |
18.18% |
| Omega |
100 |
1.01% |
2.02% |
Pity Counter — Maximum Spend Guarantee
ChessVS Protocol implements a hard pity counter system encoded on-chain. The pity counter is tracked per wallet address and resets to zero after each guaranteed drop triggers. This provides a defined maximum number of packs needed to obtain any given rarity tier.
Epic Guarantee
8
Packs maximum to guarantee one Epic card
If no Epic card has appeared in your last 7 Grand Pack or Season Pack openings, your 8th pack is guaranteed to contain at least one Epic. Counter resets after trigger. Tracked per wallet on-chain.
Omega Guarantee
50
Packs maximum to guarantee one Omega card
If no Omega card has appeared in your last 49 Grand Pack or Season Pack openings, your 50th pack is guaranteed to contain at least one Omega. Counter resets after trigger. Tracked per wallet on-chain.
Club Packs are excluded from pity counters. The pity mechanic applies only to Grand Packs and Season Packs, as Club Packs do not contain Epic or Omega cards. Club Pack openings do not increment or decrement your Epic or Omega pity counter.
On-Chain Verification
All pack odds and pity counter thresholds are encoded in the BattleCard.sol smart contract deployed on Base L2. The contract source code is verified and publicly readable on BaseScan. Anyone can independently verify that the odds shown on this page match the values stored on-chain.
BattleCard.sol — Base L2 (Mainnet)
Contract address published at TGE · Currently in testnet phase
The protocol is currently in pre-launch testnet phase. The mainnet contract address will be published here at TGE alongside the third-party security audit report. All pack mechanics described on this page reflect the specification that will be encoded in the deployed mainnet contract.
Randomness source: Pack card selection uses Chainlink VRF (Verifiable Random Function) on Base L2. Each pack opening requests a verifiable random number from Chainlink's decentralised oracle network. The request ID and fulfilment transaction are both publicly visible on-chain, allowing any user to independently verify that each pack opening used a genuinely random, unmanipulable seed.