Skip to content

Outcome Liquidity Rewards ​

Outcome and Monarch designed this liquidity program to reward useful two-sided liquidity and trading across Outcome's HIP-4 markets.

This technical reference explains which market types can receive incentives, how each market is funded by reward epoch, how activity is scored, and how rewards are paid. The exact eligible markets, incentive windows, 24-hour epoch budgets, scoring parameters, and settlement rules are published before each market begins scoring.

Core Philosophy ​

The program rewards liquidity that is genuinely useful to traders: sustained depth close to fair value, balanced quoting on both sides of the book, and fills that demonstrate real usage.

Three principles apply across every eligible market:

  • Near fair value: Only orders inside the published edge-aware scored band earn rewards, and orders closer to the Hyperliquid mid earn more.
  • Two-sided: Bid and ask liquidity both score, with more weight for a balanced book.
  • Useful: Quote rewards pay for displayed liquidity, maker-fill rewards pay for executed resting liquidity, and taker-fill rewards support trading and price discovery.

Market Categories ​

Eligible markets are grouped by the type of question each market answers.

Market typeSimple exampleHow the outcome surface is treated
Moneyline / 1X2Participant A wins / Participant B wins; or Participant A wins / draw / Participant B winsPublished mutually exclusive outcomes share each epoch reward equally.
To advance / winnerYES = Participant A / NO = Participant BOne YES/NO order book represents the full market and receives one epoch reward pool.
Competition winnerWhich participant wins the competition?Each participant is an outcome. Probability-weighted allocations apply by reward epoch.
Scheduled decisionWhich published decision outcome occurs?The complete published outcome set forms one market. Long-dated markets may use probability-weighted allocations by reward epoch.
Binary price thresholdWill an underlying finish above a published threshold?YES and NO form one probability surface and receive one epoch reward, not two.
Multi-range priceWhich published price range contains the settlement price?The complete set of ranges forms one market. Published allocations apply across eligible ranges by reward epoch.

Only eligible markets receive rewards.

Shared Concepts ​

One Market, Fixed Reward by Epoch ​

Each eligible market receives a fixed published budget for a full 24-hour reward epoch. Partial epochs are funded pro rata by scheduled incentive hours:

text
epoch_reward_amount =
    published_24_hour_epoch_budget
    × incentive_hours_in_epoch
    ÷ 24

quote_reward_pool = 40% × epoch_reward_amount
maker_fill_reward_pool = 50% × epoch_reward_amount
taker_fill_reward_pool = 10% × epoch_reward_amount

payout_method = pro rata by score
quote_share_cap = min(100%, 2 × quoting_uptime)

A complete set of mutually exclusive outcomes is one market. Complementary YES and NO books do not receive duplicate reward pools within the same epoch.

Score multipliers change a participant's share of an epoch reward. They never increase the published epoch budget. A campaign's total reward is the sum of its funded epoch rewards.

Reward Split ​

The same split applies within every epoch reward:

ComponentShareWhat it rewards
Quote rewards40%Sustained displayed depth near fair value
Maker-fill rewards50%Resting liquidity that gets executed
Taker-fill rewards10%Trading activity and price discovery

Rewards are distributed pro rata within each pool according to eligible score.

A wallet's share of the quote pool is capped at twice its quoting uptime, up to 100%. Quoting uptime is the time the wallet quoted at least the minimum in-band depth, divided by the time the outcome was open for rewards in that period, counting at most 24 hours. No wallet receives more than its cap. Any amount above a wallet's cap is shared by score among wallets still under their cap. Any amount that no wallet can take is not paid.

text
quoting_uptime =
    time wallet quoted >= $50 raw in-band notional
    ÷ min(24 hours, time outcome was open for rewards in the period)

quote_share_cap = min(100%, 2 × quoting_uptime)

score_share =
    maker_outcome_quote_score
    ÷ total_maker_outcome_quote_score

