Liquid Buybacks: NEST execution with LDO/wstETH liquidity

Hello, this is Greg from Analytics Stream. I would like to elaborate a little bit on the chosen model, approach, and proposed parameter values.

Considered options

Note: This section is only for context; for the cumulative model justification, please proceed to the next section.

The initially proposed approach for buybacks sounds like: “Once daily revenue is higher than daily costs and the ETH price is higher than $3,000, we allocate 50% of the surplus to buybacks.” (Daily costs are calculated as yearly operational costs ($40M) divided by 365.)

In order not to overspend, we also add a daily cap, which does not allow a daily buyback higher than a certain value. Next, we backtested this approach on 2024 and 2025 (daily rewards source) and got the following results:

Table 1. Initial model backtesting results

2024 2025
Total rewards ($) 51,699,284 42,481,543
Target spend ($) 5,849,642 1,240,771
Actual spend (no daily cap) ($) 4,972,594 2,626,009
Share of target (no daily cap) 85% 212%
Actual spend (daily cap = 10,000) ($) 1,992,649 1,471,127
Share of target (daily cap = 10,000) 34% 119%

Here arises the main problem with such an approach: no matter which daily cap we used, we underspent in 2024 and overspent in 2025 (no overspend occurs only with a small daily cap of around $5,000–$6,000).

Reason for underspending in 2024: There were many days when, even though daily revenue was higher than daily costs, no buyback was performed because the ETH price was lower than $3,000.

Reason for overspending in 2025: In the first half of 2025, we had many days when daily revenue exceeded daily costs, and these rewards were spent on buybacks. However, in the second half of 2025, there were days when daily revenue was lower than daily costs, which caused not only the absence of buybacks but also a shortfall in funds for operational costs.

To put it in a nutshell, the main problem with such an approach is that on “good” days we spend the surplus, but on “bad” days we accumulate losses, which are not compensated for by future or previous surpluses. That is why the idea of a cumulative model emerged.

Cumulative model

As described above, NEST uses a cumulative surplus model. Each day, staking revenue is compared to the $40M/year operating baseline (~$109k/day). If revenue exceeds it, the surplus increases the cumulative buyback capacity. If it falls below, the loss reduces it. Buybacks only execute while that cumulative capacity stays non-negative — meaning we have not already spent more than we have earned. When the gate passes (cumulative balance > 0), the day’s order size is set by that day’s surplus allocation (up to the $50k daily cap), not by the cumulative balance itself.

Let’s put it in real numbers for the years 2024 and 2025. Initially, we considered 3 different options:

Perform buybacks once the ETH price > $3,000 USD and unrealised buybacks > 0, with an allocation share = 50% (this rule is the same for every option).

Option 1: Calculate cumulative losses and surplus.

Option 2: Calculate cumulative losses on all days and surplus only on days when the ETH price > $3,000 USD.

Option 3: Do not take into account days when the ETH price is < $3,000 USD for either surplus or losses.

Applying this to historical data, we receive the following result.

“Daily cap (50,000)” shows numbers for the previous methodology with a $50,000 daily cap.

Absolute values

Table 2. Cumulative model backtesting, absolute values

Year 2024 2025 2024+2025
Rewards 51,699,284 42,481,543 94,180,827
Target buyback 5,849,642 1,240,771 7,090,413
Daily cap (50,000) 4,935,753 2,557,875 7,493,628
Option 1 4,972,594 2,114,617 7,087,211
Option 2 4,835,836 1,037,854 5,873,690
Option 3 4,955,919 2,624,190 7,580,109

Relative values

Table 3. Cumulative model backtesting, relative values

Year 2024 2025 2024+2025
Daily cap (50,000) 84% 206% 106%
Option 1 85% 170% 100%
Option 2 83% 84% 83%
Option 3 85% 211% 107%

And here we would like to make a small deep dive into how the ETH price threshold and the daily cap work conceptually.

Parameter options: daily cap vs. ETH price threshold

Conceptually, both the daily cap and the ETH price gate can lead to leftover accumulation and allow us to start performing buybacks faster when we switch from “bad periods” to “good periods”, but they do so in different ways:

ETH price threshold: If we set the ETH price threshold to X, then even if on some day the surplus > daily costs but the ETH price < X, we do not perform a buyback. The surplus is still recorded as “unrealised buybacks”.

Daily cap: The daily cap does not allow spending more than its value on buybacks per day, so any revenue on days that exceeds surplus + daily cap will be recorded as “unrealised buybacks”.

Since the 3 considered options differ in how we treat days when the ETH price < X, if we set the ETH price to 0, they will all become the same.

Choosing the final option Let’s consider the following table, which presents 2024 and 2025 not as separate years but takes the overall numbers:

Table 4. Final numbers for all options with relative numbers

% of target buybacks, daily cap = 50,000, ETH price = 3,000 % of target buybacks, daily cap = 50,000, ETH price = 0 % of target buybacks, daily cap = 20,000, ETH price = 0
Year 2024+2025
Rewards 94,180,826
Target buyback 7,090,413
Option 1 7,042,846 100.0% 99.3% 96.9%
Option 2 7,042,846 82.8% 99.3% 96.9%
Option 3 7,042,846 106.9% 99.3% 96.9%

From these examples, we can see that both the ETH price and DAILY_CAP could function as ways to accumulate unrealised buybacks. Given this, it seems more reasonable to use a less volatile and more predictable parameter (DAILY_CAP) for the buyback process. (Also note the property we mentioned above: once the ETH price is set to 0, all options behave the same.)

The cumulative methodology can work even without additional limiters such as an ETH price gate or a daily cap. However, we still suggest keeping them as safety parameters. The current recommendation is to start with ETH price = 0 and daily cap = $50,000. The proposed approach is:

Perform liquid buybacks equal to daily surplus × surplus share, when surplus > 0 and unrealised buybacks > 0, with a daily cap equal to $50,000.

Parameter values justification

Why do we need ETH price = 0?

Even though both the ETH price and the daily cap serve the same purpose, we decided to keep this parameter in order to have the ability to link buybacks to the ETH price in the future.

Why daily cap = $50,000? Historically, there were very few days when the surplus was > $50,000, but in the case of Oracle corruption, such a daily cap guarantees that we would not spend more than $300,000 (50,000 × 6 governance decision days).

7 Likes