USDR — Rain Dollar 💵

A solvency-capped liquidity stablecoin for decentralized prediction markets. USDR lets Rain underwrite true portfolio-level risk instead of phantom per-leg capital, bounded by one inviolable, code-level invariant: the protocol's maximum possible loss can never exceed its stable reserve — proven in real time at every block.

📄 White Paper v3.2. This page summarizes the USDR mechanism-design specification. USDR is the settlement layer for the RAIN protocol's existing, live market structure (AMM/LMSR pricing and on-chain order books). This is a mechanism spec, not financial, legal, or regulatory advice — independent audit and regulatory review are required before deployment.

Overview

Order-book prediction markets suffer a structural inefficiency: the capital required to quote a market is far larger than a market maker's actual maximum loss. Quoting a 2% outcome on a CLOB can demand posting up to 50× the taker's stake — up to 100× for deep tail outcomes — even though, across a mutually exclusive market, the losses of every other outcome more than fund the one that resolves true.

USDR closes that gap. It is a single, fungible, on-chain stablecoin, backed by a diversified collateral basket, that lets the protocol and its market makers underwrite net portfolio risk while remaining provably solvent. AMMs using the LMSR cost function are already bounded-loss by construction; order books are not. USDR brings that same bounded-loss guarantee to the order book — and shared, capital-efficient liquidity to both.

≤ Reserve
Protocol MaxLoss can never exceed the stable reserve — enforced in code
1 token
Single fungible ERC-20, basket-backed — no per-collateral sub-tokens
100%
Winning-trader payouts pre-funded in an on-chain Settlement Escrow
Every block
Solvency published live on the open Solvency Dashboard

The problem — capital required vs. maximum loss

Consider a CLOB market on "Will Norway win the World Cup?" trading at 2%. To let someone take a $1,000,000 position, a liquidity provider must post roughly 50× — $50,000,000 — to back that single leg. But that is an illusion of risk. "Who wins the World Cup?" is mutually exclusive: exactly one outcome resolves true, and every other position loses. If Norway wins, the provider pays the Norway backers but collects the far larger losses from everyone who backed the other nations. Netted across the whole market, the maximum possible loss is dramatically smaller than the gross capital each leg appears to demand.

📈 AMM / LMSR markets

Already bounded-loss by construction: for liquidity parameter b and N outcomes, max loss is exactly b · ln(N), independent of volume. Here USDR adds capital efficiency and shared liquidity.

⌨️ CLOB / order-book markets

Where the real problem lives — collateral is locked per leg, blind to the mutual-exclusivity offset. This is the inefficiency USDR is built to solve.

This is a protocol-design solution, not a balance-sheet one. The question is never "how many billions does the treasury hold?" It is "how do we let liquidity providers underwrite true net risk instead of phantom gross risk — transparently, and without ever becoming insolvent?"

The solvency invariant — core of the system

The protocol enforces, in code, at every block:

invariant
Stress-MaxLoss(t)  ≤  Stable Reserve(t)

MaxLoss(t) is NET, not gross. It is the maximum the protocol can lose as a market maker, computed deterministically as the true worst-case net delta across all outcomes — the outcome that, if it resolves true, costs the most after netting every other outcome's loss against it. A market maker never posts collateral against each leg in isolation (that would recreate the 50×–100× waste); it backs only the netted worst case.

Market typeNet worst-case term
LMSRExactly b · ln(N) — independent of volume
CLOBWorst-case net open exposure across all outcomes, after offsetting opposing sides
Correlated groupsMarkets that move together are grouped; the worst case is computed at the group level so correlation is never underpriced
CDP shortfall riskConservative reserve for positions past liquidation but not yet cleared, priced across the full circuit-breaker window
Stress-MaxLoss — the anti-Terra guarantee. The enforced figure is computed under a fixed, conservative stress assumption: every volatile asset marked down ~50% instantly, circuit breakers active, in-liquidation depth at ~35% of normal, and correlated markets crashing together. Enforcing the stress figure turns "solvent under normal conditions" into "solvent through a crisis." The dashboard publishes both the normal and the stress figure.

Because the floor relies only on the exogenous stable reserve (USDT/USDC) and never on RAIN's mark, even RAIN collapsing to zero cannot make the protocol insolvent toward traders. The system simply refuses to extend depth that would breach the floor.

