Skip to main content
For Game Developers
// SEGMENT: GAMING// PRIVACY_PROTOCOL.V1

True Hidden Information On-Chain

Build games with real secrets. Hidden hands, fog of war, private inventories, and verifiable randomness. All on-chain, all provably fair.

The Transparency Problem

Blockchain games expose everything. Every card, every move, every item. Visible to anyone who looks.

ERR_01

Exposed Game State

Hidden cards, opponent hands, and secret items are visible to anyone reading the blockchain

Destroys competitive integrity and player trust

ERR_02

MEV Exploitation

Automated bots front-run player actions, extracting value from every valuable move

Players lose to bots, not skill

ERR_03

Predictable RNG

On-chain randomness can be predicted, manipulated, or replayed by sophisticated attackers

Rare drops exploited, loot systems gamed

ERR_04

Wealth Targeting

High-value players are identified and specifically targeted by griefers and scammers

Top players leave, community suffers

Privacy-First Game Infrastructure

NixProtocol enables true hidden information games on-chain. Encrypt game state, prove valid moves without revealing strategy, and ensure fair randomness while maintaining full verifiability.

  • Encrypted cards and hidden hands
  • Verifiable fog of war mechanics
  • Private inventories and loadouts
  • Provably fair loot and randomness
  • Anti-MEV move submission
hidden-card-game.ts
// Initialize encrypted deck
const deck = await nixGame.createEncryptedDeck({
  cards: standardDeck,
  shuffleProof: true
});

// Deal hands privately to each player
for (const player of players) {
  const hand = await deck.dealPrivate(player.pubKey, 5);
  await nixVault.storeHand(player.id, hand);
}

// Player submits move with ZK proof
const playProof = await nixZK.proveValidPlay({
  hand: encryptedHand,
  card: selectedCard,
  rules: gameRules
});

await game.submitMove(playProof);

Components for Game Developers

Purpose-built privacy primitives for on-chain games.

1

NixPool Contract

Store cards, inventory, positions, and hidden state with guaranteed secrecy

Bring hidden information to on-chain games

2

Noir Circuits

Validate moves, verify ownership, and prove fair play without revealing strategy

Trustless competitive gaming

3

Nix Wallet

Authenticate players and prevent multi-accounting without compromising anonymity

Fair matchmaking, real leaderboards

4

NixPool SDK

Enable private trades, hidden auctions, and confidential reward distributions

Protected in-game economies

Game Mechanics Unlocked

Privacy primitives that enable entirely new categories of on-chain games.

MODULE_01
1

Hidden Hand Card Games

Build poker, blackjack, or trading card games where players cannot see opponent hands.

Components Used

NixPool ContractNoir Circuits

Benefits

  • Cards encrypted until reveal
  • Prove valid plays without showing hand
  • Commit-reveal for fair dealing
  • Anti-collusion mechanisms
example.ts
// Conceptual integration pattern
// Deal encrypted cards to player
const encryptedHand = await nixVault.encryptCards(
  playerPubKey,
  shuffledDeck.slice(0, 5)
);

// Player proves valid move without revealing hand
const proof = await nixZK.proveValidPlay({
  encryptedHand,
  playedCard: cardIndex,
  gameRules: "poker"
});
MODULE_02
2

Private Inventory Systems

Hide player inventories, equipment, and resources from competitors.

Components Used

NixPool ContractNixPool SDK

Benefits

  • Hidden resource stockpiles
  • Private equipment loadouts
  • Secret crafting materials
  • Concealed power levels
example.ts
// Conceptual integration pattern
// Store inventory privately
await nixVault.storeInventory(playerId, {
  weapons: encryptedWeapons,
  resources: encryptedResources,
  currency: encryptedBalance
});

// Reveal only what's needed for combat
const combatProof = await nixZK.proveEquipped(
  "legendary_sword",
  minDamageRequired
);
MODULE_03
3

Fog of War Mechanics

Implement true fog of war in strategy games where players only see their own explored areas.

Components Used

NixPool ContractNoir Circuits

Benefits

  • Hidden unit positions
  • Secret base locations
  • Concealed army compositions
  • True exploration discovery
example.ts
// Conceptual integration pattern
// Store map state encrypted per player
const playerMapState = await nixVault.encryptMapState({
  exploredTiles: playerExplored,
  unitPositions: myUnits,
  resourceLocations: discoveredResources
});

// Prove unit is in valid position for attack
const attackProof = await nixZK.proveUnitInRange(
  encryptedPosition,
  targetTile,
  unitType
);
MODULE_04
4

Sealed Bid Auctions

In-game auctions where bids are hidden until reveal, preventing last-second sniping.

Components Used

NixPool ContractNoir CircuitsNixPool SDK

Benefits

  • True sealed bids
  • Provable bid validity
  • Automatic settlement
  • No front-running
example.ts
// Conceptual integration pattern
// Submit sealed bid
const sealedBid = await nixVault.sealBid({
  amount: bidAmount,
  itemId: auctionItem,
  maxBid: playerMax
});

// Prove sufficient funds without revealing amount
const fundProof = await nixZK.proveSufficientFunds(
  encryptedBalance,
  minBidRequired
);
MODULE_05
5

Anti-Cheat Rankings

Verifiable skill ratings and rankings without exposing exact scores or match history.

Components Used

Noir CircuitsNix Wallet

Benefits

  • Private skill ratings
  • Prove rank without exact MMR
  • Hidden match history
  • Sybil-resistant accounts
example.ts
// Conceptual integration pattern
// Update player rating privately
await nixRegistry.updateRating(playerId, {
  newRating: encryptedElo,
  matchResult: encryptedResult
});

// Prove eligibility for ranked queue
const rankProof = await nixZK.proveRankRange(
  encryptedRating,
  { min: 1500, max: 2000 } // Gold tier
);
MODULE_06
6

Verifiable Random Events

Fair, unpredictable loot drops, critical hits, and random encounters that players can verify.

Components Used

Noir CircuitsNixPool Contract

Benefits

  • Provably fair randomness
  • Cannot be front-run
  • Player-verifiable outcomes
  • No developer manipulation
example.ts
// Conceptual integration pattern
// Commit to random seed before player action
const commitment = await nixZK.commitRandomSeed(
  serverSeed,
  playerSeed
);

// Reveal and prove fair outcome
const lootProof = await nixZK.proveRandomOutcome({
  commitment,
  outcome: droppedItem,
  probabilityTable: lootTable
});

Games You Can Build

Privacy-enabled game genres that weren't possible on-chain before.

Card Games

Poker, Blackjack, TCGs, Solitaire variants

Strategy Games

RTS, 4X, Tower Defense, Auto-battlers

RPGs & MMOs

Dungeon crawlers, MMORPGs, Roguelikes

Betting & Casino

Roulette, Dice, Sports betting, Prediction markets

Social Deduction

Mafia, Werewolf, Among Us-style games

Puzzle & Trivia

Wordle variants, Quiz games, Escape rooms

Build On-Chain Games with Real Secrets

Hidden hands, fog of war, and sealed bids on testnet now. Mainnet coming soon.