# LP Rewards

> Earn a share of daily reward pools by keeping useful limit orders on incentivized markets.

## How LP works [#how-lp-works]

Each incentivized market has a daily reward pool. Liquidity providers compete
for a share of that pool by keeping useful limit orders resting on the book.
It is not a fixed payment for placing an order.

At unpredictable checks throughout the reward day, Agara:

1. finds the current market midpoint;
2. considers only the first 50 resting quotes in queue order at each price
   level, separately for each outcome and side;
3. ignores selected orders that are too small or too far from that midpoint;
4. gives more points to larger orders and much more weight to closer orders;
5. rewards balanced liquidity on both economic sides; and
6. turns each trader's points into a share of that check.

Those check shares accumulate across the day. Your final percentage of the
daily pool depends on your liquidity **and** every competing trader's
liquidity.

<LpRewardsDiagram />

Read the price ladder as an order book: prices increase upward, asks move down
toward the market, and bids move up toward it. The nearest usable ask at 41¢
and bid at 39¢ place the midpoint halfway between them at 40¢.

The quote rectangles use one color scale. Darker quotes contribute points;
faded quotes score zero because they fail an eligibility gate. Color does not
represent the number of shares—the quote label states the size directly.

In this example, the market midpoint is 40¢. The eligible band runs from 37¢
to 43¢, though the edges carry zero weight. Each quote must still have at least
20 shares. The 39¢ bid and 41¢ ask are both close, large enough, and balanced.
The other two quotes fail one of the gates. All quotes shown are within the
first 50 at their respective price levels.

### Queue position: the first 50 quotes [#queue-position-the-first-50-quotes]

At each reward check, only the **first 50 resting quotes at each price level**
are considered for rewards, in the order they joined the queue. This limit
is shared across all traders and applies separately to bids and asks for
each outcome token: YES bids, YES asks, NO bids, and NO asks each have their
own queues.

A quote in position 51 or later earns no points at that check. The first 50
must still meet the minimum-size and spread requirements below. An earlier
quote that fails those requirements does not make room for a later quote
at the same check.

Fully filled and cancelled orders no longer occupy a queue position, so a
later quote can move into the first 50 and be considered at a future check.

### Distance from the midpoint [#distance-from-the-midpoint]

**Distance** is the absolute gap between a quote's effective price and the
midpoint. It is not the full gap between the best bid and ask.

For a 40¢ midpoint:

| Quote price | Distance | What happens                                             |
| ----------- | -------: | -------------------------------------------------------- |
| 39¢ or 41¢  |       1¢ | Scores strongly if the quote meets **Min shares**        |
| 38¢ or 42¢  |       2¢ | Can score, but receives less weight                      |
| 37¢ or 43¢  |       3¢ | Sits on the maximum-spread boundary and contributes zero |
| 36¢ or 44¢  |       4¢ | Outside the qualifying band and ignored                  |

YES and NO prices are complements. A 40¢ YES price and a 60¢ NO price represent
the same probability. Agara converts both books into one effective price scale
before finding the midpoint and measuring distance.

The midpoint moves with the book, so every quote's distance can change without
the quote itself moving. Recheck your quotes after a price move.

## The formulas [#the-formulas]

The symbols below are used throughout the examples:

| Symbol           | Meaning                                |
| ---------------- | -------------------------------------- |
| $p$              | Quote price on the effective YES scale |
| $m$              | Current effective midpoint             |
| $d$              | Distance from the midpoint             |
| $v$              | Market's maximum spread                |
| $q$              | Remaining shares in one quote          |
| $q_{\text{min}}$ | Market's minimum shares per quote      |
| $P$              | Daily reward pool                      |

### 1. Eligibility [#1-eligibility]

For a YES quote, $p$ is its displayed price. For a NO quote, write its effective
price as $p_{\text{eff}}$. It is the complement:

$$
p_{\text{eff}} = 1 - p_{\text{NO}}
$$

Distance is:

$$
d = \left|p - m\right|
$$

Among the first 50 quotes at its price level, a quote passes the size and
spread gates when:

$$
q \ge q_{\text{min}}
\qquad \text{and} \qquad
d \le v
$$

Each quote is tested independently. Several smaller quotes do not combine to
meet $q_{\text{min}}$.

### 2. Points for one quote [#2-points-for-one-quote]

The points for one quote are:

$$
S(p,q) =
\begin{cases}
q\left(\dfrac{v-d}{v}\right)^2,
& \text{eligible} \\[6pt]
0,
& \text{otherwise}
\end{cases}
$$

This formula makes size linear and distance quadratic:

* doubling the remaining shares doubles the points at the same price;
* moving closer increases points much faster than a linear rule would; and
* a quote at exactly $d=v$ receives zero points.

A partial fill reduces $q$. If the remaining quoted size falls below
$q_{\text{min}}$, the quote stops scoring at later checks.

### 3. Balance both economic sides [#3-balance-both-economic-sides]

Let $S(x)$ be the point score $S(p,q)$ for an individual quote $x$. Quote scores
are then added into two economic sides:

$$
Q_1 =
\sum_{x \in \mathrm{buy\ yes}} S(x)
+
\sum_{x \in \mathrm{sell\ no}} S(x)
$$

$$
Q_2 =
\sum_{x \in \mathrm{sell\ yes}} S(x)
+
\sum_{x \in \mathrm{buy\ no}} S(x)
$$

For a midpoint from 10¢ through 90¢, inclusive, the trader's score for one
check is:

$$
C =
\max\left(
\min(Q_1,Q_2),
\frac{\max(Q_1,Q_2)}{3}
\right)
$$

Balanced liquidity usually scores through the weaker side. One-sided
liquidity can still score, but only at one third of its stronger side.

Below 10¢ or above 90¢, both sides are required:

