We chose the simplest game on the platform — a coin flip — on purpose, and built it like a premium title. This is our thesis, executed once: proof that "simple" and "signature" are not opposites.
Every studio arriving on a slots platform makes the same move: another five-reel machine, a fresh skin, the same maths, the same feel. The catalogue becomes a hall of mirrors. Cool Kids made the opposite bet.
The "simple games" — coin flip, dice, mines, plinko — are treated across the industry as filler: cheap to produce, quick to ship, disposable. We think that's a category error. A simple game isn't a lesser game — it's the purest expression of the gamble, and it is by far the hardest to make unforgettable, because there is nothing to hide behind. When the mechanic is one tap, every gram of craft has to go into feel, character and production value. That's a much higher bar than bolting on a fourth bonus round.
So we don't arrive with another slot. We arrive with a decision: take the single most elementary gambling atom on Stake — a coin flip — and upgrade it into a premium, emotional, self-marketing product. Not to out-complicate the field. To out-craft it on the fundamentals everyone else skips.
We didn't land on a coin flip by taste. We reverse-engineered it from how players and streamers actually spend a session — and the same person moves between two machines all night:
Three instincts, stranded across two different machines — and the player pays the switching cost every time the mood turns, jumping from one category to the other. The industry treats that seam as a law of the medium. We treat it as the opening.
This dossier is that thesis executed once — Tails Never Fails. Everything below (the emotional layer, the exact maths, the source-verified engineering) is the evidence that a studio can treat "simple" as a canvas for premium work, not an excuse to ship less.
People gamble for two primal reasons: the hope of winning, and a bracket of experience outside the social frame — a thrill at the edge of the "work = money" contract.
Most machines drown that essence under paylines, scatters and nested bonuses. Tails Never Fails does the opposite: it distils gambling down to its most fundamental atom — a coin flip — that anyone grasps in one second. The name comes from the superstitious phrase people mutter before flipping: "tails never fails." It already carries the promise and the folklore of the gesture.
Positioning note: the villain is a fictional archetype of greed, never a real target — an ethical choice and a business one, keeping the game clean of any content built on a real group's identity.
A single three-faced coin per villain. The player covers one or both winning faces, sets a bet, and flips (FLIP button or spacebar). HEADS always loses.
The design strength: EDGE gives an intuitive name and image to the jackpot. Nobody needs it explained why it's rare and why it pays huge — it's playground physics.
Like a fighting-game select screen, the player picks the villain they want to face. Each villain = a volatility profile. The RTP stays fair and identical (96.00% exact, certifiable); what changes is the EDGE top multiplier and its rarity — the real lever of sensation.
A grasping goblin with hooked fingers, clutching his hoard. Grotesque, comic, 100% fictional greed. He keeps the biggest pile — so the biggest jackpot.
EDGE ×1000 · ~1 / 1,042
The ultimate moonshot.
A luxury-suited billionaire panther, cigar and gold chain. "The house that hates to pay," incarnate. Timeless, streamable, safe.
EDGE ×100 · ~1 / 104
The risk/frequency balance.
A blue-haired punk ferret, all attitude. Cocky, modern, ultra-streamable — and the softest ride of the three.
EDGE ×50 · ~1 / 52
Frequent wins, gentle sensation.
The coin is a single three-faced object. Coverage = the bet mode. 9 bet modes total = 3 villains × 3 coverages:
| Mode | Cost | Covers | Reach | RTP | Max win |
|---|---|---|---|---|---|
<villain>_tails | ×1 | TAILS | ×3 + bonus | 96.00% | ×15000 |
<villain>_both | ×2 | TAILS + EDGE | ×3 / jackpot + bonus | 96.00% | ×15000 |
<villain>_bonusbuy | ×100 | is_buybonus | buys the bonus | 96.00% | ×15000 |
Fraction) so that sum(weight·payout) / (sum(weight)·cost) equals 24/25 = 0.9600000000 — verified to the tenth decimal across all 9 modes. Weights are uint64; the lookup tables and books were validated line-by-line (57,819 books, 0 book↔LUT mismatches, all config hashes valid), and the file format was checked against the math-sdk writers themselves (JSONL + zstd, LF line endings, index.json schema).Base probability of TAILS is P(tails) = 0.2801684. It's not 96/3 = 0.32 — it's slightly lowered to fund the bonus so the total RTP still lands on exactly 0.96. It solves, in closed form:
3·p + 96 · q(p) = 0.96 with q(p) = p⁵(1-p)/(1-p⁵)
→ p = 0.2801684 (residual −2.1e-7, tighter than 6-dp rounding)
where q(p) is the stationary frequency of a 5-in-a-row streak — preserved by the in-book conversion (see §06). EDGE probability is P(edge) = RTP / edge, reachable only in the both mode.
| Villain | EDGE × | P(edge) | Frequency | RTP | Volatility |
|---|---|---|---|---|---|
| Goblin Banker | ×1000 | 0.00096 | ~1 / 1,042 | 96.00% | High |
| Panther Oligarch | ×100 | 0.00960 | ~1 / 104 | 96.00% | Medium |
| Punk Ferret | ×50 | 0.01920 | ~1 / 52 | 96.00% | Low |
both cover, whose ~28-30% hit rate is squarely in range. The player still gets full jackpot access — just always paired with TAILS.The feature is the soul of the machine. Any TAILS win can trigger it (~1 in 803 rounds, i.e. 1 in ~225 TAILS wins), or the player can buy it for ×100.
M ∈ {1,2,5,10,25,50,100,250,1000,2500} is drawn and announced on screen — "SPIN €1,000!!". Each TAILS coin then pays 3·M the base bet.Fractions, residual 3.4e-6). Buy cost = EV / RTP = 96 / 0.96 = ×100 → buy-mode RTP = 96/100 = 0.9600 exact, scaling with the bet.r ≈ 1/225, so it simply triggers at random on any TAILS win (~1 round in 803), with no cross-round state of any kind. Every payout — including the ×15000 wincap outcome — is pre-generated; the front end only animates the bonusFlip events. (That rate r = q/p is derived from a 5-in-a-row streak frequency — which is why P(tails) is tuned to 0.2801684 — but nothing is ever tracked between bets.) 100% RGS-compliant.| Metric | Value | Method |
|---|---|---|
| Bonus trigger (natural) | ~1 / 803 rounds | exact — matches rules claim to ±0.05% |
| Bonus EV (capped) | 96× the bet | exact convolution + 2M Monte-Carlo cross-check |
| P(bonus pays 0) | 3.74% | exact |
| P(hitting the ×15000 cap) per bonus-buy | ~1 / 12,730 | exact |
| Base hit rate (tails / both) | 28.0% / 28-30% | from lookup tables |
Per the docs ("Developers utilizing their own frontend and/or math solutions are welcome"), we shipped a custom, self-contained HTML5 front end — not the web-sdk — that is a full RGS client. It is published and running on the live RGS (real balance, real session). Upgrading a simple game means owning the whole stack, not stitching a template.
| Area | What we did | Status |
|---|---|---|
| RGS client | authenticate → play → end-round (+ balance, bet/event), micro-unit amounts (×1e6), rgs_url/sessionID/lang/device/social from the launch URL, active-round resume, full error-code handling. | ✓ live |
| Verified vs. source | We read the ts-client & web-sdk source and fixed to match: payoutMultiplier is a direct float (not ×100), /bet/event takes a string, errors can arrive in a 200 body, replay amount is micro-units. | ✓ matched |
| Bet Replay | replay=true path: GET /bet/replay/…, the full bet bar stays on screen and the SPIN button re-plays the round, zero authenticated wallet calls. | ✓ |
| Social (stake.us) | Full restricted-phrase replacement (bet→play, pays→wins, buy→bonus, cash→coins…) across UI, rules and baked image text; SC/GC display without $. | ✓ audited, 0 residuals |
| CSP compliance | The CDN blocks blob:. Three.js decoded the coin's textures via blob URLs → white coin in prod. Fixed by shipping the coin as a data-URI glTF; verified against your exact connect-src policy. | ✓ golden coin in prod |
| Presentation layer | 18 chroma-keyed villain reaction clips keyed live on canvas (Safari included), a real 3D coin (Three.js), full-screen cinematics for EDGE / feint / bonus, and a purpose-built portrait (mobile) layout rebuilt layer-by-layer to fill any phone. | ✓ |
| IP hygiene | Cinzel & Lilita One (SIL OFL), background music (Pixabay, certificate on file), three.js (MIT). Zero GPL/copyleft anywhere in the bundle. | ✓ |
REVIEW-EVENTS.md ships book IDs per mode for every outcome class — loss / normal win / big win / wincap ×15000 / bonus trigger — e.g. goblin_both: loss = 1, TAILS ×3 = 2, EDGE ×1000 = 3, wincap = 5460.No tutorial, understood in one second, in any language. The villain reaction makes every round a vertical clip with zero editing — content that films itself, which is exactly what drives organic reach and streamer engagement.
One RTP (0.96) across all modes, a declared ×15000 wincap that's achievable, healthy hit rates, no cross-round state, stateless bonus. The math was engineered to pass review, not to squeak through it.
Each new villain is a drop-in EDGE multiplier + art pack — a season, a collab, an event skin — with no engine work. And the thesis generalises: the next title takes the next simple mechanic (dice, mines, plinko) and gives it the same premium, character-led treatment.
Cool Kids is the studio that elevates simple games instead of cloning complex ones. Every title we ship will take a mechanic the industry treats as filler and give it the production value, character and emotional hook usually reserved for AAA. That is a lane almost no one is running — and it's ours.