HONEST STATUS: This is a demo deployment on Arbitrum One using play-money RUSD (faucet token). Contracts are pre-audit — Sourcify-verified, 163/163 forge + 38/38 integration tests green, but no external audit yet. Current max bet is 3,125 RUSD/hand, bond-limited (design target at $300M TVL: $520k–600k). One V1 incident is fully disclosed in the audit package. Credibility is the product — read the gaps before the claims.

Casino games as tradeable risk markets.
The vault sells risk. Players buy it. The protocol prices it.

RAIN Risk Markets is an open protocol on Arbitrum One that turns any published probability distribution into an on-chain risk market: every payout collateralized before the round begins, every outcome derived from a verifiable truth source, every participant paid programmatically from one transparent fee waterfall.

This site is the protocol & documentation hub — for developers, auditors, operators and investors. If you want to play, the live dApp is at rainsandbox.xyz.

01THE DEEPEST LIMITS IN THE MARKET

Position limits are a pure, public function of vault TVL — not a negotiation. At the design target of $300M TVL the protocol underwrites $600,000 even-money positions, beyond any centralized venue, physical or digital. Three exposure rules (volatility cap, 1%-of-TVL tail cap, 5% global net exposure) bound the book mathematically. Whitepaper §3 · see the math run live.

02PROVABLE FAIRNESS

Gameplay runs in two-party state channels: every card and spin is a mutual commit-reveal over pre-committed hash chains — instant, free, and random if either party is honest. A single Pyth Entropy seed, requested once at session open (after both chains are committed), is mixed in as defense-in-depth — the core fairness never depends on any oracle. Dual-signed EIP-712 states, on-chain fraud proofs (proveBadTransition), challenge windows and reclaimStale make disputes objective. Channels spec.

03INSTANT, GASLESS GAMEPLAY

Two on-chain transactions per session; every action in between is an off-chain signed state — ~300–500 ms per action, zero gas, measured on Arbitrum mainnet over WSS. On-chain settlement enforces the last dual-signed state even if the other side vanishes. Architecture.

LIVE ON ARBITRUM ONE — WHAT'S ACTUALLY DEPLOYED TODAY

Honest numbers. Demo stakes, play-money RUSD, pre-audit. The design targets are in the whitepaper; these are the live facts.
GAMES LIVE (STATE CHANNELS)
Blackjack + Roulette
PER-ACTION LATENCY (MAINNET, MEASURED)
~300–480 ms
CURRENT MAX BET (BOND-LIMITED)
3,125 RUSD / hand
DESIGN TARGET @ $300M TVL
$520k–600k / position
CONTRACTADDRESS (ARBITRUM ONE · 42161)STATUS
ChannelManager V3 (active)0xe13DC056111906aA4d3659880EBDC67138c76DA7Sourcify exact_match ✅
GameMuxVerifier (manager's verifier)0x14155583112F87777B95AB0EA76786bf079c6A83Sourcify exact_match ✅
BlackjackRulesVerifier0xFdcCE2DE2F8A28cBBdBaB01131C3bab138Eb9293Sourcify exact_match ✅
RouletteRulesVerifier0x5239969ff32e5733F319d3e80eD64D19adF4962fSourcify exact_match ✅
HouseBond (2×100k RUSD operator bonds)0x37E41E1d1EE2F96cE0203af06d639448547ade84Sourcify exact_match ✅
RUSD (demo token, 6 decimals)0x260c7019E760763988843Bc5b873d749b5937469Play-money faucet token

Why 3,125 and not 520k? The exposure engine clamps the table limit by the smallest of: float-derived cap (1733 ppm of vault float), operator bond headroom (slashable/32) and operator liquidity. Today the 100k RUSD bond is the binding constraint. Raising bonds raises the limit automatically — no redeploy. Full derivation in DEPLOYMENT.md (v4.2.0).

ONE PRIMITIVE, EVERY PRODUCT

A Position is {stake, distribution, payoutTable, spread}. The engine is product-agnostic and distribution-aware: a blackjack hand, a roulette spin, a flight-delay index, a threshold on a weather reading — the protocol knows only distributions, payout tables and spreads. Listing is decided by math, not committees: Σ(pᵢ·payoutᵢ) ≤ 1 − 1.25% and the exposure profile must be computable.

Base spread 1.25%, decomposed on-chain: 0.15% protocol fee → RAIN buyback & burn · 0.25% distribution · ~0.17% trader rebates · 0.05% Anchor Reserve standby · ~0.63% residual to the risk vault. Brands add 0–2.5% markup, disclosed on-chain.

Whitepaper — full economics →

TRACK RECORD, INCLUDING THE FAILURES

Every release, transaction, incident and recovery is logged publicly. Highlights:

  • 163/163 forge tests + 38/38 Anvil integration tests green, incl. fraud-proof and conservation fuzzing.
  • Mainnet dispute drill executed — real forced close with a full challenge window on Arbitrum One.
  • Known V1 incident, fully disclosed: one stranded V1 channel (2,500 RUSD) with no recovery path — player refunded from treasury, house allocation written off, and reclaimStale designed into V2/V3 as a direct consequence.
  • Honest gap: forge coverage is unobtainable under via_ir — documented rather than hidden.

Full audit package →

EXPLORE