# capped wallet = wallet whose final_quote_share would be above quote_share_cap
# start from the share by score; repeat until no uncapped wallet is above its cap

if capped wallet:
    final_quote_share = quote_share_cap
else:
    final_quote_share =
        (100% − sum(quote_share_cap across capped wallets))
        × score_share ÷ sum(score_share across uncapped wallets)

# if every wallet is capped, the rest is not paid

maker_outcome_quote_reward =
    outcome_quote_reward_pool × final_quote_share

Price Convention ​

An outcome token settles at 1.00 if the outcome occurs and 0.00 if it does not. A price between 0 and 1 represents the market's implied probability.

The Hyperliquid mid is the midpoint of the eligible market's live order book. It is used as the fair probability for quote-distance scoring and to determine whether the market is inside the scored probability range. Price markets also use the published underlying reference and settlement-price rules for final settlement.

What Is Published Before Scoring Starts ​

For every eligible market, Outcome and Monarch publish:

  • market name and settlement rule;
  • scored outcomes or binary probability surface;
  • incentive start and end time, or end rule;
  • fixed 24-hour epoch budget;
  • outcome-allocation method;
  • baseline maximum scored total spread at a 50% midpoint;
  • maximum settlement-band multiplier;
  • scheduled event time, where applicable; and
  • expected settlement or scoring-end time and applicable scoring or allocation fallback behavior.

Reward Eligibility ​

To qualify for rewards, participants must:

  • approve the Outcome builder address from their main wallet; and
  • include the Outcome builder code on every campaign order.
text
builder_code = 0xab5dbc057628bc18523c4cdfc0e1e2ebdbecb704

With the builder fee field set to 0, no fee is taken when the order is filled. Eligibility depends on using the correct builder code, not on paying a builder fee.

Orders placed without the Outcome builder code are not eligible for quote, maker-fill, or taker-fill rewards.

Market Types ​

Moneyline / 1X2 ​

A moneyline may be binary, with only Participant A and Participant B outcomes, or may include a separately published draw outcome. Three-outcome match-result markets are also commonly described as 1X2 markets. A draw is scored only when it is published as a separate outcome.

The reward for each epoch is divided equally across all published scored outcomes:

text
scored_outcome_count = number of scored outcomes

outcome_epoch_reward_amount =
    epoch_reward_amount ÷ scored_outcome_count

outcome_quote_reward_pool =
    40% × outcome_epoch_reward_amount

outcome_maker_fill_reward_pool =
    50% × outcome_epoch_reward_amount

outcome_taker_fill_reward_pool =
    10% × outcome_epoch_reward_amount

Equal allocation buys liquidity across the complete result surface instead of concentrating rewards only in the current favourite.

To Advance / Winner ​

A to-advance or winner market asks which participant wins a contest, series, round, or qualification event under the published settlement rule.

It uses one binary order book: YES represents Participant A and NO represents Participant B. YES and NO are complementary sides of the same probability surface, not separately funded outcomes.

text
winner_epoch_reward_amount = epoch_reward_amount

outcome_quote_reward_pool =
    40% × winner_epoch_reward_amount

outcome_maker_fill_reward_pool =
    50% × winner_epoch_reward_amount

outcome_taker_fill_reward_pool =
    10% × winner_epoch_reward_amount

A to-advance market and a moneyline market may both be eligible when they ask different questions and have separate published settlement rules. Each is treated as its own complete market.

Long-Dated Multi-Outcome Markets ​

These markets have several published outcomes, and exactly one occurs. All outcomes together form one market:

  • Scheduled decision: which outcome of a defined external announcement occurs.
  • Competition winner: which participant wins a competition.

Every reward epoch, including the first, uses probability-weighted outcome allocations. For the first epoch, the probability weight is derived from eligible periods with sufficient liquidity conditions. For each later epoch, the probability weight is based on the previous epoch's valid mean Hyperliquid midpoint across eligible periods with sufficient liquidity conditions. Outcomes with a probability weight below 5% receive 0, and their share goes to the other outcomes.

