One pool backs every bet that operators run on chain.wtf. LPs earn a share of each bet's edge and carry the swings of wins and losses. A fixed formula sets that share and every max bet.
You set the market: how much is bet, by whom, and how much LP capital starts in the pool. The formula and its parameters are the same in every market.
200 simulated 24-month markets. A 12-month return is the change in the LP share price over any 12 months, after all fees, weighted by how much LP money was in the pool.
Every LP holds shares of the pool. The price moves with LP income and with the pool's wins and losses; deposits and withdrawals happen at the current price and never move it.
The drawdown brake starts to bite here: from 10% below the high it raises the LP share and cuts max bets hard.
High when the pool carries a lot of risk for its size; lower as the pool grows. The operator always keeps at least 65%.
LP capital plus everything the pool has earned. Grows with deposits when yield is high.
Max bets follow the pool: a bigger pool takes bigger bets, and they fall fast when the pool is below its high. Example game mix; log scale.
Every bet runs through the same six steps on-chain, in this order. Nothing in them is discretionary: the parameters are fixed and the code is below.
A game's edge is what it keeps on average: 1 − RTP. The pool takes the stake and pays the win, so it is the only party whose result depends on the outcome. The fees are paid on the expected edge the moment the bet is placed, win or lose.
Each bet adds its edge and its risk to running totals over the last day, the last 7 days and the last 30 days. Risk grows with the square of the stake: one $1,000 bet carries as much risk as a million $1 bets but only the edge of a thousand. That is why big bets on high-multiplier games cost LPs the most.
The pool charges for the risk it carries. The charge is set so that LPs are paid in proportion to the risk per dollar of edge, scaled to the size of the pool, and kept between 0.1% and 35% of the net edge.
The price of risk. Risk ÷ 2P is what a pool of size P gives up by carrying it (the Kelly rate); the pool charges 15 times that, a cautious setting.
Risk the pool carried per dollar of edge it earned, over 7 days, or over the last day if that is higher, so a sudden whale night is priced the same day.
A bigger pool spreads the same risk thinner, so the share falls as the pool grows.
Growth trend: risk per day this week against the last 30 days. Pays LPs more while bigger bets arrive. Off for the first 14 days.
Limit pressure: the share of risk from bets placed at 95% or more of their max. Pays LPs more when bettors push the limits.
The drawdown brake (step 4). Raises the share while the pool is below its high.
T and H only change what LPs are paid. They never cut max bets, so a busy day can't shut games down.
When the LP share price is below its high, D rises: gently in shallow dips, steeply in deep ones. It raises the LP share and shrinks the biggest single win and every risk budget by the same factor, so max bets fall about as fast as D rises.
D stops growing at 20% depth, so games stay open. Beyond 15% the brake's own high moves down 2 points a day, so after a large hit the pool can earn its way back instead of freezing; LP drawdowns are still measured against the true high. Bugs and exploits are not the brake's job: a per-game pause and a drain monitor handle those.
Every game gets its own max bet, recomputed on every bet. It is the smallest of the four limits below; under $0.01 the game pauses until the pool recovers.
No single bet can win more than 16.25% of the pool (less while the brake is on). M is the game's top multiplier.
A bet's risk charge must be covered by the most LPs could take from it (35% of its edge) plus the spare room under the ceiling.
No bet's risk charge may be more than twice its own edge. Bets beyond this cost more in LP share than they bring in.
After taking this bet, the pool's statistical reserve for all open bets (step 6) must still fit inside it. Otherwise the stake is cut to fit.
A bet stays open until its random draw settles, usually in less than a second. The pool does not set aside every possible payout of every open bet; that would freeze most of its capital for wins that almost never land together. It holds a statistical reserve instead: rare top wins are counted with their exact Poisson odds, everything else with a risk-of-ruin bound, so that all open bets together are covered with 99.99% certainty. LPs can't withdraw into that reserve.
| Parameter | Value | What it does |
|---|---|---|
| Risk price λ | 15 | How much LPs are paid per unit of risk. |
| LP share floor and ceiling | 0.1% · 35% | Bounds of the one LP share every bet pays. The operator keeps the rest. |
| Biggest single win | 16.25% of pool | Caps what one bet can win. |
| Drawdown brake | 10% scale · stops at 20% · fades beyond 15% by 2 pts a day | Raises the LP share and cuts max bets while the pool is below its high. |
| Break-even multiple | 2 | A bet's risk charge may be at most twice its own edge. |
| Windows | 1 · 7 · 30 days | Fast and main risk-to-edge windows, long window for the trend. |
| Trend cap | 1.5 · off for 14 days | Most the growth trend can raise the LP share. |
| At the max | 95% | A bet at 95% of its max or more counts toward limit pressure. |
| Minimum bet | $0.01 | A game pauses when its max bet falls below this. |
| Reserve | 99.99% (z 3.72) | Statistical cover for open bets; LP withdrawals stop at pool − reserve. |
The reference implementation of the formula, with a 10-day example you can run.
chain_lp_formula.py · LP share, max bets and reserve on every betREADME.txt · how to run it