Skip to main content

Whisky Architecture Overview

The Whisky Gaming Protocol is built as a modular, decentralized system with four main components that work together to provide a complete gaming infrastructure. This architecture ensures scalability, security, and maintainability while enabling developers to build sophisticated gaming applications.

System Architecture

┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│   Whisky API    │    │  Whisky Core    │    │ Whisky React    │
│                 │    │      SDK        │    │      SDK        │
│ • Analytics     │◄──►│                 │◄──►│                 │
│ • Statistics    │    │ • Smart Contract│    │ • React Hooks   │
│ • Real-time     │    │   Interaction   │    │ • UI Components │
│   Data          │    │ • Protocol      │    │ • Wallet        │
│ • Event History │    │   Logic         │    │   Integration   │
└─────────────────┘    └─────────────────┘    └─────────────────┘
         │                       │                       │
         │                       ▼                       │
         │              ┌─────────────────┐              │
         │              │   Solana        │              │
         │              │   Blockchain    │              │
         │              │                 │              │
         │              │ • Smart         │              │
         │              │   Contracts     │              │
         │              │ • Liquidity     │              │
         │              │   Pools         │              │
         │              │ • Game State    │              │
         │              │ • Randomness    │              │
         └──────────────►└─────────────────┘◄─────────────┘


                ┌─────────────────┐
                │ Whisky Explorer │
                │                 │
                │ • Dashboard     │
                │ • Analytics     │
                │ • Pool          │
                │   Management    │
                │ • Game          │
                │   Monitoring    │
                └─────────────────┘

Component Interactions

1. Whisky API - Data Layer

The API serves as the data access layer, providing:
  • Real-time Analytics: Live statistics and metrics
  • Historical Data: Game history and event logs
  • Pool Information: Liquidity pool status and metrics
  • Player Statistics: Individual player performance data
Key Responsibilities:
  • Indexing blockchain data for fast queries
  • Providing aggregated statistics
  • Real-time event streaming
  • Data caching and optimization

2. Whisky Core SDK - Protocol Layer

The Core SDK provides direct interaction with the Solana smart contracts:
  • Smart Contract Calls: Direct blockchain interactions
  • Transaction Building: Creating and signing transactions
  • Account Management: PDA derivation and management
  • Protocol Logic: Mathematical calculations and validations
Key Responsibilities:
  • Abstracting complex blockchain operations
  • Providing type-safe interfaces
  • Handling transaction lifecycle
  • Managing cryptographic operations

3. Whisky React SDK - UI Layer

The React SDK provides frontend integration capabilities:
  • React Hooks: Custom hooks for protocol interaction
  • UI Components: Pre-built gaming components
  • Wallet Integration: Seamless wallet connectivity
  • State Management: Application state handling
Key Responsibilities:
  • Simplifying frontend development
  • Providing consistent UI patterns
  • Managing wallet connections
  • Handling user interactions

4. Whisky Explorer - Monitoring Layer

The Explorer provides a comprehensive dashboard:
  • Live Monitoring: Real-time game and pool monitoring
  • Analytics Dashboard: Comprehensive data visualization
  • Pool Management: Liquidity pool administration
  • Transaction Tracking: Detailed transaction history
Key Responsibilities:
  • Providing transparency and visibility
  • Enabling pool management
  • Displaying protocol analytics
  • Supporting debugging and development

Data Flow

Game Initiation Flow

Randomness Settlement Flow

Smart Contract Architecture

Core Contracts

WhiskyState (Global Protocol)

pub struct WhiskyState {
    pub authority: Pubkey,           // Protocol governance
    pub rng_address: Pubkey,         // Randomness provider
    pub whisky_fee_bps: u64,        // Protocol fee (basis points)
    pub playing_allowed: bool,       // Emergency stop switch
    pub total_volume: u64,          // Total protocol volume
    pub total_games: u64,           // Total games played
    pub total_fees: u64,            // Total fees collected
}

Pool (Liquidity Management)

pub struct Pool {
    pub pool_authority: Pubkey,      // Pool owner
    pub underlying_token_mint: Pubkey,  // Token type
    pub min_wager: u64,             // Minimum bet amount
    pub max_wager: u64,             // Maximum bet amount
    pub total_liquidity: u64,       // Total pool liquidity
    pub total_plays: u64,           // Total games in pool
    pub total_volume: u64,          // Total volume in pool
    pub lp_token_mint: Pubkey,      // LP token mint
    pub fee_bps: u64,               // Pool fee (basis points)
}

Game (Individual Sessions)

pub struct Game {
    pub pool: Pubkey,               // Associated pool
    pub player: Pubkey,             // Player wallet
    pub wager: u64,                 // Bet amount
    pub bet: Vec<u32>,              // Probability weights
    pub client_seed: String,        // Player randomness
    pub rng_seed: String,           // Server randomness
    pub status: GameStatus,         // Game state
    pub result: u32,                // Winning outcome
    pub payout: u64,                // Payout amount
    pub multiplier: f64,            // Win multiplier
    pub timestamp: i64,             // Game timestamp
}

Instruction Set

The protocol implements 17 core instructions:

Gaming Instructions

  • play_game - Initiate new gaming session
  • rng_settle - Process randomness and determine outcome
  • player_claim - Claim winnings

Pool Management

  • pool_initialize - Create new liquidity pool
  • pool_deposit - Add liquidity to pool
  • pool_withdraw - Remove liquidity from pool
  • pool_update - Update pool configuration

Administrative

  • whisky_initialize - Initialize protocol
  • update_authority - Modify protocol settings
  • emergency_stop - Emergency protocol shutdown

Security Architecture

Multi-Layer Security

1. Smart Contract Security

  • Mathematical Safety: All arithmetic uses checked operations
  • Access Controls: Granular permission system
  • Emergency Controls: Protocol-wide emergency stop
  • Overflow Protection: Safe arithmetic throughout

2. Randomness Security

  • Dual-Seed System: Client + server randomness
  • Cryptographic Combination: SHA-256 hash of seeds
  • Public Verification: All randomness is verifiable
  • RNG Provider Security: Trusted randomness provider

3. Economic Security

  • Payout Limits: Maximum payout restrictions
  • Liquidity Requirements: Minimum pool requirements
  • Fee Validation: Fee structure validation
  • Slippage Protection: Protection against manipulation

4. Network Security

  • Solana Security: Leverages Solana’s security model
  • Transaction Validation: Comprehensive transaction checks
  • Account Validation: PDA and account validation
  • State Consistency: State consistency checks

Scalability Considerations

Horizontal Scaling

  • API Scaling: Multiple API instances with load balancing
  • Database Scaling: Distributed database architecture
  • CDN Integration: Global content delivery
  • Caching Layers: Multi-level caching strategy

Vertical Scaling

  • Smart Contract Optimization: Gas-efficient contract design
  • Batch Processing: Batch transaction processing
  • Indexing Optimization: Efficient data indexing
  • Query Optimization: Optimized database queries

Performance Optimization

  • Connection Pooling: Efficient database connections
  • Async Processing: Non-blocking operations
  • Memory Management: Efficient memory usage
  • Network Optimization: Optimized network calls

Integration Patterns

Frontend Integration

// React application integration
import { WhiskyProvider, useWhisky } from '@whisky-gaming/ui';

function App() {
  return (
    <WhiskyProvider>
      <GamingApp />
    </WhiskyProvider>
  );
}

function GamingApp() {
  const { play, isPlaying, game } = useWhisky();
  
  const handlePlay = async () => {
    await play({
      wager: 1000000,
      bet: [50, 50],
      creator: 'CREATOR_ADDRESS',
    });
  };
}

Backend Integration

// API integration
import { WhiskyAPI } from '@whisky-gaming/api';

const api = new WhiskyAPI({
  baseUrl: 'https://api.whisky.casino',
  apiKey: 'YOUR_API_KEY'
});

// Get platform statistics
const stats = await api.getStats();

// Get recent games
const games = await api.getSettledGames({
  limit: 10,
  creator: 'CREATOR_ADDRESS'
});

Direct Protocol Integration

// Direct smart contract interaction
import { WhiskySDK } from '@whisky-gaming/core';

const sdk = new WhiskySDK({
  connection: new Connection('https://api.mainnet-beta.solana.com'),
  wallet: yourWallet,
  programId: WHISKY_PROGRAM_ID
});

// Create gaming pool
const poolAddress = await sdk.createPool({
  tokenMint: USDC_MINT_ADDRESS,
  minimumWager: 1_000_000,
  poolAuthority: poolAuthorityKeypair
});

Monitoring and Observability

Metrics Collection

  • Transaction Success Rate: Monitor settlement success
  • Pool Liquidity Levels: Ensure adequate funding
  • Fee Collection: Track protocol revenue
  • RNG Provider Uptime: Monitor randomness availability
  • API Performance: Monitor API response times
  • User Activity: Track user engagement metrics

Alerting System

  • Pool Liquidity Alerts: Low liquidity warnings
  • Transaction Failure Alerts: Failed transaction notifications
  • RNG Provider Alerts: Randomness provider issues
  • API Downtime Alerts: Service availability issues
  • Security Alerts: Suspicious activity detection

Logging Strategy

  • Structured Logging: Consistent log format
  • Log Aggregation: Centralized log collection
  • Log Retention: Appropriate retention policies
  • Log Analysis: Automated log analysis
  • Audit Trails: Complete audit trail maintenance

Future Architecture Considerations

Planned Enhancements

  • Cross-Chain Support: Multi-chain gaming infrastructure
  • Layer 2 Integration: Scaling solutions integration
  • Advanced Analytics: Machine learning-powered analytics
  • Mobile SDK: Native mobile application support
  • Enterprise Features: Enterprise-grade features

Scalability Roadmap

  • Sharding: Database sharding for horizontal scaling
  • Microservices: Service decomposition for better scalability
  • Event Sourcing: Event-driven architecture
  • CQRS: Command Query Responsibility Segregation
  • Distributed Caching: Global distributed caching
This architecture provides a solid foundation for building scalable, secure, and maintainable decentralized gaming applications while ensuring transparency, fairness, and economic sustainability.