text
eligible_outcome_count = number of eligible outcomes
equal_outcome_weight = 1 ÷ eligible_outcome_count

epoch_reward_amount =
    published_24_hour_epoch_budget
    × incentive_hours_in_epoch
    ÷ 24

if first reward epoch:
    probability_weight = probability estimate from eligible periods with sufficient liquidity conditions
else:
    probability_weight =
        valid mean hyperliquid_mid for the outcome
        during the previous reward epoch, using eligible periods with sufficient liquidity conditions

cutoff = 5%

remaining_outcomes =
    eligible outcomes with probability_weight >= cutoff

if sufficient probability weights are available for remaining_outcomes:
    outcomes with probability_weight < cutoff:
        outcome_allocation_weight = 0

    normalization_total =
        sum(probability_weight across remaining_outcomes)

    outcome_allocation_weight =
        probability_weight ÷ normalization_total
else:
    outcome_allocation_weight = equal_outcome_weight

epoch_outcome_reward =
    epoch_reward_amount × outcome_allocation_weight

outcome_quote_reward_pool =
    40% × epoch_outcome_reward

outcome_maker_fill_reward_pool =
    50% × epoch_outcome_reward

outcome_taker_fill_reward_pool =
    10% × epoch_outcome_reward

For the first reward epoch, the probability weight is derived from eligible periods with sufficient liquidity conditions; the specific eligible periods and aggregation method may vary by market. If sufficient probability data are unavailable for any epoch, eligible outcomes use equal weights.

Binary Price Threshold ​

A binary price market asks whether a published underlying satisfies a price condition at a defined expiry.

YES and NO are complementary views of one scored probability surface:

text
binary_epoch_reward_amount = epoch_reward_amount

binary_quote_reward_pool =
    40% × binary_epoch_reward_amount

binary_maker_fill_reward_pool =
    50% × binary_epoch_reward_amount

binary_taker_fill_reward_pool =
    10% × binary_epoch_reward_amount

outcome_quote_reward_pool = binary_quote_reward_pool
outcome_maker_fill_reward_pool = binary_maker_fill_reward_pool
outcome_taker_fill_reward_pool = binary_taker_fill_reward_pool

The epoch reward is not divided between complementary YES and NO books, and the same probability surface is not paid twice.

The underlying, threshold, reference-price rule, settlement-price rule, and any averaging window are published before scoring begins.

Multi-Range Price ​

A multi-range market asks which one of several published price bands contains the settlement price. All ranges for the same underlying and expiry form one market.

Published outcome allocations apply across eligible ranges. A long-dated multi-range market uses the same probability-weighted allocation process as a scheduled-decision market for every reward epoch, including the first.

Short-Duration Rolling Markets ​

A published sequence of short-duration rolling markets is treated as one rolling market family for reward purposes. Each family receives one fixed epoch reward for each published 24-hour incentive window; individual short-duration instances do not receive separate reward pools. Each instance still calculates its own settlement-band curve from its deployment time to its published expected settlement time.

Quote, maker-fill, and taker-fill scores from every eligible instance in the family are aggregated across the 24-hour window. Each of the family's three reward pools is then distributed pro rata using the corresponding aggregated score. For the quote cap, a wallet's quoting time is added up across the family's instances and divided by the total time those instances were open for rewards, counting at most 24 hours.

Illustrative 24-Hour Epoch Budgets ​

The following reference illustrates how 24-hour epoch budgets may vary across market categories.

High-level categoryIllustrative market typesIllustrative 24-hour epoch budget
Sports matchesEligible football and esports match markets$100–$300
Sports props and futuresProps and tournament-winner markets$100–$400
Economics and scheduled decisionsCentral-bank decisions and similar scheduled announcements$100–$300
Price marketsCrypto, single-equity, index and commodity markets$100–$300

