⚡ INSTANT GUEST PLAY

Your
Table
Rules
.

Host a game and invite the crew.

NO DOWNLOAD

NO SIGN-UP

or get dealt in

Follow the action

Learn More

Poker Night is Back 🤑

We brought the Friday night home game to your browser. Talk trash in the chat, throw emojis at your friends, and settle the score without leaving your couch.

Poker lobby
ZERO BRAINPOWER NEEDED

Play in seconds.
Just send the link.

You didn't come here to fill out forms. You came to play. Test our game engine, check the vibes, and bluff your friends using a completely anonymous guest account. No strings attached.

  • 100% Anonymous(We don't want your data)
  • No Downloads(Browser-based action)
  • Free to Play(Practice with free chips)
POWERED BY THIRDWEB

Auth & Crypto Play

Ready for real stakes? We use Thirdweb for secure payments and seamless sign-in options. This ensures your connection is safe, fast, and compatible with modern standards.

How it works:

Thirdweb handles the complexity. You simply log in using your favorite social account (Google, Discord, X) or connect your Web3 wallet directly.

Base

Base

Google

X

Discord

Apple

Thirdweb Login

♦️

MEMBERS ONLY

A Seat is Waiting For You 🫵

The world's funnest digital poker party. Big pots, bigger personalities. Get invites to private games and dev Q&As.

3 Steps to the Flop.

We handled the tech so you can handle the cards. No downloads, no updates, just pure poker action.

Step 01

Jump In Instantly

Use what you have—Google, Discord, or your Wallet. Or just play for free as a Guest. No sign-up forms required.

Step 02

Host Your Table

Spin up a private room. Set the blinds, choose the game speed, and control exactly who sits down. It's your rules.

Step 03

Share & Play

Drop the link in your group chat. Friends join instantly on any browser or device. No app store downloads, ever.

iPhone mockup frame
CHIP VALUE SYSTEM

1 Chip = 0.01 USDC. Always.

Simple, predictable, and enforced by smart contracts. When you create a game, you set the blind structure in chips, and the USDC value is automatically calculated.

A 10/20 chip game means blinds of 10/20 chips (0.10/0.20 USDC). Players buy in with USDC and receive the exact chip amount for your table's structure.

FIXED EXCHANGE RATE

USDC

0.01 USDC

1

Chip

EXAMPLE GAMES

5/10 GAME

5/10 chips
0.05/0.10 USDC

25/50 GAME

25/50 chips
0.25/0.50 USDC

Why Onchain?Vault Mode 🔐

Your Table is Your Vault.

We built the perfect compromise. Our high-performance Go backend handles the shuffling and game logic instantly—so there's no lag between hands. Meanwhile, Smart Contracts act as the "Banker," securing your funds on-chain.

Engine ↔ Banker

Game Engine (Go)

  • Whitelist Handling
  • Shuffling
  • Pot Calculation
State Updates

The Banker (Contract)

  • Custody
  • Payouts
  • Settlement
D
Proof 01

Cryptographic Shuffling

No predictable seeds. We use crypto/rand with a Fisher-Yates shuffle for true entropy. It's industry-standard cryptographic randomness, ensuring every river is truly random.

Proof 02

The Smart Contract Banker

Every table deploys its own dedicated Smart Contract (1-to-1). It acts as an automated escrow vault. We update the score, but the contract holds the cash.

Fair Play
ODDS & RANDOMNESS

How we calculate odds — and keep every shuffle fair.

Every shuffle is powered by Go's crypto/rand—an industry-standard CSPRNG backed by OS entropy. That means shuffles are unpredictable, independent, and fair.

Odds Engine

Uses standard hand evaluation and repeated runouts to give fast, intuitive win/tie odds as the board develops.

Secure Shuffle

No predictable seeds. We use OS entropy via crypto/rand with Fisher–Yates so each of the 52! decks is equally likely.

Shuffle Seal
52! Decks

Secure Shuffle (Go)

import (
    "crypto/rand"
    "encoding/binary"
)

func SecureShuffleDeck(d *Deck) error {
    *d = append([]Card{}, DefaultDeck...)
    n := len(*d)

    randomBytes := make([]byte, n*8)
    // crypto/rand pulls entropy from the OS CSPRNG, making shuffles unpredictable.
    _, err := rand.Read(randomBytes)
    if err != nil { return err }

    for i := n - 1; i > 0; i-- {
        offset := (n - 1 - i) * 8
        randVal := binary.BigEndian.Uint64(randomBytes[offset : offset+8])
        // Fisher–Yates: each swap index is chosen uniformly from the remaining range.
        j := int(randVal % uint64(i+1))
        (*d)[i], (*d)[j] = (*d)[j], (*d)[i]
    }
    return nil
}

Fisher–Yates shuffle powered by OS entropy via Go's crypto/rand. Read the docs

OS CSPRNG (crypto/rand)Fisher–Yates / KnuthIndependent shufflesAuditable logic

Frequently Asked Questions?

Stacked Logo

STACKED

The easiest way to play poker with friends, onchain. No downloads, no hassle—just pure poker action.

Product

Play NowCreate Table

© 2026 Stacked Poker. All rights reserved.

Built with Thirdweb

Made for Onchain Friends