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
| Property | Value |
|---|---|
| Program ID | 97rgjKeM8s7BLqTUbXBSuNFniAigdkju5jQLrDnAQ45u |
| Framework | Anchor 0.32.1 |
| Runtime | Solana BPF |
| Token Standard | SPL 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
| Layer | Mechanism |
|---|---|
| Access Control | Authority-based with has_one constraints |
| Membership | PDA-based proofs (RoundPlayer) |
| Idempotency | Flag-based tracking |
| Randomness | ICP threshold cryptography |
| Funds | PDA-controlled vaults |
Next Steps
- Account Structures - Detailed account layouts
- Instruction Reference - All program instructions
- Security Model - Security mechanisms