These are illustrative 24-hour epoch budgets and are subject to change. The published budget is fixed for a full 24-hour epoch, and each scheduled incentive hour is funded pro rata. The exact eligible market and epoch budget are published before scoring begins.

Incentive Window ​

Each selected market has one continuous incentive window divided into reward epochs. Every epoch uses the fixed published 24-hour budget, prorated by its scheduled incentive hours:

text
incentive_window_start = max(published start time, market deployment time)
incentive_window_end = published end time or end rule

epoch_reward_amount =
    published_24_hour_epoch_budget
    × incentive_hours_in_epoch
    ÷ 24

Orders and trades score only inside the published incentive window, and no rewards accrue after settlement. Non-sports early settlement is prorated by elapsed scheduled hours. Sports events use one fixed 24-hour budget from T-24 through settlement, regardless of match duration or settlement delay, allocated pro rata by weighted score.

Event-Time Multiplier ​

Markets with a defined external event time use a separate curve during the final 24 hours before the scheduled event, or from incentive start if the market is deployed later. This final pre-event period is treated as its own reward epoch, so eligible quote and fill activity is weighted more heavily as the event approaches:

text
event_weighting_start =
    max(incentive_window_start, scheduled_event_time − 24 hours)

if bucket_midpoint < event_weighting_start:
    event_time_multiplier = 1
else if bucket_midpoint < scheduled_event_time:
    event_progress =
        (bucket_midpoint − event_weighting_start) ÷ (scheduled_event_time − event_weighting_start)
    event_time_multiplier = 0.25 + 0.75 × event_progress³
else:
    event_time_multiplier = 1

The multiplier is calculated in five-minute buckets using each bucket's midpoint. Before event_weighting_start, no event-time adjustment applies and the multiplier is 1.00×. At event_weighting_start it is 0.25×, reaches 1.00× at the scheduled event time, and remains at 1.00× until scoring ends.

Cubic event-time multiplier curve

If deployment occurs inside the final 24 hours, the curve is compressed across the remaining pre-event period. Markets without a defined external event use 1.00× throughout.

The event-time curve is independent of settlement_progress. Event-time weighting applies only during the final pre-event epoch, while settlement_progress controls quote-band widening from incentive start. When a scheduled event time exists, both curves reach their endpoint at event start.

Market Scoring Conditions ​

Quote depth, maker fills, and taker fills score only when:

  • market and outcome or probability surface are published as eligible
  • block or fill is inside the published incentive window
  • market is active and unsettled
  • scored outcome remains possible
  • hyperliquid_mid is available and reliable
  • current_hyperliquid_mid >= 2.00%
  • current_hyperliquid_mid <= 98.00%

Scoring pauses whenever a condition is not met and resumes only if the market becomes eligible again. Scoring stops permanently when the market settles or the scored outcome becomes impossible.

Live Event Multiplier ​

Eligible markets with a genuine live phase receive additional score weight during confirmed live play:

text
if event_is_live:
    live_multiplier = 3
else:
    live_multiplier = 0

The live period begins when the published event source marks the event as started and ends at official completion of the scored market.

Live weighting does not apply before the event starts, after completion, while the market is paused or halted, or when normal live trading is not supported.

Volatility Multiplier ​

Marina gives additional score weight to makers who maintain tight liquidity after a meaningful price move.

For each scored outcome or probability surface:

text
reference_mid_60s = average midpoint over the previous 60 seconds
price_displacement = abs(current_mid − reference_mid_60s)
trigger = 2 × normal_average_spread

if price_displacement <= trigger:
    volatility_multiplier = 1
else:
    volatility_multiplier = min(
        5,
        1 + price_displacement ÷ trigger
    )

normal_average_spread uses a lagged calibration maintained separately for pre-live, live, and non-live price trading.

The volatility multiplier applies to quote and maker-fill scores, but not to taker-fill scores.

