Skip to content
Liar's Proof

Liar's Proof

Prove your hand fulfills conditions without reveal

Created on 4th December 2025

Liar's Proof

Liar's Proof

Prove your hand fulfills conditions without reveal

The problem Liar's Proof solves

Privacy in On-Chain Gaming

Traditional on-chain games face a fundamental privacy problem: all game state is publicly visible on the blockchain. This eliminates strategic gameplay, makes games predictable, and prevents classic game mechanics like hidden cards, secret moves, or private information.

Liars Proof solves this by enabling privacy-preserving on-chain games where players can:

  • Keep their cards completely hidden from opponents
  • Make verifiable claims about hidden information
  • Prove statements without revealing underlying data
  • Play strategically without information leakage

Zero-Knowledge Proofs for Gaming

The Challenge

How do you verify that a player has a specific card (e.g., "a Heart card with value ≥ 10") without revealing:

  • Which exact card they have
  • Their entire hand
  • Any other private information

Our Solution

Using Zero-Knowledge Proofs, players can:

  1. Commit to their hand privately (cryptographic hash)
  2. Claim they fulfill conditions (e.g., "I have a Heart ≥ 10")
  3. Prove their claim with a ZK proof that verifies:
    • The claim is true
    • The proof matches their committed hand
    • Without revealing the actual cards

Problems Solved:

  • No Cheating: Cryptographic proofs prevent players from lying about their cards
  • No Information Leakage: Opponents learn nothing beyond what you claim
  • Verifiable Fairness: All game logic is on-chain and auditable
  • Trustless: No need for trusted intermediaries or servers

Making On-Chain Games Practical

Before Liars Proof:

  • ❌ All game state visible → No strategy possible
  • ❌ No hidden information → Can't implement classic game mechanics

With Liars Proof:

  • ✅ Private game state → Strategic gameplay possible
  • ✅ Verifiable claims → Fair and secure with ZK
  • ✅ Hidden information → Classic game mechanics work on-chain

Challenges I ran into

Network Instability & Transaction Failures

The Problem

Working with ZStarknet (a testnet) presented significant challenges:

  • Frequent transaction rejections: Transactions would fail unpredictably

The Solution

We implemented robust retry logic and transaction verification:

Key improvements:

  • ✅ Automatic retry with up to 20 attempts
  • ✅ Transaction verification
  • ✅ Better error handling and user feedback

Wallet Integration Challenges

The Problem

Integrating wallets (Ready/Braavos/Controller) with ZStarknet was difficult:

  • Network configuration: Users had to manually configure custom RPC endpoints
  • Poor UX: Required technical knowledge to set up correctly

The Solution

We built a Guest Wallet that eliminates the need for manual wallet setup:

Features:

  • Auto-generated wallets: Create a Ready wallet with one click
  • Automatic funding: Wallet is funded from an owner account (0.1 Ztf)
  • Auto-deployment: Account contract deployed automatically on first use
  • Persistent storage: Wallet saved in localStorage for returning players
  • Seamless experience: Users can start playing immediately

Impact:

  • Zero setup time: Users can play in seconds, not minutes
  • Better conversion: No technical barriers to entry
  • Fallback option: Even experienced users prefer guest mode for quick testing

Tracks Applied (1)

Cross-Chain Privacy Solutions

Liars Proof uses Zero-Knowledge Proofs to enable privacy-preserving on-chain games. Players can prove they have specific...Read More
Starknet

Starknet

Discussion

Builders also viewed

See more projects on Devfolio