Leverage in prediction markets is hard because sudden price movements can instantly wipe out all of a financier’s lent capital. Financiers must pass that risk back to traders by charging them a fair, upfront fee.
When a prediction market can instantly resolve to 0 with no liquidation window, the fair fee a financier should charge exactly offsets the levered upside. This means there is no benefit to the trader from a “leveraged position” vs an unleveraged one.
Estimating losses over a position's entire life is possible but small misspecifications can wildly over or underestimate the fair fee. To avoid this, prediction market platforms should only require the financier to price the losses over a short epoch, and charge the trader a rolling per-epoch fee, similar to perps funding.
Losses come from two sources, gradual price shifts and sudden jumps, with jumps doing most of the damage. Slow declines can cause small slippage but new information that causes instant resolution can lead to larger losses of capital.
Prediction market platform design will be crucial to reducing jump risk further. Building a prediction market platform with an auction to help capture jump arbitrage and rebate it back to financiers and market makers could boost liquidity and lower fees.
Leverage in prediction markets is deceptively hard. Take a market like “Will Trump Fire Powell by the end of the year?” At any point before resolution, Trump could fire Powell and the NO price could effectively jump from near $1 straight to $0. When that jump hits, there’s no time to liquidate a long NO; the price effectively jumps instantly to its final value. For a financier providing the capital for that leverage, that means an immediate and total loss. This jump risk is one of the reasons why mainstream prediction markets like Polymarket and Kalshi do not offer leverage. But before understanding how leverage could work in prediction markets, it helps to first outline how prediction markets and leverage function at a basic level.
Background on Prediction Markets
Binary prediction markets, like those on Polymarket, Kalshi, and others, let traders buy and sell contracts tied to whether a future event will happen. A YES contract pays $1 if the event occurs (and $0 otherwise); a NO contract pays $1 if the event does not. In frictionless, risk-neutral settings, the YES price approximates the market-implied probability that the event occurs.
When someone buys a YES share for $0.65, they simply pay that $0.65 to a seller, and will receive $1 if the event resolves in their favor. The system stays solvent because each full set minted (one YES and one NO share) is backed by $1 of collateral locked. On Polymarket, this is implemented through Gnosis’ Conditional Token Framework: a trader deposits $1 of collateral to mint one YES and one NO token. They can then sell either or both to other traders at any price. Anyone who later holds one YES and one NO for the same market can merge them back and withdraw $1, which helps keep the YES price + NO price ≈ $1.
A central limit order book (CLOB) matches buy and sell orders, where bids and asks meet. Some platforms, like Polymarket, match orders offchain for speed and settle onchain, while others are fully centralized, with offchain matching and settlement in their own clearing system (e.g., Kalshi). Emerging designs explore fully onchain order books (e.g., HIP-4 proposal). Liquidity depends on how quickly market makers can update their quotes as new information arrives.
In relatively continuous markets like equities, market makers post bids and asks, earning the spread in between. But when informed traders act on news before market makers can update quotes, they exploit stale quotes, a cost known as adverse selection. In prediction markets, this risk is amplified: resolution events or sudden news can swing prices drastically (e.g., from $0.95 to $0.05 in one move, a 94.7% immediate drop). Traders with slightly earlier information can hit outdated quotes and inflict large losses on market makers.
Traders use leverage to control larger positions with borrowed funds supplied by a financier, amplifying both gains and losses. In equities, brokers can lend cash to traders to go long and buy more stock. If the price drops too low, the broker can easily issue a margin call or (in rare cases) liquidate positions (forcefully sell the stocks to get cash) because prices move continuously and liquidity is deep. Prediction markets, by contrast, face thin liquidity and sudden price jumps (which are really two sides of the same coin) making leverage nearly impossible. Polymarket and Kalshi have aimed to encourage liquidity and tighten spreads viaincentives, but it remains uncertain how sustainable this is. There may be more sustainable ways to benefit market makers like implementing cancel-priority ordering (prioritizing cancel orders to be executed first) but that’s beyond the scope of this report. And even if implemented, it wouldn’t fix the core problem inhibiting leverage: When information hits, prices can move instantly, leaving no time or liquidity for liquidations, potentially exposing the financier’s funds to loss.
Therefore, since jump risk is more or less inherent to a prediction market, financiers who wish to offer leverage must explicitly price the risk of losses from jumps. We assume that a financier will provide leverage to a trader for an upfront fee on a long YES position. The long NO case follows analogously, though the relevant market parameters may differ.
Abstract on the Model
This piece aims to provide a theoretical framework and architecture for enabling leverage in binary prediction markets where prices can jump on news. If resolution is effectively instant (so there is no time to liquidate and the position's value jumps straight to $0), the fair fee a financier charges captures all the upside of a leveraged position. This means that there is no benefit to the trader of opening a leveraged position with a fair fee vs an unlevered position, as the returns on equity will be exactly the same.
In real markets, there could be time to liquidate before the opposing option resolves, so leverage could theoretically work (i.e., you can liquidate before NO resolution on long YES). In a risk-neutral, frictionless setting, the fair fee a financier should charge to the trader for opening a leveraged long YES position should equal leverage × the probability of liquidation before resolution to YES × the average loss if liquidation happens. However, in practice, finding the probability of liquidation before resolution to YES over the entire life of the position can be very difficult to do because we have to forecast a wide range of variable inputs (drift, volatility, jump risk) that change over time.
To make it easier to price leverage for financiers, we can break a position into defined periods of time, “epochs”. The position must pay an upfront fee to a financier in order to be rolled over to the next epoch. If epochs are short, the fee a financier should charge for that epoch becomes much easier to find.
The fee should equal leverage × the probability of liquidation in this epoch × the average loss if liquidation happens in the epoch. In the real world, the financier will also require a small capital charge for tying up funds. We split liquidation into the probability of liquidation from jumps (discontinuous shocks) and loss from jumps, as well as the probability of liquidation from creep (continuous moves) and loss from creep.
For analytical convenience, the later sections derive closed-form approximations for these epoch‑level quantities under a specific jump-diffusion model (with double-exponential jump tails). In practice, these formulas are model-dependent and sensitive to how jump and drift risk is calibrated, so they are best viewed as a theoretical baseline and a way to structure empirical calibration or stress tests.
Finally, we discuss ways for the financier to reduce the effective fair fee: financiers should react faster (shrink their reaction window) to reduce creep losses and manage their exposure by limiting leverage / increasing their buffer. However, jump losses are inherent to a market. It might be possible to partially offset those losses via prediction market design by capturing a portion of the arbitrage from sudden news shocks and rebating proceeds to affected market makers and financiers.
Most Basic Model: Fair Die, Instant Resolution
The simplest prediction market to start at is: “Will a fair 6-sided die show 6?” Because nothing is revealed until the roll, the market jumps instantly to either $0 or $1 at resolution. There is no possibility of the price creeping up or down, so there is no liquidation window. If NO occurs, the position is effectively marked straight to $0, which keeps the math clean. If the roll happens immediately, the horizon is so short that we can ignore any kind of discounting or risk-free rate.
Probabilities and Prices
Probability of YES: p0=61≈0.1667.
Probability of NO:1−p0=65≈0.8333 .
These are also the fair prices: YES costs p0, NO costs 1−p0.
Leverage Setup (3x long YES)
Units: prices and slippage are per YES share; fees are per 1 base share (the base shares come from the capital the trader supplies, i.e., if you have 6 shares at 3x leverage, there are 2 base shares).
The trader posts p0 cash to buy 1 YES (the base share).
With Leverage L=3, the position holds L=3 YES shares; the financier supplies (L−1)=2 extra YES shares worth of capital, i.e. p0(L−1).
Outcomes at instant resolution.
If YES: each YES share instantly jumps from $0.1667 to $1. The 3 shares are worth $3. The trader gets everything except what the financier contributed, their principal on the financed share; so financier PnL = 0.
If NO: each YES share instantly jumps from $0.1667 to $0. The 3 shares are worth $0. There is no time to liquidate, so the financed share goes to $0. financier PnL = −p0(L−1).
To account for their risk in a risk-neutral, frictionless setting, the financier should charge the trader an upfront fee (F). To calculate the fair breakeven fee, we set expected value (EV) = 0. The fee should equal the probability of resolving to YES times the expected loss (which is $0 in this case), plus probability of resolving to NO times the expected loss (which is −p0(L−1) in this case):
This F is therefore the financier’s expected loss per base share when liquidation isn’t possible.
Die Example Numbers
With p0=$0.1667, 1−p0=$0.8333, L=3:
F=$0.1667×$0.8333×(3−1)≈$0.278 fee per base share
If the trader bought $100 at a p0 of $0.1667, they would have 600 base YES shares ($100 / $0.1667). If they used 3x leverage (L=3), the financier would supply an additional 1,200 YES shares (worth $200) bringing their total YES shares to 1,800 YES shares ($300).
Since F has units of $/base share, we need to multiply it by the total number of base YES shares to get the total fee the trader will pay:
$0.278×600=$166.67 total fee
Implications on Effective Leverage
Without leverage the trader will have a total cost of:
p0
If the market resolves to YES, they will have a total return on equity of:
p01−p0
With leverage the trader will have a total cost of:
p0+F
If the market resolves to YES, they will have a total return on equity of:
p0+FL−(L−1)p0−(p0+F)=p0+FL(1−p0)−F
If we plug in the formula for F=p0(1−p0)(L−1), into the the leveraged return:
This result is the same exact return as the unleveraged return, so in expectation under fair pricing the leveraged and unlevered returns on equity are identical. In other words, enabling a leverage multiple for a trader is effectively impossible for prediction markets of instantaneous resolution.
The good news, however, is that very few markets actually function like the hypothetical die example. Prices move before resolution on rumors and news, and a levered long can be liquidated at a lower price before the market ever reaches 0, which enables leverage to be possible again.
This die example just mainly serves as a sanity check on what a “fair” maximum fee looks like. Any fee above F=p0(1−p0)(L−1) makes holding a leveraged position strictly worse (in expected return on equity) than just staying unlevered, so a reasonable trader would never accept a higher fee. It also shows that if you price leverage using only the known probabilities and max loss (everything jumps straight to 0 with no liquidation window), you always end up with effectively 1× leverage. As described below, a financier has to incorporate microstructure and path information to generate meaningful leverage for traders.
Real Market: Liquidation as a Price Barrier
To find the fair fee for a long YES, we can split the problem into two parts: (i) the probability a levered position is liquidated before the market resolves to YES, and (ii) the average loss if liquidation occurs.
Multiplying by L (YES shares per base share), the leverage factor, converts amounts quoted in $/YES share quantities into $/base share quantities.
Let pt be the YES price at time t and p0 be the entry price. Both are in units $/YES share.
Let ℓZE ($/YES share) be the price at which the trader has zero-equity and selling all L shares exactly repays the financed principal. Any price below ℓZE implies a financier loss. LℓZE ($/base share) also represents all the capital the financier contributes per base share, so LℓZE=(L−1)p0.
Let ℓ ($/YES share) be the price (operational liquidation barrier) for a position where ℓ=ℓZE+b, where b≥0 (in $/YES share) is a financier-chosen buffer fixed at origination. When the price drops and first touches (hits) ℓ, the engine liquidates the entire position at a volume-weighted average execution price pτℓ.
First-hit times(for the liquidation trigger & YES boundary):
τℓ=inf{t≥0:pt≤ℓ}; the earliest (first) time the price falls to/below the liquidation level.
τ1=inf{t≥0:pt=1}; the earliest (first) time the price hits 1 and YES resolves.
If the platform liquidates at the barrier ℓ, and pτℓ≥ℓZE, then the financier takes no loss. However, with slippage, fills can be below ℓ, and may also fall below ℓZE on fast moves, leaving the financier with a loss.
Outcomes:
If τ1<τℓ: we reach YES before liquidation → financier is repaid → financier PnL = 0.
If τℓ<τ1: we liquidate first. The engine sells all L shares and uses proceeds to repay the financier’s total principal (L−1)p0.
Financier Loss at Liquidation ($ per base share).
The proceeds from the forced sale equal the total shares × the average execution price: Lpτℓ.
From earlier, the financier contributes and is owed: (L−1)p0.
If Lpτℓ>(L−1)p0, the sale proceeds exceed what’s owed, the excess is returned to the trader. This means the financier’s loss is floored at 0 and so we bound the loss with this positive part, [x]+≡max(x,0). Then the loss equals the difference between Lpτℓ and (L−1)p0, with a floor at 0:
Loss=[(L−1)p0−Lpτℓ]+
Since LℓZE=(L−1)p0,
Loss=[LℓZE−Lpτℓ]+=L(ℓZE−pτℓ)+
Quick Sanity Checks:
No/ minimal slippage pτℓ≥ℓZE⇒Loss=0 because of positive part
Worst Case pτℓ=0⇒Loss=LℓZE=(L−1)p0.
Defining s and g ($ per YES share).
Define slippage relative to the economic trigger, on a $/YES share basis instead of a $/base share. s is the shortfall below the economic trigger at liquidation, per YES share:
s≡(ℓZE−pτℓ)+
Define g as the expectation (i.e., the average) of the financier’s slippage per liquidation event ($/YES share), conditional on liquidating before resolution:
g≡E[s∣τℓ<τ1]
g is the average shortfall when liquidation happens before resolution.
Fair Breakeven fee, $ per base share.
The fair breakeven fee F ($/base share) should equal the leverage multiple × the probability that liquidation happens before resolution × the average loss size in those liquidation cases:
F=L⋅P(τℓ<τ1)⋅g
This new fee formula is a good baseline but could be developed more. Expanding the terms,P(τℓ<τ1) and g, over the entire life of the position gets very complex and requires a financier to forecast the entire path of future inputs that can all shift dramatically as an event approaches or the market gets closer to resolution. In principle, it is possible (see our Appendix, Fair fee over the entire life of the position) but small misspecifications could lead to a wildly over or underestimated fair fee.
As an example, think of an election market, the risk of jumps could remain relatively low until the week of the election when new information can increase jump risk and volatility. Opening a position two months before an election would require a financier to forecast many different far-off future parameters when the market becomes volatile two months from now.
To avoid forecasting the entire path, we can instead price the risk in short, fixed epochs (e.g., like every 8 hours), similar to the rolling funding rates in perps. This way a financier only needs to estimate the next-epoch liquidation probabilities and their typical loss sizes. Pricing the fee over short epochs (as opposed to the entire life) has multiple benefits for the financier and trader:
For financiers, pricing per epoch:
Limits misspecification risk as you can reprice each epoch, as opposed to pricing risk over the entire life and getting locked into a long-dated upfront fee.
Enables approximate closed-forms to be possible for the fair fee (given some assumptions; i.e., they break down if epochs are long or the price is very close to the liquidation barrier).
These benefits should, in theory, lower the barrier to entry for financiers and more competition should yield fairer fees for traders.
For traders, pricing per epoch can also be cheaper if you hold the position over short periods of time or close the position early. This is because with per-epoch pricing, you are not prepaying for far-out future risk.
Epoch-Based Fair Fee
Epoch Engine Design
Instead of requiring a financier to estimate losses over the entire life of a position, we price risk over a defined epoch of length ψ (epochs can be fixed or shrink near key events depending on the market; i.e. for an election, epochs could start at 1 week and then shorten to a few hours on election day).
Distance to liquidation.
The engine computes a position’s distance to liquidation a≡pt−ℓ (current YES price minus the operational barrier ℓ) in $/YES share. We bucket a into Far, Mid, Near, etc.
As an example, Near: a<$0.02; Mid: $0.02≤a<$0.05; Far: a≥$0.05. Of note, this is just an example, there could be more or less buckets with different ranges.
Bucketed quotes on one shared order book.
Financiers post public quotes that are dependent on the distance to liquidation:
Max notional size funded per position: Mmax (total YES shares in the position, M=L× number of base shares)
Max leverage funded: Lmax
Min buffer required: bmin
Fees per epoch ($/base share): FψFar,FψMid,FψNear
Shorter distances with small a (Near buckets) naturally carry higher Fψ
On the other side, when a trader wants leverage on a long YES position, they submit:
Requested notional size
Desired leverage L
Chosen buffer b (or accept a platform default)
Max acceptable per-epoch fee Fmax per base share (or accept a platform default)
Matching the trader to the best financier fee offer.
Given the current YES price pt and the trader’s (L,b), the engine:
1. Computes the zero-equity trigger:
LℓZE=(L−1)p0
2. Sets the operational liquidation barrier:
ℓ=ℓZE+b
3. Computes the distance to liquidation:
a=pt−ℓ>0
4. Assigns the position to a distance bucket (Far, Mid, Near, etc) based on a.
It then matches the trader to financiers as follows:
b≥bmin (trader is offering at least this buffer)
Bucket fee Fψbucket≤Fmax
Rank by fee within that bucket and select the lowest-fee eligible quote. If multiple financiers quote the same best fee, the engine can break ties by time priority or pro-rata allocation.
Execute the trade:
The trader’s margin is used to purchase the base shares and the agreed per-epoch fee is given to the financier.
The financier supplies the additional capital to purchase the other shares to reach leverage L.
Rolling into the next epoch.
At the end of each epoch, existing leveraged positions can be automatically rolled into the next epoch using the same logic: recompute a at the new pt, re-bucket the position, filter eligible financier quotes, and match to the best available fee.
The trader’s cash balance gets deducted to pay the next epoch fee. In the event the trader has no cash balance to pay the fee, a portion or the entire position may be liquidated to pay the fee or the position may simply not roll over.
If there are no available quotes (e.g., volatility and jump risk are estimated to be high in this epoch and the trader’s position is close to liquidation), then the entire position may be liquidated at the current price.
Although the epoch length ψ is the same for all orders, positions do not all roll over simultaneously. Each position rolls over on its own schedule, based on when it was opened.
Fees should not be refunded if the position stays open, closes, or liquidates mid-epoch. They compensate the financier for the expected loss over that epoch.
Who bears losses.
If the position is not liquidated in time or a large adverse jump happens that causes a shortfall in the financier’s capital, they bear those losses inside that epoch; it is not socialized.
Pricing the Epoch-Based Fee
The fair breakeven fee per base share is the leverage multiple × the probability of liquidation within the epoch ψ× the average loss if that liquidation happens.
Fψ(pt;L,b,a)=L[P(liquidate in [t,t+ψ)∣pt,a)⋅gψ(pt;b,w)]
where gψ(pt;b,w) is the expected shortfall per YES share conditional on liquidation in [t,t+ψ):
gψ(pt;b,w)≡E[s∣liquidate in [t,t+ψ)]
We can break this into two parts. Let’s intuitively think of three “time zones” if liquidation occurs:
No-info start. We begin at the current price pt
Pre-jump drift. Price may creep from pt down to some ppre-jump as traders reposition on rumors/speculation.
Post-jump move. A news shock may arrive, instantly moving price from ppre-jump to ppost-jump.
If ppre-jump≤ℓ, the price path already crossed the engine barrier before the jump ⇒ liquidation is creep-caused.
If ppre-jump>ℓ, the price path never touched the barrier before the news ⇒ liquidation is jump-caused.
So, inside one epoch, any liquidation is caused either by a fatal jump or by creep (a continuous move that hits ℓ).
From this mix, write the fee as jump part + creep part:
Jψ(pt;a)=P(jump-caused liquidation in [t,t+ψ)∣pt,a).
Cψ(pt;a)=P(creep-caused liquidation in [t,t+ψ)∣pt,a).
gjumpcapped and gcreep are the corresponding expected shortfall losses (in $/YES share) conditional on that cause within the epoch. Multiplying by L converts per-YES losses to per-base-share fees.
By construction, Jψ and Cψ are exclusive one-epoch probabilities (jump-caused vs creep-caused), so over a short epoch:
P(liquidate in [t,t+ψ))≈Jψ(pt;a)+Cψ(pt;a)
Applying the formula to the real world
The above formula only finds the breakeven point to cover the expected losses to the financier. In the risk-averse real world, a financier would also demand a return on the capital they supply, consisting of a risk-free rate and their specific risk premium. We can modify the formula to account for this.
Where the capital charge should be the financier’s provided capital × the risk-free rate and risk premium of the financier × the epoch time. This gives us the per-epoch fee we'd apply in practice.
Fψ(pt;L,b,a)=expected loss inside the epochL[Jψ(pt;a)gjumpcapped(b)+Cψ(pt;a)gcreep(b;μeff,σeff,w)]+epoch capital charge(L−1)p0(rf+ρ)ψ
Of note, the capital charge is linearized for small ψ, but you could use (L−1)p0(e(rf+ρ)ψ−1) if you want the exact compounding. However it’s negligible for short epochs.
The next step is to compute these parameters. Within each epoch [t,t+ψ) we can treat κ↑,κ↓,η±,μeff,σeff and a as frozen constants and calibrated at the epoch start. Now let’s compute the jump components of the above equation.
Jump Component
What counts as “jump-caused” liquidation?
Inside a single epoch [t,t+ψ), a fatal down-jump is any sudden move that crosses the operational liquidation barrier ℓ before the price path would have hit it by slow drift. Let’s recall the distance to liquidation at match time as:
a≡pt−ℓ,a>0
Let R denote the downward jump size in price space (units: $/YES share). A jump is fatal if R≥a. Non-resolving, interior jumps with R<a just move the price around inside (ℓ,1). We will fold those into the background effective drift/volatility for creep. Only fatal jumps are counted in the jump slice below.
Probability of a fatal jump in the next epoch
Within one epoch [t,t+ψ), let’s assume:
Independence: Arrivals and magnitudes are independent, and independent of the Brownian motion driving the diffusion.
Arrivals: Down-jumps arrive as a Poisson process with rate κ↓. The waiting times between jumps are exponential.
Magnitudes (size): The down-jump magnitude R≡−Z↓>0 has an exponential tail (the negative side of a Laplace/double-exponential jump size).
P(R≥x)=e−η−x,x≥0
so the overshoot is memoryless (meaning the past doesn’t change the odds of what happens next):
R−a∣R≥a∼Exp(η−)
This is the negative tail of a Laplace (double-exponential) jump size law, commonly used in Kou jump-diffusion models for option pricing. We adopt it for analytical tractability and clean epoch-based fair fee formulas.
Practical caveat.
In application, the double-exponential distribution is a convenient baseline but it may not be the best fit for all market types. For some markets, the tail may be much fatter (possibly closer to log-normal or power-law). For “happen-before-deadline” markets like “Will a M6+ earthquake occur in California by the end of 2025?”, it may be better to just empirically find κfatal(p,t) and assume fatal jumps result in the full loss of capital, gjumpcapped≈ℓZE, rather than fit a full jump size tail.
Additionally, how one would use the model is highly dependent on the data available. Small misspecifications of η− (if η− is large, big jumps are rare and the tail decays fast; if η− is small, big jumps are common and the tail decays slowly) can change the one-epoch jump loss significantly. For sports markets with large amounts of historical data present, this may be less of a problem, but for niche markets, it may be better to treat η− as a scenario parameter (e.g., “if the tail is this thin vs this fat, here is the fee range”).
The model presented here is purely a theoretical proof-of-concept framework.
Marginal Jump Probability.
Hold κ↓,η−, and the distance to the barrier a=pt−ℓ constant within the epoch. A jump is fatal if R≥a. The resulting fatal-jump intensity is:
κfatal(a)=κ↓P(R≥a)=κ↓e−η−a
For a Poisson process with constant rate (κfatal(a)), the count in a window of length ψ is Poisson(κfatal(a)ψ). Hence, the marginal probability of at least one fatal jump in [t,t+ψ) is
Jψmarg(a)≡P(fatal jump in [t,t+ψ))=1−P{0 events}=1−e−κfatal(a)ψ
Exclusive Jump Probability.
Jψmarg(a) gives us the probability that the position will get liquidated in the epoch at some point in time. However, it ignores whether creep may have liquidated earlier in the epoch. To avoid double-counting paths where both creep and a fatal jump occur within the same epoch, we should use exclusive probabilities only inside fee formulas. Define the marginal quantities:
Jψmarg(a)=1−e−κfatal(a)ψ. We will find Cψmarg(pt;a) later.
We can create a simple approximation to treat creep and jumps as approximately independent over a short epoch and define:
Jψ(pt;a)=Jψmarg(a)(1−Cψmarg(pt;a))
This allocates probability mass to fatal jumps only on paths where a fatal jump occurs and creep does not also hit in the same epoch. For short epochs this is likely good enough but we can derive more exact definitions for both Jψ and Cψ.
Race between creep, YES jumps, and fatal down-jumps.
Over one epoch [t,t+ψ), let:
Creep clock: Let τc be the first time the price path hits the liquidation barrier ℓ continuously (i.e., without a jump). Write
Cψmarg(pt;a)≡P(τc≤ψ)
for the marginal probability that creep alone (no fatal jump, no YES jump) hits the barrier within the next epoch of length ψ. We will model and compute Cψmarg later in the Creep section.
Fatal Jump clock: down-jumps that cross the liquidation barrier
κfatal(a)
YES Jump clock: up-jumps that resolve directly to 1
κYES(pt)
Total boundary crossing jumps:
κtot(pt;a)=κfatal(a)+κYES(pt), where
κfatal(a)=κ↓e−η−a, and
κYES(pt)=κ↑e−η+A↑.
Now, split all paths over [0,ψ] into:
1. Nothing happens by ψ: no barriers hit by jump or creep:
Over the next short time window (“epoch” ψ), we estimate how likely a sudden bad-news down-jump in price will be that is big enough to cross the liquidation line. We assume that such down-jumps arrive randomly and there are many small jumps and fewer large ones, with the chance of very large jumps decaying exponentially. We also adjust it so we don’t double count cases where a slow drift would have liquidated first before a down-jump arrives. The closer the price is to the liquidation line (small a), the larger the share of jumps that are big enough to be fatal, and the higher the epoch jump probability.
Expected loss size if a fatal jump happens (per YES share)
Let b≥0 be the buffer so that ℓ=ℓZE+b. On a fatal jump R≥a, let’s define the overshoot beyond the barrier as:
X≡R−a
By the exponential tail / memoryless overshoot,
X∼Exp(η−)
Conditional on a fatal jump, the post-jump price is the operational liquidation barrier minus an exponential overshoot ppost=ℓ−X. If we ignore the price floor at 0, the financier’s per YES share shortfall relative to the zero-equity line is:
(ℓZE−ppost)+=(ℓZE−(ℓ−X))+=(X−b)+
So the (uncapped) expected jump shortfall is:
gjump≡E[(X−b)+]=∫b∞(x−b)η−e−η−xdx=η−e−η−b
Because the price is bounded below by 0, the realized shortfall per YES share cannot exceed the financier’s total capital contribution, ℓZE. We can enforce this cap via the capped expectation:
If a sudden down-jump pushes the price past your liquidation line, the loss comes from how far it overshoots that line before you can sell. We assume these overshoots follow a simple “memoryless” pattern, which implies that adding more buffer b cuts the average loss exponentially. Because the price can’t go below zero, any loss is capped at the financier’s contributed amount per YES share (the zero-equity level).
Creep Component
What counts as “creep-caused” liquidation?
Creep causes liquidation when price drifts/wiggles to the operational barrier ℓ=ℓZE+b without a fatal jump. Recall the distance to liquidation at match time as:
a≡pt−ℓ,a>0
Probability of a creep liquidation in the next epoch
Over a single epoch we can approximate the distance to liquidation Du as an Arithmetic Brownian Motion (ABM).
It should be noted that ABM is unbounded, meaning that the price can move anywhere in between (−∞,∞), whereas bounded models like Wright-Fisher keep the price in (0,1). But over a short window and for the first time the price hits the liquidation line ℓ, that difference is negligible, and ABM yields clean, closed-form first-hit formulas for probability and loss of creep. If a is tiny or the epoch is long, a bounded-diffusion model would likely be safer.
We use u as the epoch’s local clock (the epoch starts at some time t) to avoid clashing with the global t in pt and κ↓. Within one epoch [t,t+ψ), approximate the distance to liquidation Du by an ABM with constant μeff and σeff>0:
Du=a+μeffu+σeffWu,u∈[0,ψ],W0=0
We can use the reflection principle to find the creep probability. Let’s consider two disjoint sets of price paths over the interval [0,ψ]:
1. Paths that end below the operational liquidation barrier by time ψ (Dψ≤0). These paths have crossed the barrier so count them directly as such:
2. Paths that finish above the operational liquidation barrier but dipped below it at some point before. By the reflection principle, each such path has a “mirror” path that ends well below the barrier. Because there’s drift, this mirroring changes the probability by a factor of exp(−2μeffa/σeff2). The contribution from these paths is:
This expression serves as an approximation to the true bounded price process. If a is tiny or ψ long, it would be better to use a bounded diffusion (e.g., Wright-Fisher) or a Monte Carlo simulation.
Exclusive Creep Probability.
Recall, over one epoch [t,t+ψ), let:
Creep clock: creep first-hit time τc=inf{u≥0:Du≤0} for the ABM distance:
Du=a+μeffu+σeffWu,u∈[0,ψ],W0=0
Fatal Jump clock: down-jumps that cross the liquidation barrier
κfatal(a)
YES Jump clock: up-jumps that resolve directly to 1
κYES(pt)
Total boundary crossing jumps:
κtot(pt;a)=κfatal(a)+κYES(pt)
Here Cumarg(pt;a)=P(τc≤u) under the no-jump ABM, so ∂uCumarg is the density of τc. For creep to win, you need:
Creep hits in [u,u+du] over the density (∂uCumarg) of the no-jump creep-hitting probability by time u.
No jump of any type before u, which means we need to factor out e−κtot(pt;a)u.
Now let’s consider an alternative “tilted” model under a new probability measure Q in which Du has drift μ′ instead of μeff, but the same volatility σeff. Using a standard Girsanov change-of-measure argument, we can show that at the hitting time τc:
e−κtot(pt;a)τc=exp(σeff2a(μ′−μeff))Λτc
where Λτc is the Radon–Nikodym factor (the density dQ/dP) evaluated at τc. Plugging into this expectation and switching from P to Q gives
Even without big news, the price can slowly drift down and touch the liquidation line during the short epoch. We approximate that short-window drift with a simple random-walk model to get a closed-form probability of being liquidated by “creep.” This is most reliable for short epochs and when the distance to the liquidation line a is not tiny. Closer to the line (small a), more negative drift μeff, or higher volatility σeff all raise the one-epoch creep risk.
Expected loss size if creep causes liquidation (per YES share)
Let’s assume continuous monitoring, meaning the liquidation engine is watching the price path at all times. When the price first hits the operational liquidation barrier ℓ, the engine triggers immediately but actual execution happens after a small reaction window w (latency between trigger and execution).
Over that window, the price change is modeled as a normal distribution with drift and volatility over the reaction window time:
In practice, the normal tail beyond ℓZE is negligible but if desired, you can also add the cap like in the jump section.
Larger buffer b and faster systems (smaller w) reduce overshoot; higher σeff or more negative μeff increase it. Note gcreep depends on the reaction window w, not on epoch length ψ.
Folding interior jumps into μeff and σeff
From the jump section, we assume Poisson jump arrivals with rates κ↑,κ↓ calibrated at epoch start (i.e., frozen values of κ↑(pt,t),κ↓(pt,t)), and double-exponential (Laplace) tails for jump magnitudes in price space:
Up jumps:Z↑>0, with P(Z↑≥x)=e−η+x, x≥0
Down jumps:Z↓<0. Let R≡−Z↓>0 with P(R≥x)=e−η−x, x≥0
We can treat those jumps that do not cross a boundary during the epoch as interior (non-resolving):
A↑=1−pt,A↓=a=pt−ℓ,a>0
So interior up‑jumps satisfy 0<Z↑<A↑ (they stay below 1), and interior down‑jumps satisfy ℓ−pt<Z↓<0 (they stay above ℓ).
Within a given epoch we treat inputs as constant to get the interior arrival rates:
κ↑nr=κ↑(1−e−η+A↑),κ↓nr=κ↓(1−e−η−A↓)
For reference, the fatal down-jump hazard used in the jump slice is κfatal=κ↓e−η−a; it is not counted here.
We can fold interior jumps into the effective drift by adding the rate × the average jump size, and into the effective variance by adding the rate × the average squared jump size. Within a given epoch [t,t+ψ) we treat the inputs as constant and suppress the explicit time-argument, so μeff(pt) and σeff2(pt) are written as depending only on the current price pt:
These formulas simply say once you pick a baseline drift/volatility (μbase,σbase) and a jump law (κ↑,κ↓,η+,η−), you can compute μeff and σeff as an approximation that treats the interior (non‑resolving) jumps as diffusive noise over the epoch.
Choosing a Drift and Volatility
In the epoch fee, what we actually need are the effective drift and volatility μeff(pt) and σeff(pt) over a short horizon ψ. In practice, a financier would most likely estimate these from data (resolved markets) or stress scenarios. In this section, we give a risk-neutral “anchor” for μeff under a specified jump structure, and then list a few simple parametric forms for μbase and σbase that can be calibrated empirically for short epochs.
Martingale Approach to Drift
In frictionless, risk-neutral settings, the YES price pt equals the market-implied probability of the event so the price process should be a martingale under the risk-neutral measure. In other words, the current price should equal the expectation of all possible future price paths given all the information you have up to time t.
pt=E[pT∣Ft]
Up until now, we’ve treated diffusion and jumps separately. To see how the total drift is affected by the jump structure, model the full local dynamics as:
μbase,σbase: the “pure” diffusion drift/volatility
Jtnr: compound Poisson of non-resolving jumps (up/down but staying inside (0,1)).
NtYES is a Poisson process with intensity κYES(pt,t): a jump to 1 (YES resolves) with jump size from Δp=1−p.
NtNO is a Poisson process with intensity κNO(pt,t): a jump to 0 (NO resolves) with jump size Δp=−p.
Staying consistent with the Laplace tails above, we get:
κYES(p,t)=κ↑(p,t)P(Z↑≥1−p)=κ↑(p,t)e−η+(1−p)
κNO(p,t)=κ↓(p,t)P(R≥p)=κ↓(p,t)e−η−p
Here κYES and κNO are resolution hazards to 1 and 0, respectively; κfatal in the fee section is instead the hazard for crossing the liquidation barrier ℓ. They are related but play different roles.
Folding in interior jumps as in the above section, we can rewrite it as:
All this means is that the continuous drift must exactly cancel the average effect of interior jumps and the compensator of the resolution hazards, so that the overall process is a martingale under the risk-neutral measure.
In practice, you may or may not want to enforce this strictly for a couple reasons. κYES and κNO could be difficult to estimate or there may be risk premia (risk-averse) or structural biases that can break the martingale condition. The expression above is best viewed as a theoretical anchor: it tells you what μeff would have to be in an idealized risk-neutral world for a given jump structure.
Other Approaches to Drift
For short epochs, financiers could be more comfortable with empirically calibrating drift based on resolved markets. A convenient way to do this is to choose a simple parametric form for μbase(pt), fit its parameters on historical data for a given market type, and then obtain μeff by adding interior jumps. Below are four interpretable choices for μbase. In each case, treat drift as constant within the epoch ψ (and recalibrate each rollover).
1. Driftless
μbase(pt)=0
This model fits best with contentious elections / awards with no systematic drift.
There is a special case when the effective drift is zero: if μeff=0, the creep probability Cψ depends only on distance a and volatility σeff, so:
Cψmarg(pt;a)=2Φ(−σeffψa)
2. Selection drift
μbase(pt)=αpt(1−pt)
α has units 1/time and represents the strength of the push to YES (α>0 pushes p upward toward 1) or NO(α<0 pushes p downward toward 0).
This model fits best when there’s a steady push toward YES like “Will this product launch happen?”
3. Time-decay
μbase(pt)=−β(1−pt)
β has units 1/time and represents the strength of the push to 0. If the YES event arrives with constant hazard β>0 before a fixed deadline T
pt=1−e−βH⇒β=−H1ln(1−pt)
Within a single epoch [t,t+ψ), treat β(t) as constant and set
μbase(pt;β(t))=−β(t)(1−pt)
The NO case is the opposite where NO drifts up to 1 as YES decays to 0.
This model fits best with “happen-before-deadline” markets like “Will a M6+ earthquake occur in California by the end of 2025?” or “Will Trump fire Powell by the end of 2025?".
4. Mean-reversion
μbase(pt)=−θ(pt−pˉ),θ>0
θ has units 1/time and represents the strength of the push to the fundamental price pˉ∈[0,1]. If pt>pˉ and you’re long YES, drift is downward (larger creep risk); if pt<pˉ, drift is upward (lower creep risk).
This model fits best when beliefs are somewhat anchored and mean-revert toward pˉ, a contentious election like “Will Trump win the 2024 election?" months before the poll may mean revert to $0.5.
Many markets can be modeled as a mix (e.g., using both selection and time-decay).
Gaussian Scoring Approach to Volatility
For volatility, one approach that could work well for sport or election markets is a Gaussian Scoring model. Under this approach, we assume the continuous drift of the price is 0 (i.e. μbase=0) and obtain a volatility of:
We can then fold in interior jumps to σeff2(pt), or if you use a different jump law, treat all discontinuous moves explicitly in the jump part (not in σeff) and use:
σeff2(pt)=σGS2(pt,T,t)
Wright-Fisher Approach to Volatility
For markets where you want a simpler, bounded diffusion independent of T−t, the Wright-Fisher baseline σbase2(pt)=σwf2pt(1−pt) could also work. In practice, σwf would be empirically calibrated from resolved markets.
Final Fee Formula Per Epoch
Combining everything together under the jump–diffusion assumptions above, the expanded formula (see Desmos here) becomes:
Fψ(pt;L,b,a)=expected loss inside the epochL[Jψ(pt;a)gjumpcapped(b)+Cψ(pt;a)gcreep(b;μeff,σeff,w)]+epoch capital charge(L−1)p0(rf+ρ)ψ
The per-epoch fee has two parts: (1) expected loss this epoch and (2) a small charge for tying up capital. The expected-loss piece is the leverage L times a weighted mix of two risks: the chance a fatal jump hits in the next epoch ψ multiplied by its typical jump shortfall, plus the chance a slow “creep” hit occurs multiplied by its latency shortfall. Those chances rise as you get closer to liquidation (smaller distance a=pt−ℓ), with market conditions (drift μeff, volatility σeff) and jumps (κ↓,η−) pushing them up or down. The jump shortfall shrinks with a larger buffer b=ℓ−ℓZE (and is capped at price 0), while the creep shortfall mainly comes from the engine’s reaction window w and also falls with bigger b or faster execution. The capital charge (L−1)p0(rf+ρ)ψ compensates the financier for lending the extra shares over the epoch. Since fees are pre-paid at the epoch start, intra-epoch discounting is negligible for small ψ.
Can Risk be Mitigated?
The short answer is partially. Given the fee formula:
Increase the engine buffer: b=ℓ−ℓZE → lowers both jump and creep loss sizes
gjumpcapped(b)=η−e−η−b(1−e−η−ℓZE)
gcreep(⋅) also falls as b↑.
Manage leverage: Since LℓZE=(L−1)p0, smaller L linearly reduces the total capital at risk.
Detect adverse volatility → re-quote or add buffer σeff spikes, Cψ and gcreep rise; raise quotes, increase b, cap L, or shorten ψ.
However, the irreducible loss from true jump events remains. That’s where platform design can help.
Prediction market platform design can raise the effective fill prices during jump-caused liquidations. This could be done via a rebate: The platform could use token emissions or a treasury to decrease the loss. However this is unsustainable long-term.
A more interesting mechanism would be designing an auction that captures the arbitrage that occurs when new external information comes and redistributes that value to the affected parties, market makers and financiers.
Auction Design for Jump Rebate
Simply just changing the transaction ordering method creates a game of hot potato with the least prioritized transaction holding the bag (the loss).
If one changes transaction ordering to prioritize financiers get their liquidations included first in the block, then this negatively impacts market makers who will take on all their losses.
If market makers are prioritized via cancel-priority ordering (i.e. cancels are prioritized at the top of the block, market makers get priority to cancel their stale quotes before arbitrageurs or financiers can liquidate positions into them), then financiers will have no liquidity to close their positions into.
An auction could capture value that otherwise would be lost to arbitrageurs, and serve as a good middle ground between the two. If the prediction market platform is designed as an app-specific rollup or uses some form of Application-Controlled Execution, it can temporarily delay normal transactions by a tiny window. If this window is around the same as the block time, this means transactions will have to wait until the next block to be included.
During this window delay, the platform runs a sealed-bid auction. Each bidder should also include their pre-committed, taker-only bundle transaction. The auction winner’s bundle is then executed at the top of the next block, after which normal transactions resume, and the next auction to sell the top of block K+1 while producing block K starts.
This design ensures that the winning bidder captures the arbitrage opportunity that arises when new external information causes a price jump. Because multiple bidders will likely compete for this value, bids should approach the total value to be extracted, allowing the platform to capture this value. That captured value can then be redistributed back to market makers and financiers.
Why this Lowers Fees
Once the platform receives the auction proceeds, it could take a cut and then rebate the remainder to users affected by the jump. Besides financiers, market makers are also affected, so the platform will need to decide how to split earnings.
Let Ω≥0 be the auction pot routed to financiers for this event.
Let MiYES be the total YES shares in position i (i.e., Li× number of base shares).
Define the jump loss per YES share for position i as
si=(ℓZE,i−pτℓ)+
Therefore the total dollar loss across all positions is the sum of all position’s losses:
j∑MjYESsj
Define the percent of losses that will be recovered by the auction proceeds:
γ=min(1,∑jMjYESsjΩ)
Then per each position i, the rebate per share should be the percentage recovered times the dollar losses per YES share:
λi=γsi
Each position's post-rebate loss per YES share is:
Overall, implementing an auction with rebates to market makers and financiers can be a great way to boost liquidity and lower leverage financing fees to traders. An auction also serves as a good middle ground between market makers and financiers.
Closing Thoughts
Leverage in prediction markets is tricky but far from doomed. In the instant-resolution case (no time to liquidate), a fair fee cancels the upside, so leverage nets out to 1x. But once there’s any chance to liquidate before resolution, leverage can become possible. However, it’s very difficult to forecast all parameters across the entire price path. To make it easier, we can introduce epochs, where a financier only has to price the risk of losses in that small period. Done well, gaps can be turned into predictable, priceable costs.
Further research could explore practical implementations of the above theoretical formulas by empirically calibrating inputs on resolved markets and tailoring the jump size distribution to different market types.
Appendix
Fair fee over the entire life of the position
Define V(p,t) as the expected financier loss per base share from state (p,t), with three creep boundaries:
Continuous hit of p=1 (YES resolution by creep),
Continuous hit of p=ℓ (liquidation by creep),
The deadline T (unresolved ⇒ NO).
Jumps are not treated as spatial boundaries; instead, jump-to-YES and fatal down-jumps are modeled as Poisson “kill” hazards inside the equation for V.
Setup the boundary/terminal conditions
The state: ℓ<p<1, t<T.
Stopping times:
Creep YES Resolution: τ1=inf{u≥t:pu=1}
Creep liquidation: τℓ=inf{u≥t:pu≤ℓ}
Deadline: τT≡T (unresolved ⇒ NO)
Loss at each boundary/terminal:
Creep YES Resolution (no Loss):
V(1,t)=0for all t≤T
Creep liquidation (trigger at ℓ, fill after latency w with overshoot):
V(ℓ,t)=Lgcreep(b;μeff(p,t),σeff(p,t),w)
Where
gcreep(b;⋅)=σwϕ(dw)+(mw−b)[1−Φ(dw)]
with mw=−μeffw, σw=σeffw, dw=(b−mw)/σw.
Deadline (NO) (instant drop to 0 recovers none of the financed principal):
V(p,T)=(L−1)p0for ℓ<p<1
Dynamics with interior and boundary-crossing jumps
We model YES price pt∈(0,1) over calendar time t with diffusion and price/time-dependent jumps:
σbase(pt,t) is the diffusion volatility ($/√(time)).
Jt is a pure jump component with price and time-dependent up/down jump arrival rates and sizes.
The drift, volatility, jump arrival rates, and jump size law should all be chosen based on the market type.
Let’s first define two jump channels:
Upward Jump:
Upward jumps arrive with price and time-dependent intensity κ↑(p,t) (units: 1/time); i.e., the expected frequency per unit of time of upward jumps.
Z↑>0 is a random upward jump size (units: $/YES share) with the PDF of f↑(z∣p,t),z∈(0,∞).
Downward Jump:
Downward jumps arrive with price and time-dependent intensity κ↓(p,t) (units: 1/time); i.e., the expected frequency per unit of time of downward jumps.
Z↓<0 is a random downward jump size (units: $/YES share) with the PDF of f↓(z∣p,t),z∈(−∞,0) (Equivalently, R≡−Z↓>0).
We can split the price path into:
No jump: take a diffusion step;
μbase(pt,t)dt+σbase(pt,t)dWt
Non-resolving jumps: jumps remain inside (ℓ,1) with no immediate resolution;
Upward Interior: z∈(0,1−p),p↦p+z
Downward Interior: z∈(ℓ−p,0),p↦p+z
Jumps outside these windows are treated as boundary-crossing and are accounted for in κYES and κfatal below.
When this Poisson “kill” event time arrives, future loss drops to 0 instantly. So the continuation value V(p,t) is removed at rate κYES(p,t). In the final equation this shows up as
When this Poisson “kill” event time arrives, you realize the jump loss Lgjumpcapped(b) and then stop. So the continuation value V(p,t) is added at rate κfatal(p,t). In the final equation this shows up as
+κfatal(p,t)(Lgjumpcapped(b)−V(p,t))
The non-resolving jump integrals in the PIDE use only z∈(0,1−p) for up jumps z∈(ℓ−p,0) for down jumps; the boundary-crossing parts are handled by the two hazard terms above, so there is no double counting.
If we reach the market deadline time T without having hit 1 or ℓ, the event is treated as NO; losses beyond T are as in the terminal condition.
∂t∂V+μbase(p,t)∂p∂V+21σbase2(p,t)∂p2∂2V+κ↑(p,t)∫01−p[V(p+z,t)−V(p,t)]f↑(z∣p,t)dz+κ↓(p,t)∫ℓ−p0[V(p+z,t)−V(p,t)]f↓(z∣p,t)dzup jump to YES: absorb with 0 loss−κYES(p,t)V(p,t)+fatal down jump: realize Lgjumpcapped then absorbκfatal(p,t)(Lgjumpcapped(b)−V(p,t))=0.
Together with the boundary/terminal conditions above,
V(1,t)=0,V(ℓ,t)=Lgcreep(⋅),V(p,T)=(L−1)p0
This PIDE yields the full life of the position expected loss.
Parameters may be price and time-dependent: μbase(p,t),σbase(p,t),κ↑(p,t),κ↓(p,t). In practice, either calibrate them as functions of (p,t) or treat them piecewise-constant over short windows (recalibrated as conditions change).
Present Value Discounting and Capital Charge
To include discounting for V and the capital charge a financier wants for tying up their capital, modify the PIDE and add the terms −rf(t)V for discounting the loss and the capital charge (L−1)p0(rf(t)+ρ(t)):
A full solution is beyond the scope of this report and could be an interesting area for further exploration. That being said, a clean, closed-form equation, like the epoch-based fair fee, is unlikely. In practice, the best way to solve this problem is through a Monte Carlo simulation.
The gist is to run lots of simulated price paths under your chosen jump-diffusion distribution model. On each path, advance to the first of: (i) a boundary hit (liquidation at ℓ or YES at 1), (ii) the next jump arrival, or (iii) the deadline T. If a boundary hits, record the corresponding loss; if a jump arrives, apply it (jump resolve to YES → zero loss, fatal down jump → jump loss, interior move → continue) and keep simulating from the new price and time state. Accrue capital charge and discount cash flows along the path. The average discounted loss across paths is the full life of the position fair expected loss (the fair fee).
All content was produced independently by the author(s) and does not necessarily reflect the opinions of Messari, Inc. Author(s) may hold cryptocurrencies named in this report. This report is meant for informational purposes only. It is not meant to serve as investment advice. You should conduct your own research and consult an independent financial, tax, or legal advisor before making any investment decisions. Nothing contained in this report is a recommendation or suggestion, directly or indirectly, to buy, sell, make, or hold any investment, loan, commodity, or security, or to undertake any investment or trading strategy with respect to any investment, loan, commodity, security, or any issuer. This report should not be construed as an offer to sell or the solicitation of an offer to buy any security or commodity. Messari does not guarantee the sequence, accuracy, completeness, or timeliness of any information provided in this report. Please see our Terms of Service for more information.
No part of this report may be (a) copied, photocopied, duplicated in any form by any means or (b) redistributed without the prior written consent of Messari®.
Kaleb was previously a research and governance analyst at 404 DAO. His primary interests are high performance L1 and L2 chains and innovative DeFi protocols.
Kaleb was previously a research and governance analyst at 404 DAO. His primary interests are high performance L1 and L2 chains and innovative DeFi protocols.