Everything you need to build on Rain

Rain is the decentralized prediction markets protocol on Arbitrum One, where anyone can create and trade markets on any topic. These docs cover the TypeScript SDK, REST & WebSocket APIs, and the upcoming fully on-chain CLOB.

bash
npm install rain-sdk-v2 viem

Explore the docs

What is Rain?

Rain is a decentralized prediction markets protocol deployed on Arbitrum One. Markets ("pools") hold 2–26 options, and each option has a Yes and a No side that traders can buy, sell, split, and merge. Markets trade through an AMM or an on-chain order book, settle via AI or manual resolution with an on-chain dispute and appeal flow, and pay out winners directly from the market contract.

🔓 Permissionless markets

Anyone can create a market on any topic — set the question, options, liquidity, and resolution method.

📈 AMM + Order Book

Two trading models per market: continuous AMM pricing, or a price-time priority on-chain order book.

⚖️ On-chain resolution

AI or manual resolvers close markets, with bonded disputes and appeals enforced by contracts.

⛽ Gasless UX ready

Built-in Account Abstraction support (RainAA) with Alchemy paymaster gas sponsorship.

The builder stack

ComponentWhat it gives youStatus
rain-sdk-v2TypeScript transaction builders, on-chain reads, REST + WebSocket clientsLive
Protocol contractsMarkets, AMM, order book, resolution & disputes on Arbitrum OneLive
REST API + WebSocketPools, positions, orders, price history, realtime eventsLive
On-chain CLOB (Orbit L3)Fully on-chain matching engine in Rust/Stylus, CEX-grade performanceIn Development

See the full components status page for the complete roadmap.