Source: [Redistribute](https://sapio.network/docs/redistribute)

# Redistribute

After settlement, proposer positions compete with the system benchmark. The reward pool contains the SAPIO stakes of the proposers and the system.

The protocol pays out this pool in parts over time. Each release event assigns part of the pool to a payout.

A **checkpoint** is the price check used to score a release event. It determines each position's share of that payout.

## Price performance sets the score

Each token has one fixed reference price set at announcement. Every position on that token uses this price throughout the competition.

A later oracle checkpoint supplies a checkpoint price. Sapio compares it with the fixed reference price to calculate a score:

$$
\text{score} = \text{eligible SAPIO stake} \times \left(\frac{\text{checkpoint price}}{\text{fixed reference price}}\right)^\beta
$$

Eligible stake is the part that remains entitled to rewards after settlement. An undelivered share loses eligibility. Public purchases count toward completed delivery.

The parameter beta ($\beta$) controls performance sensitivity. At beta one, the score changes in direct proportion to the price ratio. Values above one increase performance differences. Values between zero and one reduce them.

For example, take 100 eligible SAPIO and beta one. A reference price of 100 and a checkpoint price of 110 give a score of 110. This score is not a payout of 110 SAPIO.

**Purchase prices and delivery prices do not change the fixed reference price.** The competition does not give each proposer a personal entry price.

## Reward shares

The system has a position for each asset in the reserve at announcement. Its stake follows the reserve weights fixed at that time.

The protocol applies the same score rule to each system position. The total includes every eligible proposer position and every system position.

Each position receives this share:

$$
\text{reward share} = \frac{\text{position score}}{\text{total of all position scores}}
$$

For example, scores of 110 and 100 give shares of approximately 52.38% and 47.62%.

The shares add up to 100% before rounding. If prices remain at their fixed reference levels, the full release returns each position's eligible stake.

## The SAPIO pool

Finalization freezes the amount of SAPIO that the protocol can distribute. Finalization means that a round has completed settlement and recorded its result.

Ineligible stake earns no rewards. The confiscation rule determines how much of it becomes system stake. The proposer can reclaim the remaining part separately.

A later claim collects a stored payout. It cannot change another position's entitlement.

## The release schedule

Later finalizations on the same reserve create release events. At each event, Sapio releases part of the remaining pool.

Larger purchases by the triggering round can make the release larger, up to an announced cap. The announced release floor limits how small each step can be.

A fallback can create an event when no later finalization has done so. It uses the configured interval after the previous release event.

A competition in progress at the fallback's scheduled time suppresses that fallback. A competition announced after that time does not cancel an overdue fallback.

The floor is a limit per event. It does not guarantee payment by a calendar date. A round that remains in progress can delay release.

### The decay formula

The decay formula tracks the fraction of the original pool that remains before the final payout:

$$
\begin{aligned}
\delta_n &= \frac{1}{1+\bar\vartheta_n} \\
f(n) &= \prod_{m=1}^{n}\delta_m, \qquad f(0)=1
\end{aligned}
$$

- $n$ counts release events, not days.
- $\bar\vartheta_n$ is the acquisition fraction used for the event, after the announced floor and cap apply.
- $\delta_n$ is the fraction kept from the previous event. The product $f(n)$ combines these steps from the start.

At finalization, the acquisition fraction compares the round's credited purchases with its reserve value at announcement. Both use that round's fixed announcement prices. A fallback uses the announced floor.

For example, an acquisition fraction of 2% keeps $1/1.02$, or about 98.04%, of the previous remaining amount. It releases about 1.96%.

Before the final event, each event releases the decrease in $f$. When $f$ falls below the release threshold, that event pays out the entire remaining amount.

## Checkpoint prices and oracle outages

The configured oracle policy sets the price sources and evaluation rules for each checkpoint. These evaluation prices are separate from delivery prices.

Sapio requires valid positive prices for every token needed by a checkpoint. If a required price is missing, the checkpoint waits. The protocol does not score an incomplete set of prices.

If prices remain unavailable until the recovery timeout, the protocol uses the fixed reference prices for neutral evaluation. These prices remove performance differences caused by price changes.

## Payouts

Each position receives this amount from a release event:

$$
\text{payout} = \text{SAPIO released at this event} \times \text{reward share}
$$

If an event releases 20 SAPIO, a 52.38% share receives approximately 10.48 SAPIO.

Payouts transfer existing SAPIO from the pool. They round down to the token's smallest unit. Small remainders can stay in the pool. Total payouts cannot exceed the frozen pool.

Outperforming the system benchmark does not guarantee a net gain. Other proposers can earn larger shares. Asset supply costs and other participation costs also affect the result.

See [Security](https://sapio.network/docs/security.md) for the conditions and limits of the incentive claims.
