Skip to main content

Architecture Overview

PlayOrbs is a dual-chain application powered by Solana and the Internet Computer (ICP). Solana handles all on-chain state and transactions, while ICP provides cryptographically secure randomness that no one—not even operators—can predict or manipulate.

System Diagram

┌─────────────────────────────────────────────────────────────────────────────┐
│ PORBS GAME ARCHITECTURE │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ ON-CHAIN LAYER │ │
│ │ │ │
│ │ ┌───────────┐ ┌───────────┐ ┌───────────┐ ┌───────────┐ │ │
│ │ │ Root │ │ Round │ │ Player │ │ Season │ │ │
│ │ │ Account │ │ Pages │ │ Stats │ │ Snapshots │ │ │
│ │ └─────┬─────┘ └─────┬─────┘ └─────┬─────┘ └─────┬─────┘ │ │
│ │ │ │ │ │ │ │
│ │ └───────────────┴───────────────┴───────────────┘ │ │
│ │ │ │ │
│ │ ┌─────────────────────────────┴─────────────────────────────┐ │ │
│ │ │ INSTRUCTION SET │ │ │
│ │ │ join_round | settle_round | round_payout | update_stats │ │ │
│ │ │ convert_points | claim_season_pool | manage_liquidity │ │ │
│ │ └───────────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ EXTERNAL INTEGRATIONS │ │
│ │ │ │
│ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────────┐ │ │
│ │ │ ICP Canister│ │ Raydium │ │ SPL Token Program │ │ │
│ │ │ (Seed Gen) │ │ CLMM │ │ (PORB Mint/Transfer) │ │ │
│ │ └─────────────┘ └─────────────┘ └─────────────────────────┘ │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────┘

Program Identification

PropertyValue
Program ID97rgjKeM8s7BLqTUbXBSuNFniAigdkju5jQLrDnAQ45u
FrameworkAnchor 0.32.1
RuntimeSolana BPF
Token StandardSPL Token (9 decimals)

Core Components

On-Chain Layer

The Solana program manages all state and operations:

  • RootAccount: Global configuration and state
  • RoundPages: Paged storage for round data
  • PlayerStats: Per-season player statistics
  • SeasonSnapshots: Frozen season data for claims

Internet Computer (ICP) — Randomness Layer

The ICP canister is essential to PlayOrbs. Without it, there would be no provably fair outcomes:

  • Threshold Randomness: Seeds generated by distributed subnet nodes
  • Merkle Proofs: Cryptographic binding of seeds to specific rounds
  • ECDSA Signatures: Non-repudiable proof of authenticity
  • Unpredictable: No one can predict or influence outcomes

Raydium — Liquidity Layer

  • Concentrated liquidity for PORB/WSOL
  • Automated buyback mechanism
  • Locked position for permanent liquidity

SPL Token Program

  • PORB token minting
  • Transfer operations
  • Balance management

Data Flow

1. Player joins round
└── Entry fee → Vault + Protocol

2. Round fills and countdown expires
└── Settlement triggered

3. ICP seed requested
└── Merkle proof generated

4. Settlement executed
└── Seed verified on-chain
└── Prizes distributed
└── Points awarded
└── Emissions processed

5. Player claims rewards
└── SOL from vault
└── PORB from emissions
└── Season pool share

Security Model

LayerMechanism
Access ControlAuthority-based with has_one constraints
MembershipPDA-based proofs (RoundPlayer)
IdempotencyFlag-based tracking
RandomnessICP threshold cryptography
FundsPDA-controlled vaults

Next Steps