Open packs
Pay $BNBC, roll 5 cards. Genesis (100), Halving (500), Whale (2,500). Rolls use block.prevrandao. No oracle, no signer.
CardPacks.openHalvingPack()
BNB Cards is a fully on-chain trading card game on BNB Smart Chain. 32 collectible archetypes, every one drawn pixel-by-pixel by the contract. Trustless 8v8 combat. A mood oracle that rewards real BNB Chain halvings. $BNBC hard-capped at 21,000,000.
Three on-chain calls. Three play modes. Zero off-chain anything.
Pay $BNBC, roll 5 cards. Genesis (100), Halving (500), Whale (2,500). Rolls use block.prevrandao. No oracle, no signer.
CardPacks.openHalvingPack()
Pick 8 cards. Cost curve matters; initiative is sorted ascending. Save up to 5 deck loadouts in your browser.
local · no tx required
Arena (free vs AI), Expedition (idle staking), Tournament (daily on-chain PvP, full bracket resolved by Combat library).
Tournament.enter(deck)
Every illustration painted by the on-chain renderer. The same SVG is what tokenURI() returns.
A mood oracle reads $BNBC/BNB price action and rewrites the game's economy in real time.
Every $BNBC swap triggers BnbCardsHook.afterSwap, which writes a uint8 mood to BnbCardsCore. That single byte multiplies expedition rewards, shifts pack rare-rates, and sets the per-direction trading fee. A whale buy doubles expedition rewards for 100 blocks (a halving in-game). A whale sell triggers FUD: rare-drop rates drop 10% for 100 blocks.
| Mood | Trigger | Exp × | Rare adj |
|---|---|---|---|
| BULL_RUN | +20% Δ24h | 1.25× | +10% |
| ACCUMULATION | +5..+20% | 1.10× | +5% |
| SIDEWAYS | ±5% | 1.00× | 0 |
| DIP | −5..−20% | 0.90× | −5% |
| CAPITULATION | ≤ −20% | 0.75× | −10% |
Live previews. Same rendering pipeline as the real client.
If any of these stop being true, BNB Cards is no longer BNB Cards.
Every pixel of every card SVG is generated by the contract. tokenURI() returns a complete data URI. No IPFS, no centralized image hosting.
the on-chain combat resolver is pure. Same decks always produce the same winner. No oracle, no commit-reveal, no signer.
Every 210,000 blocks (~29 days), BASE_REWARD halves. The economy mirrors BNB Chain's identity: capped supply, predictable issuance.
The mood meta is not a script. It is a PancakeSwap v2 hook. Whale buys trigger HALVING. Whale sells trigger FUD. The pool is the game.
Strict 32-color palette across cards, UI, and animations. Every illustration is a 16×16 sprite at 12×.
No owner, no proxy, no upgrade path, no pause. The deployer renounces control before the first pack opens. The contracts are forever.
The contracts are deployed. The hook is wired. The first daily tournament starts at next entry-window open.