OHWOO Protocol Architecture & Mechanics
OHWOO Protocol (token symbol: OHO) is a Solana mainnet wealth aggregation and redistribution protocol powered by on-chain state machines, event-triggered rounds, verifiable randomness, and keeper-assisted automation.
Protocol Objective
OHWOO continuously captures protocol value flow, routes it through deterministic smart-contract modules, and redistributes incentives through event-triggered rounds.
Selection is verifiable: a submitted Merkle snapshot defines eligible weighted holders, and on-chain randomness resolves a deterministic winning index.
From meme attention to programmable redistribution.
System Principles
- On-chain finality for round-critical state and settlement.
- Deterministic accounting for all split and payout paths.
- Composable off-chain automation without bypassing authority checks.
- Auditable proof path: snapshot root + interval check + Merkle proof.
- Operational resilience through fallback draw and timeout reset paths.
Three-Layer Model
flowchart LR
subgraph C[On-Chain Programs]
H[ohwoo_harvest]
S[ohwoo_swap]
D[ohwoo_distributor]
P[ohwoo_pool]
K[ohwoo_staking]
L[ohwoo_lp_manager]
end
subgraph O[Keeper Off-Chain]
SCH[Scheduler Cron]
PS[PoolService]
SS[SwapService/CPMM]
DS[DistributorService]
HS[HarvestService]
LS[LiquidityService]
API[HTTP API Server]
IDX[Indexer + Stores]
end
subgraph F[DApp Frontend]
HOME[Home]
STAKE[Staking]
HOOKS[Hooks/API Clients]
end
SCH --> HS --> H
SCH --> SS --> S
SCH --> DS --> D
SCH --> PS --> P
SCH --> LS --> L
IDX --> API
API --> HOOKS --> HOME
API --> HOOKS --> STAKEProgram Responsibilities
Harvests Token-2022 withheld transfer fees and routes tax flow into swap tax vault.
Handles USDC forwarding with min-interval and threshold checks after keeper-side swap execution.
Splits USDC by BPS into prize/staking/liquidity/v2/ops and manages staging release into pool vault.
Owns round state machine, snapshot root, draw trigger, VRF fulfillment, proof verification, and payout.
Tracks staking positions, lockup windows, and reward-per-token accounting for USDC rewards.
Executes Raydium CPMM liquidity injection from protocol vaults with slippage caps and PDA authority.
| Contract / PDA | Address |
|---|---|
| Pool Program | oho63UvjRqStVqSZjMYZYfXSUubTAacHFkYdeEKNY3L |
| Distributor Program | oho3tqbU2FQDcngMqnU8uGyfj2xQD6KZ6cHp1UBJ9HG |
| Harvest Program | oho1YinN7pMfvDUhunvB8NZnz9nUiQPoU3Bkgo2J5Ve |
| Swap Program | oho2ZBYfZ4YvLVFKtL9fvqs7Bwmqb7viAHDhDTqSiL9 |
| LP Manager Program | oho5AWU1ZWEzohCema1pyDst5Wo6Snz1jEhPJcZmAUA |
| OHO Mint | oHo3ssTsm9bxtegyRMpYsvASVGQAF2SYqeX1JjJWXRA |
| sOHO Mint | soHo7hDQoVgy6cRCFxDREXurcSwS6fJAyaDCRDq3RmE |
| USDC Mint | EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v |
| Prize Pool Vault | ADgRJNUaeCWdRZ71RG5gjNEetGN5ZKAvBh1caGBEuMEz |
| Prize Staging Vault | wpyv8RwEHLMxkQnRAcoqrzJQ53H2ys2qfQepanePNas |
From Tax Capture to Winner Settlement
- Harvest Token-2022 withheld taxes into swap tax vault.
- Keeper executes swap path and forwards USDC to distributor.
- Distributor splits USDC by configured BPS buckets.
- Prize staging funds move into pool vault in valid pool window.
- Snapshot locks round and stores Merkle root + total weight.
- Draw request transitions to VRF waiting state.
- VRF fulfillment writes winning index.
- Claim verifies proof and settles winner/triggerer payout.
sequenceDiagram participant U as Users participant H as Harvest participant SW as Swap + Keeper participant D as Distributor participant P as Pool participant V as VRF U->>H: Transfer activity accumulates withheld tax H->>SW: Harvest to swap_tax_vault SW->>SW: Keeper executes OHO -> USDC swap SW->>D: forward_usdc to distributor_vault D->>D: Split by BPS D->>P: staging -> pool vault P->>P: submit_snapshot P->>P: draw_winner / keeperDraw P->>V: request randomness V->>P: fulfill_randomness P->>P: claim_prize + advance_round
Pool Round Lifecycle
Only one state path is valid per round: Open, SnapshotLocked, WaitingForVrf, ReadyToClaim.
On successful claim, the protocol advances round id and resets round-scoped fields such as Merkle root, winning index, triggerer, and deadline.
stateDiagram-v2 [*] --> Open Open --> SnapshotLocked: submit_snapshot SnapshotLocked --> WaitingForVrf: draw_winner / keeperDraw WaitingForVrf --> ReadyToClaim: fulfill_randomness ReadyToClaim --> Open: claim_prize / claim_prize_no_triggerer WaitingForVrf --> Open: reset_pool (timeout)
Math and Accounting
weight_i = OHO_i + sOHO_i * m
winning_index = random_u128 mod W
cum_i <= winning_index < cum_i + weight_i
triggerer_share = V * fee_bps_triggerer / 10000
winner_share = V - triggerer_share
prize/staking/liquidity/v2 = T * bps / 10000; ops = remainder
reward_per_token += delta_rewards * 1e18 / total_staked
market_cap = total_supply_OHO * (USDC_reserve / OHO_reserve)
Scheduler and Execution Policy
Keeper orchestrates harvest, swap, distribute, liquidity, event checks, draw checks, and staking reward checks by cron-configured loops.
Event-driven snapshots can be triggered by holder growth, market cap growth, prize threshold, manual signal, or fallback timeout.
Community-first logic: when state enters SnapshotLocked, keeper waits `KEEPER_DRAW_DELAY_SEC` before fallback draw.
Draw Window vs Claim Window
`KEEPER_DRAW_DELAY_SEC` is off-chain policy that leaves first trigger rights to community users.
`CLAIM_WINDOW_SECONDS` is on-chain configuration for how long claim remains valid after randomness is fulfilled.
Risk Model and Mitigations
- Strict state gating in pool instructions prevents invalid transition calls.
- PDA and mint ownership checks protect vault routing paths.
- Merkle proof length cap and deterministic hashing reduce proof abuse.
- Under high network load, API updates may lag temporarily; on-chain transaction records remain the source of truth.
- Keeper restarts clear memory-only timers; persisted stores reduce disruption impact.
How a Winner Address Is Selected
Think of every eligible wallet as owning a segment on one long number line. The segment length is that wallet's snapshot weight.
The protocol then generates one verifiable random number and drops it onto this number line. Whichever wallet segment contains that random index becomes the winner for the round.
Total snapshot weight = 100
Wallet A: [0, 40)
Wallet B: [40, 70)
Wallet C: [70, 100)
If random index = 56, it lands in Wallet B's range, so Wallet B wins.
This is why higher snapshot weight increases winning probability, while final selection remains random and verifiable on-chain.
Protocol Positioning
OHWOO does not promise fixed yield.
It offers transparent value routing, verifiable random selection, and auditable redistribution as a long-running on-chain experiment.
Convert attention into transparent, programmable incentive cycles.
Progressive Decentralization Plan
Core contracts deployed, fair launch completed, and the event-triggered surprise prize pool brought fully online, targeting a potential 1,000,000 USDCsingle-winner milestone.
Staking opens to OHO holders: staking can earn protocol reward distribution while increasing snapshot weight. An NFT ecosystem layer is introduced to expand community participation and identity.
Community governance framework and governance token launched. Operational scheduling, dApp evolution, and policy direction transition to community-managed processes with the goal of stronger decentralization and censorship resistance.
Token Initial Allocation and Revenue Routing
| Allocation Bucket | Share |
|---|---|
| Initial Liquidity | 20% |
| PDA Treasury (Protocol Managed) | 60% |
| Team & Contributors (Locked) | 20% |
| Bucket | BPS | Share |
|---|---|---|
| Prize Pool | 5000 | 50% |
| LP Injection | 3000 | 30% |
| V2 Fund | 1000 | 10% |
| Operations | 1000 | 10% |
Formula: `amount_bucket = total_distributor_amount * bps_bucket / 10000`.
| Bucket | BPS | Share |
|---|---|---|
| Prize Pool | 5000 | 50% |
| LP Injection | 1000 | 10% |
| Staking Rewards | 3000 | 30% |
| Operations | 1000 | 10% |
Phase switch from V1 to V2 is governed by protocol policy and on-chain parameter update transactions.

Critical Disclaimer & Risk Notice
Please read and fully understand the following before participating:
Not investment advice: OHO and this protocol are provided for informational and experimental purposes. Nothing here constitutes investment, legal, or tax advice, and there are no profit guarantees.
Not gambling: The community incentive mechanism is not a lottery or gambling. It is a technical experiment to increase participation and community activity. Participants should not expect guaranteed returns.
No warranties: The protocol is provided “as is,” without any express or implied warranties, including merchantability or fitness for a particular purpose.
High risk: Crypto markets are highly volatile. Participation carries significant risks, including smart-contract vulnerabilities, technical failures, or regulatory changes, and may result in total loss. You assume all risks and responsibilities.
Jurisdiction and compliance: Access to this protocol may be restricted in some jurisdictions. You are solely responsible for ensuring your use complies with all applicable laws and regulations in your location.
Limitation of liability: To the maximum extent permitted by law, creators, contributors, and affiliates are not liable for any direct, indirect, incidental, or consequential damages arising from use of this protocol or OHO.
Before participating, ensure you understand crypto and smart-contract risks and consult independent professional advisors.