Illustrative 10-Cent Market Move ​

Assume a market has a 2¢ normal average spread and its midpoint jumps by 10¢, then remains stable at the new level. The trigger is twice the normal average spread:

text
normal_average_spread = 2¢
trigger = 2 × 2¢ = 4¢
initial_price_displacement = 10¢

initial_volatility_multiplier =
    min(5, 1 + 10¢ ÷ 4¢)
    = 3.5×

As the 60-second rolling reference catches up to the new midpoint:

text
price_displacement(t) =
    10¢ × max(0, 1 − t ÷ 60)
Seconds after movePrice displacementVolatility multiplier
0s10¢3.5×
12s8¢3.0×
24s6¢2.5×
36s4¢1.0×
60s0¢1.0×

Under the threshold rule, the multiplier returns to 1× as soon as price displacement reaches or falls below the 4¢ trigger.

Volatility multiplier after a price jump

Live and Volatility Combination ​

Live and volatility multipliers are additive:

text
quote_and_maker_fill_multiplier =
    min(8, volatility_multiplier + live_multiplier)

if event_is_live:
    taker_fill_multiplier = 3
else:
    taker_fill_multiplier = 1

For markets without a live phase:

text
quote_and_maker_fill_multiplier = volatility_multiplier
taker_fill_multiplier = 1

The event-time multiplier applies multiplicatively to quote, maker-fill, and taker-fill scores. Earlier pre-event epochs use the published 24-hour epoch budget with no event-time adjustment. During the separate final pre-event epoch, the multiplier rises from 0.25× to 1.00× while live_multiplier remains 0. At confirmed event start, event_time_multiplier remains 1.00× and live weighting activates. Settlement-band widening reaches its published maximum at event start and remains capped through the live phase.

Dynamic Edge-Aware Logit Distance ​

Quote distance is measured in log-odds.

The maximum qualifying logit distance expands continuously from actual incentive start to the applicable band_curve_end. The expansion changes the qualifying distance.

Logit Definitions ​

text
logit(p) = ln[p ÷ (1 − p)]
logistic(x) = 1 ÷ (1 + exp(−x))

Baseline Logit Cutoff ​

Each market publishes a baseline maximum scored total spread in cents. The parameter retains its current meaning at a 50% midpoint.

text
baseline_half_spread =
    baseline_max_scored_total_spread_cents ÷ 200

v₀ =
    logit(0.50 + baseline_half_spread)
    − logit(0.50)

For example, a published four-cent total spread gives a two-cent half-spread at a 50% midpoint, producing a baseline qualifying range of approximately 48%–52%.

Continuous Settlement Adjustment ​

Settlement progress is calculated using the midpoint of each existing five-minute scoring bucket. Scheduled events use event start as band_curve_end; other markets use the published expected settlement time:

text
band_curve_start = incentive_window_start
if scheduled_event_time is defined:
    band_curve_end = scheduled_event_time
else:
    band_curve_end = published_expected_settlement_time

settlement_progress = clamp(
    (bucket_midpoint − band_curve_start)
    ÷ (band_curve_end − band_curve_start),
    0,
    1
)

The qualifying band expands on a cubic curve:

text
settlement_band_multiplier =
    1
    + (maximum_settlement_band_multiplier − 1)
      × settlement_progress³

v(t) = v₀ × settlement_band_multiplier

For example, if maximum_settlement_band_multiplier is 2.00:

Band-curve progressSettlement-band multiplier
0%1.000×
25%1.016×
50%1.125×
75%1.422×
100%2.000×

The corresponding price boundaries at reference probability p* are:

text
x* = logit(p*)

minimum_qualifying_bid_price = logistic(x* − v(t))
maximum_qualifying_ask_price = logistic(x* + v(t))

For scheduled events, the band reaches its published maximum at event start and remains capped through the live phase. Markets without a defined event time use the published expected settlement time. A late deployment compresses the curve from actual incentive start to band_curve_end.