$$
C = \min(Q_1,Q_2)
$$

### 4. Convert check scores into the daily reward [#4-convert-check-scores-into-the-daily-reward]

At check $t$, trader $i$ receives a share of all positive scores in that
market:

$$
r_{i,t} =
\frac{C_{i,t}}
{\displaystyle\sum_j C_{j,t}}
$$

If $T$ checks contain at least one positive score, the daily reward is the
trader's average check share multiplied by the pool:

$$
R_i =
P\left(
\frac{1}{T}
\sum_{t=1}^{T} r_{i,t}
\right)
$$

Every scored check has equal weight. A brief burst of very large liquidity
cannot outweigh competitive quotes that remain available consistently.

Rewards are calculated separately for each market, then added across all markets
for the same reward day (epoch). If your total is **at least \$1**, you receive
the full amount, including rewards below \$1 from individual markets. A total
below **\$1** is not credited and does not carry into another day.

For example, rewards of \$0.60 and \$0.40 in two markets on the same day
are paid together as \$1.

## Worked examples [#worked-examples]

All three examples use a 40¢ midpoint, a 3¢ maximum spread, and a 20-share
minimum. Every quote in these examples is within the first 50 at its price
level on its outcome and side.

### Example 1: tighter quotes beat larger quotes [#example-1-tighter-quotes-beat-larger-quotes]

Trader A rests 40 shares on each side at 39¢ and 41¢. Trader B rests 100 shares
on each side at 38¢ and 42¢.

<LpTightVsLargeDiagram />

Trader A's distance is 1¢:

$$
S_A =
40\left(\frac{3-1}{3}\right)^2
= 17.78
$$

Trader B's distance is 2¢:

$$
S_B =
100\left(\frac{3-2}{3}\right)^2
= 11.11
$$

Both traders quote equal points on both sides, so their check scores are 17.78
and 11.11. If they are the only participants and every check looks the same:

$$
r_A =
\frac{17.78}{17.78+11.11}
\approx 61.54\%
$$

$$
R_A \approx \$100 \times 61.54\% = \$61.54
$$

Trader B receives the remaining 38.46%, or about \$38.46. Trader A still earns
more despite using fewer shares because closeness is squared.

### Example 2: one-sided liquidity receives reduced credit [#example-2-one-sided-liquidity-receives-reduced-credit]

A trader rests a 60-share YES bid at 39¢ but no quote on the other economic
side.

<LpOneSidedDiagram />

The bid is 1¢ from the midpoint:

$$
Q_1 =
60\left(\frac{3-1}{3}\right)^2
= 26.67,
\qquad
Q_2 = 0
$$

Because the 40¢ midpoint is inside the 10–90¢ range:

$$
C =
\max\left(0,\frac{26.67}{3}\right)
= 8.89
$$

Adding a similarly competitive ask can raise the score toward the weaker of
the two sides. If the midpoint moves below 10¢ or above 90¢, this lone bid
scores zero until the other economic side is quoted.

### Example 3: consistency across the day [#example-3-consistency-across-the-day]

Suppose a market has a \$60 pool and three scored checks. Your shares are 50%,
25%, and 0% because your quotes are absent at the third check.

<LpConsistencyDiagram />

The daily computation is:

$$
R =
\$60\left(
\frac{0.50+0.25+0}{3}
\right)
= \$15
$$

One strong check does not lock in half of the daily pool. Remaining competitive
through more of the day creates the larger opportunity.

## Use LP Rewards in practice [#use-lp-rewards-in-practice]

1. **Choose an active reward market.** Check its daily pool, maximum spread,
   and minimum shares on [Daily Rewards](/rewards).
2. **Place resting limit orders.** Use GTC or GTD orders at prices you are
   willing to trade. API traders can use [post-only](/docs/orders#post-only) to
   avoid taking liquidity immediately.
3. **Keep useful size available.** Only the shares still resting when Agara
   checks the book can score.
4. **Follow your projection.** **Your share** and **Projected** change with
   your orders, the midpoint, and the competing book.

| Market term    | What it means                                                          |
| -------------- | ---------------------------------------------------------------------- |
| **Rewards**    | The pool shared among qualifying traders for the current reward day    |
| **Max spread** | The maximum distance from the current midpoint                         |
| **Min shares** | The minimum remaining size of each individual quote                    |
| **Your share** | Your accumulated share of the market's scored checks so far            |
| **Projected**  | Your current share multiplied by the pool, before the \$1 minimum rule |

> **Treat the projected amount as an estimate.** Your orders can fill, the
> midpoint can move, and other traders can add or remove liquidity before the
> reward day ends.

An order is still a real trade offer. If someone accepts it, the fill changes
your position and the filled shares stop providing liquidity. Never choose a
price or size only for the projected reward.

## Rules that prevent surprises [#rules-that-prevent-surprises]

* Only a **resting** limit order can score. An order that fills immediately
  does not provide resting liquidity.
* Only the first **50 quotes per price level**, per outcome and side, are
  considered at each check. Meeting the size and spread requirements alone
  is not enough if your quote is later in the queue.
* Filled and cancelled shares stop scoring at later checks. Disconnecting does
  not cancel your orders; reconcile the book and cancel stale quotes.
* A wider maximum spread does not make the boundary attractive. Quality still
  decays to zero at the edge.
* **Projected** is not guaranteed. It changes when the midpoint, your remaining
  size, your time in the book, or competitors' orders change.
* Rewards do not protect against inventory losses, adverse selection, fees, or
  market resolution risk.

For programmatic access, use the
[LP Rewards API reference](/docs/api-reference/lp-incentives). Use
[Orders](/docs/orders) to place and cancel quotes and the
[orderbook](/docs/orderbook) or [market stream](/docs/streaming) to keep them
aligned with the live market.