The Settlement Escrow

The stable reserve is split. A main reserve holds the stable assets; from it, the protocol moves exactly Stress-MaxLoss(t) into an on-chain Settlement Escrow inside the protocol contract, topped up dynamically as exposure changes. The escrow is accessible only to traders, and only for settlement of winning positions.

reserve accounting
Stable Reserve(t) = USDT + USDC          (exogenous, stable, multi-wallet)
Settlement Escrow = Stress-MaxLoss(t)    (traders' winnings only)
Free slack        = Reserve − MaxLoss    (all other redemption, first-come)

This makes the trader guarantee real without recreating per-leg over-collateralization: the protocol pre-commits stable funds equal to its net worst-case, so a winning trade is always payable in USDT — regardless of what collateral the losing counterparty posted. Merely holding USDR, or having minted it against RAIN, grants no access to the escrow.

Two guarantees, kept distinct

✅ Traders' winnings — fully guaranteed

A winning position was part of net MaxLoss the moment it opened, so its payout is already pre-funded in the Settlement Escrow. Settlement to USDT is trustless and cannot be taken by anyone else. A trader who entered with USDT can always exit with USDT up to their P&L.

💧 Everyone else — best-effort from slack

Secondary-market holders, RAIN-minters, and PSM depositors redeem from free slack (Reserve − MaxLoss), first-come. The PSM is a 1:1 onramp, not a guaranteed 1:1 exit. No double-pledge: the escrow is funded first; only remaining slack backs everyone else.

USDR is a solvency-capped settlement token with a guaranteed trader tier — not a universal-1:1-redemption stablecoin. It remains a single fungible token; the escrow-vs-slack split is protocol-internal reserve accounting, not a second token.

Issuance — one token, a collateral basket

Anyone can mint USDR by depositing collateral. USDR is a single fungible token regardless of which collateral created it. Volatile-collateral positions are over-collateralized CDPs with liquidation.

CollateralCollateral ratioType
USDT / USDC100% (1:1)Stable onramp (PSM). Mint 1:1; redemption best-effort from slack
ETH140%Volatile — CDP with liquidation
wBTC140%Volatile — CDP with liquidation
ARB400%Volatile + correlated with the Arbitrum stack; treated like RAIN
RAIN400%Volatile + thinner liquidity — CDP with liquidation

Each collateral type has a liquidity-derived debt ceiling — a hard, code-enforced cap on how much USDR may be minted against it, sized to that asset's real market liquidity, with hysteresis so a temporary dip does not strand existing positions. No actor — including the Foundation or an attacker holding admin keys — can mint beyond the ceiling. There is no admin-mint.

The absorption waterfall — bad-debt handling

If a collateral price crashes faster than liquidation can clear, loss is absorbed in strict order — bounded and non-reflexive:

1

Over-collateralization

Absorbs ordinary declines before bad debt can form.

2

Liquidation auctions

Keepers close under-collateralized positions for a penalty — profitable while a margin exists.

3

Surplus Buffer

The vig fills a Surplus Buffer to its target first; only excess funds RAIN buyback-and-burn. The buffer absorbs residual bad debt.

4

RAIN backstop (controlled)

If the buffer is exhausted, the protocol sells treasury RAIN in a measured, capped manner — never an unlimited reflexive mint.

5

Emergency settlement

Last resort: the system shuts down and USDR holders receive a pro-rata share of total collateral at $1. Loss is bounded, tiered, and transparent — never an all-erasing spiral.

The no-reflexivity rule. Exiting a RAIN (or other volatile) CDP means closing the position and receiving the collateral back — never USDT. The protocol never sells RAIN into the market to honor redemption. This single rule removes the Terra-style death-spiral vector entirely; volatile collateral only ever changes hands through liquidation auctions, where keepers take the price risk.

Protocol economics

🏦 5% vig

A structural house edge on taker volume — statistically profitable over the long run.

🔥 2.5% buyback & burn

2.5% of taker volume is converted to RAIN and burned — continuous buy pressure and deflationary supply pressure.

💧 LP rewards

Providers of real depth earn a share of volume (already live).

🪶 No transfer fee

A clean, fungible ERC-20 with zero transfer friction and full composability. No Savings Rate — demand is organic utility, not subsidy.

The virtuous cycle. At $100M daily volume, the 2.5% buyback burns roughly $2.5M of RAIN per day (~$0.9B/year), deepening RAIN liquidity → raising debt ceilings → supporting more USDR liquidity → driving more volume → burning more RAIN. The protocol becomes safer as it grows — the exact inverse of a reflexive death spiral.

Why USDR is not Terra / LUNA

Terra / UST failure modeUSDR defense
No cap on supply vs. backingMaxLoss ≤ Reserve enforced in code
100% endogenous collateral (LUNA)Diversified basket: USDT/USDC, ETH, wBTC, ARB, RAIN
Collateral counted at full valueHard Floor counts no volatile collateral toward the at-risk book
Protocol mints/sells its token to honor exitsProtocol never sells RAIN for redemption; CDP exit returns collateral
Unlimited reflexive mintLiquidity-derived debt ceilings; no admin-mint
Yield from mintingNo Savings Rate; rewards only from real vig
Opaque solvencyPublic real-time Solvency Dashboard
Universal $1 redemption promiseTiered and honest: winning-trader payouts fully guaranteed; all other redemption best-effort from slack

Stress scenarios — the invariant holds through crises

RAIN collapses 80% in an hour

RAIN is excluded from the reserve, so the trader escrow (USDT-funded) is untouched. RAIN CDPs are liquidated (partial/staggered under the breaker); keepers take the risk; no reflexive mint, so no spiral.

Balanced $1B market, one side wins

$500M France vs. $500M Argentina → net MaxLoss ≈ $0. The winning side is paid from the losing side's stake. Solvent by construction.

Attacker dumps 500M RAIN-minted USDR

Impossible: no admin-mint, RAIN issuance capped by the debt ceiling, and no code path converts RAIN → USDT. Exiting a RAIN CDP returns RAIN, not USDT.

Correlated red day

Stress-MaxLoss already assumes a correlated crash and groups correlated markets, so the reserve was sized for it in advance; depth was throttled pre-emptively.

One-sided flow (unbalanced book)

MaxLoss for a concentrated longshot rises toward (1−p)/p × the premium — exactly what the invariant checks. The protocol responds by capping depth, never by underwriting unbounded exposure. Result: less liquidity, never insolvency.

PSM redemption run

Winning-trader settlement is untouched (pre-funded). PSM redemptions serve from slack first-come; beyond it, holders wait or use the secondary market. Orderly, because PSM was never a guaranteed 1:1 exit.

Parameters — launch defaults

Core (invariant, ceilings, liquidation logic) is immutable with emergency-pause only; risk parameters are timelock-governed.

ParameterValue
Collateral: USDT/USDC100% (PSM)
Collateral: ETH / wBTC140%
Collateral: ARB400% (correlated-with-RAIN)
Collateral: RAIN400%
Solvency rule (Hard Floor)Stress-MaxLoss ≤ USDT/USDC reserve; volatile excluded
Stress assumptionsvolatile −50%, breaker active, in-liquidation depth 35%, correlated crash
Settlement Escrowdynamic, = Stress-MaxLoss(t); traders' winnings only
Vig (taker fee)5%
Buyback & burn2.5% of taker volume
Transfer fee / Savings RateNone / None
Debt ceilingsLiquidity-derived, per collateral
RAIN / ARB oracleUniswap v3 TWAP (30–60 min) + circuit breaker
ETH / wBTC / USDC oracleChainlink

Roadmap

1

Governance ratification

Ratify the White Paper via RAIN governance.

2

Implementation

USDR issuance, reserve-accounting, solvency-invariant, and liquidation modules.

3

Security audit

Independent audit prior to mainnet.

4

Solvency Dashboard

Launch the open, real-time Solvency Dashboard.

5

Progressive tuning

Tune risk parameters (ceilings, caps) via timelocked governance as live data accrues.

Building on USDR? The reference implementation & audit package is live — 13 contracts, 36 tests, fork-verified against Arbitrum One. USDR is the settlement layer for Rain's existing live market structure. Explore the SDK Reference and code examples, or reach out via the official channels at rain.one.