If the market settles before band_curve_end, scoring stops at the multiplier reached, without retroactive adjustment. If it remains unsettled after band_curve_end, the published maximum applies until scoring ends.

If a timing input changes, the new anchor applies beginning with the next five-minute bucket; previously scored buckets retain their recorded parameters. The active settlement-band multiplier and timing inputs are exposed in the scoring config. If no event time or expected settlement time is available, the market must publish a deterministic fallback or use a flat 1.00× settlement-band multiplier.

Quadratic Distance Multiplier ​

For each resting order:

text
logit_distance =
    abs(logit(order_price) − logit(hyperliquid_mid))

normalized_distance = logit_distance ÷ v(t)

maximum_distance_multiplier = 5.00

distance_multiplier =
    maximum_distance_multiplier
    × max(0, 1 − normalized_distance)²

An order at the Hyperliquid mid receives a 5× multiplier. The multiplier falls quadratically to zero at the dynamic logit cutoff. Orders at or beyond the cutoff do not score.

Normalized position within dynamic bandDistance multiplier
At fair5.000×
25% toward boundary2.813×
50% toward boundary1.250×
75% toward boundary0.313×
At or outside boundary0×

Illustrative Edge-Aware Ranges ​

Assume a four-cent baseline total spread, equivalent to a two-cent half-spread at a 50% midpoint.

Fair probabilitySettlement-band multiplierApproximate qualifying range
50%1.00×48.00%–52.00%
50%2.00×46.01%–53.99%
95%1.00×94.61%–95.37%
95%2.00×94.18%–95.71%

The same logit tolerance compresses in cents near the probability edges. Approaching settlement widens the logit band while preserving that edge-aware behavior.

Quote Depth Score ​

Marina scores bid and ask liquidity separately and weights displayed depth by its dynamic logit distance from the Hyperliquid mid and the time it remains available:

text
raw_bid_notional_usd =
    sum(bid_order_notional_usd inside the dynamic scored band)

raw_ask_notional_usd =
    sum(ask_order_notional_usd inside the dynamic scored band)

raw_in_band_notional_usd =
    raw_bid_notional_usd + raw_ask_notional_usd

bid_side_score = sum(
    bid_order_notional_usd
    × distance_multiplier
    × block_duration_seconds
)

ask_side_score = sum(
    ask_order_notional_usd
    × distance_multiplier
    × block_duration_seconds
)

depth_score = bid_side_score + ask_side_score

Two-Sided Multiplier ​

text
if max(bid_side_score, ask_side_score) > 0:
    balance_ratio =
        min(bid_side_score, ask_side_score)
        ÷ max(bid_side_score, ask_side_score)
else:
    balance_ratio = 0

two_sided_multiplier = 1 + 2 × balance_ratio

if raw_in_band_notional_usd >= 50:
    base_quote_score =
        depth_score × two_sided_multiplier
else:
    base_quote_score = 0

The two-sided multiplier ranges from 1× for one-sided liquidity to 3× for equally balanced bid and ask scores. The minimum-depth requirement uses only raw in-band bid-plus-ask notional before distance, balance, event-time, live, and volatility weighting.

Quote Reward ​

In the formulas below, outcome means either an eligible outcome or the single scored surface of a binary market.

For each maker and scored outcome:

text
calculated_quote_score =
    base_quote_score × quote_and_maker_fill_multiplier
    × event_time_multiplier

maker_outcome_quote_score =
    sum(calculated_quote_score across eligible block-duration intervals)

maker_outcome_quote_reward =
    outcome_quote_reward_pool
    × final_quote_share

# final_quote_share = score share after the quoting uptime cap (see Reward Split)

maker_quote_reward =
    sum(maker_outcome_quote_reward across markets and scored outcomes)

Maker-Fill Reward ​

For each eligible maker-side fill:

text
maker_fill_notional_usd = fill_price × fill_size

calculated_maker_fill_score =
    maker_fill_notional_usd
    × quote_and_maker_fill_multiplier
    × event_time_multiplier

maker_outcome_fill_score =
    sum(calculated_maker_fill_score across eligible maker fills)

maker_outcome_fill_reward =
    outcome_maker_fill_reward_pool
    × maker_outcome_fill_score
    ÷ total_maker_outcome_fill_score

maker_fill_reward =
    sum(maker_outcome_fill_reward across markets and scored outcomes)

Taker-Fill Reward ​

For each eligible taker-side fill:

text
taker_fill_notional_usd = fill_price × fill_size

calculated_taker_fill_score =
    taker_fill_notional_usd
    × taker_fill_multiplier
    × event_time_multiplier

taker_outcome_fill_score =
    sum(calculated_taker_fill_score across eligible taker fills)

taker_outcome_fill_reward =
    outcome_taker_fill_reward_pool
    × taker_outcome_fill_score
    ÷ total_taker_outcome_fill_score

taker_fill_reward =
    sum(taker_outcome_fill_reward across markets and scored outcomes)

Taker fills do not receive volatility weighting.

Exclusions ​

The following activity does not score:

  • markets or outcomes that were not published as eligible;
  • blocks or fills outside the published incentive window;
  • markets that are paused, halted, cancelled, stale, or settled;
  • blocks without a reliable Hyperliquid mid;
  • quote blocks with a mid below 2.00% or above 98.00%;
  • orders at or beyond the dynamic logit-distance cutoff;
  • eliminated or impossible winner outcomes;
  • duplicated YES or NO liquidity already represented in the scored probability surface;
  • fills on non-scored outcome books;
  • price markets without complete reference and settlement specifications; and
  • self-trading, related-wallet churn, wash trading, or circular volume.

Payout and Settlement ​

Rewards are calculated pro rata within the quote, maker-fill, and taker-fill pools. For each wallet:

text
total_reward =
    maker_quote_reward
    + maker_fill_reward
    + taker_fill_reward

The payout asset, payout timing, and eligible attribution method are published with the campaign terms.

Quick Reference ​

ItemShared rule
Reward unitOne complete market per reward epoch
Epoch budgetSports: fixed 24-hour budget from T-24 to settlement; others prorated by scheduled hours
Reward split40% quotes / 50% maker fills / 10% taker fills
Moneyline / 1X2 allocationEqual across scored outcomes
To advance / winner allocationOne YES/NO order book; one unsplit epoch reward pool
Binary price allocationOne scored YES/NO probability surface
Long-dated multi-outcome allocationProbability-weighted from eligible periods with sufficient liquidity; later epochs use the previous epoch's valid mean midpoint; equal fallback
Settlement-band adjustmentCubic 1.00× to the published maximum, default 2.00×; ends at event start for scheduled events or expected settlement otherwise, then remains capped
Event-time multiplierFinal pre-event epoch only: starts at T-24 hours or later deployment, then rises cubically from 0.25× to 1.00× by event start; 1.00× before and after
Live multiplierAdditive +3× for quotes and maker fills; 3× for taker fills when applicable
Volatility multiplier1× to 5× for quotes and maker fills
Combined live and volatility cap8×
Scored midpoint range2.00% to 98.00%
Distance multiplier5× at mid, falling quadratically to 0× at the dynamic logit cutoff
Minimum depth$50 raw in-band bid-plus-ask notional
Two-sided multiplier1× to 3×
PayoutPro rata within each reward pool; quote share capped at 2 × quoting uptime

INFO

Who is eligible for Outcome's $1,000,000 in liquidity rewards?

Outcome's $1,000,000 liquidity rewards program covers liquidity provided on Outcome's frontend, and whitelisted builder frontends.

Monarch docs live in the monorepo and deploy separately from the app.