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.
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.
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:
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 type | Net worst-case term |
|---|---|
| LMSR | Exactly b · ln(N) — independent of volume |
| CLOB | Worst-case net open exposure across all outcomes, after offsetting opposing sides |
| Correlated groups | Markets that move together are grouped; the worst case is computed at the group level so correlation is never underpriced |
| CDP shortfall risk | Conservative reserve for positions past liquidation but not yet cleared, priced across the full circuit-breaker window |
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.
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.
| Collateral | Collateral ratio | Type |
|---|---|---|
| USDT / USDC | 100% (1:1) | Stable onramp (PSM). Mint 1:1; redemption best-effort from slack |
| ETH | 140% | Volatile — CDP with liquidation |
| wBTC | 140% | Volatile — CDP with liquidation |
| ARB | 400% | Volatile + correlated with the Arbitrum stack; treated like RAIN |
| RAIN | 400% | 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:
Over-collateralization
Absorbs ordinary declines before bad debt can form.
Liquidation auctions
Keepers close under-collateralized positions for a penalty — profitable while a margin exists.
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.
RAIN backstop (controlled)
If the buffer is exhausted, the protocol sells treasury RAIN in a measured, capped manner — never an unlimited reflexive mint.
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.
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.
Why USDR is not Terra / LUNA
| Terra / UST failure mode | USDR defense |
|---|---|
| No cap on supply vs. backing | MaxLoss ≤ Reserve enforced in code |
| 100% endogenous collateral (LUNA) | Diversified basket: USDT/USDC, ETH, wBTC, ARB, RAIN |
| Collateral counted at full value | Hard Floor counts no volatile collateral toward the at-risk book |
| Protocol mints/sells its token to honor exits | Protocol never sells RAIN for redemption; CDP exit returns collateral |
| Unlimited reflexive mint | Liquidity-derived debt ceilings; no admin-mint |
| Yield from minting | No Savings Rate; rewards only from real vig |
| Opaque solvency | Public real-time Solvency Dashboard |
| Universal $1 redemption promise | Tiered 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.
| Parameter | Value |
|---|---|
| Collateral: USDT/USDC | 100% (PSM) |
| Collateral: ETH / wBTC | 140% |
| Collateral: ARB | 400% (correlated-with-RAIN) |
| Collateral: RAIN | 400% |
| Solvency rule (Hard Floor) | Stress-MaxLoss ≤ USDT/USDC reserve; volatile excluded |
| Stress assumptions | volatile −50%, breaker active, in-liquidation depth 35%, correlated crash |
| Settlement Escrow | dynamic, = Stress-MaxLoss(t); traders' winnings only |
| Vig (taker fee) | 5% |
| Buyback & burn | 2.5% of taker volume |
| Transfer fee / Savings Rate | None / None |
| Debt ceilings | Liquidity-derived, per collateral |
| RAIN / ARB oracle | Uniswap v3 TWAP (30–60 min) + circuit breaker |
| ETH / wBTC / USDC oracle | Chainlink |
Roadmap
Governance ratification
Ratify the White Paper via RAIN governance.
Implementation
USDR issuance, reserve-accounting, solvency-invariant, and liquidation modules.
Security audit
Independent audit prior to mainnet.
Solvency Dashboard
Launch the open, real-time Solvency Dashboard.
Progressive tuning
Tune risk parameters (ceilings, caps) via timelocked governance as live data accrues.