← Back to devlog

2026-04-12

Cosmetics only, in writing

Crimson Templar — a paid Warrior skin
Crimson Templar — one of the first paid skins in the shop.

The shop opens this week. Eighteen cosmetic items across five categories. Skins per class, alternate card backs, shimmering name effects on the leaderboard, atmospheric map themes, and avatar frames for the profile page. Plus four bundles for repeat customers.

What is for sale, in writing, so I can't walk this back quietly:

  • Hero portraits (skins)
  • Card backs (paint a frame around your hand)
  • Leaderboard name effects (foil, ember, frost, etc.)
  • Map themes (re-skin the dungeon background)
  • Avatar frames (border on your profile pic)
  • Bundles (multi-skin discounts)

What is not for sale, ever:

  • Cards, relics, potions, energy
  • Save slots, retries, daily lives, stamina
  • Difficulty unlocks (ascensions are earned by winning)
  • Cosmetics tied to a season pass
  • Gacha boxes, "chance" bundles, anything random
  • Battle passes

Implementation is single-purchase, single-grant. You buy a skin, the SKU lands in your user_purchases row, the cosmetic is yours. No token currency, no premium credits, no subscriptions. The currency in this game is dollars, the unit is one skin.

A multi-item cart sits in front of all of it so you can buy three things in a single checkout call. The cart store is in Zustand with persist; checkout dedupes against already-owned items so you can't accidentally double-buy.

Payment provider for now is a mock — the cosmetic is granted on intent so I can iterate on the surrounding UI without stalling. Lemon Squeezy goes in once the launch is closer.

The early-access build with all of this lands shortly.