Ahead of the NEST onchain vote, expected after Vote #203, this post shares remaining parameters and an intent of a change to the launch plan.
tl;dr
- The team proposes that the launch mode is treasury-only, not LP. Snapshot vote approved launching in LP mode, but challenges that surfaced during development put that path in question, so the Aragon vote will propose launching in treasury-only mode, with backed LDO transferred directly to Treasury.
- The Curve LDO/wstETH pool is deployed. Parameters published below, per the LIP-36 commitment.
- LDO/wstETH pool potential EMA deadlock was mitigated via NEST implementation, with
poolBootstrapMinTvlUsdset to $250,000.
Details
1. LDO/wstETH pool deployment
Despite the shifting market, the workgroup kept both directions open until the DAO vote: the pool was deployed as committed in LIP-36. Enabling LP mode later needs no additional deployments.
The Curve LDO/wstETH TwoCrypto-NG pool is deployed with following params:
| Parameter | Value |
|---|---|
| Pool address | 0xD7f1dA0a28E39dd0dB70E6Acdc2B49846AD22760 |
| Name / symbol | Curve.fi LDO/wstETH · LDOwstETH-f |
| Coins | LDO (0x5A98…1B32) / wstETH (0x7f39…2Ca0) |
A |
400000 |
gamma |
145000000000000 (0.000145) |
mid_fee |
500000 (0.005%) |
out_fee |
5000000 (0.05%) |
fee_gamma |
230000000000000 (0.00023) |
allowed_extra_profit |
2000000000000 |
adjustment_step |
146000000000000 |
ma_time |
601 (seconds) |
initial_price |
8075081795329464726918 (~8,075.08 LDO per wstETH) |
| Factory | 0x98EE851a00abeE0d95D08cF4CA2BdCE32aeaAF7F |
| Pool implementation | 0x934791f7F391727db92BFF94cd789c4623d14c52 |
| Math implementation | 0x1Fd8Af16DC4BEBd950521308D55d0543b6cDF4A1 |
| Views implementation | 0x07CdEBF81977E111B08C126DEFA07818d0045b80 |
| Factory admin | 0x97aA696e37659Fb4f0B53824246d802Df40E980A |
| Fee receiver | 0xa2Bcd1a4Efbd04B63cd03f5aFf2561106ebCCE00 |
2. LDO/wstETH pool EMA deadlock mitigation
The pool starts empty, so its EMA price oracle stays fixed at the deployed initial_price until trades happen. NEST normally blocks LP deposits if this EMA diverges too far from the Chainlink-based OracleRouter rate.
That can deadlock an empty pool (no liquidity → no trades → no EMA updates). To break the loop, the divergence check is disabled until TVL reaches poolBootstrapMinTvlUsd ($250,000). TVL is measured in USD at oracle prices, and deposits are bounded by minDepositValueUsd/maxDepositValueUsd, so the maximum unguarded exposure during bootstrap is the threshold plus one capped deposit. This only matters in LP mode and is inactive at launch.
3. Launch mode: treasury-only
NEST sells a limited amount of DAO-owned stETH to acquire LDO (via Stonks v2 / CoW Swap) and then either
- Treasury mode: routes 50% of the surplus in acquired LDO to the treasury
- LP mode: split 50% of surplus into LDO and deposit it into the LDO/wstETH Curve v2 pool. It is a rules-based mechanism for surplus conversion and improving liquidity depth.
Snapshot approved and launching in LP mode, but development issues surfaced that make it a poor default for day one. We therefore propose launching NEST in treasury-only mode while keeping LP mode ready for later enablement.
Enabling LP mode later is a single onchain action: point the executor to the LP-mode Stonks instance via BuybackExecutor.setStonks (no redeployments).
The issues fall into two buckets:
- Current Market
Further modeling has weakened the case for LP mode at launch. The workgroup concluded that pool-deepening liquidity occurs only in a specific scenario: a sustained joint uptrend in LDO and wstETH. Also, the pool is small relative to existing LDO trading venues. With the upside this conditional and this thin, the launch-configuration choice is no longer a settled call for LPs. - Security consideration
There is no audit report covering the exact version of Curve TwoCrypto-NG code deployed onchain. Launching in treasury-only mode keeps DAO funds out of the pool until this is resolved, while still allowing the buyback mechanism to run. For scale, all ~1k bytecode-identical pools that live today hold about $5M in combined TVL, less than NEST’s $10M yearly cap.
4. Sizing and guard parameters
LIP-36 committed to publishing minSpendPerCallUSD, the pool guards, and the order and deposit bounds before the onchain vote:
| Parameter | Value |
|---|---|
minSpendPerCallUSD |
$1,000 |
minAllowedOrderAmount / maxAllowedOrderAmount |
1 / 20 stETH |
poolPriceDivergenceToleranceBps |
200 (2%) |
poolBootstrapMinTvlUsd |
$250,000 |
minDepositValueUsd / maxDepositValueUsd |
$1,000 / $50,000 |
The pool guards and deposit bounds apply only under LP mode and stay dormant at launch.
Next steps
- The final audit report of the NEST contracts will be published in this thread as soon as possible.
- List of onchain vote items will be published to this thread as well.
- Onchain vote to launch NEST in treasury-only mode, targeted after the Staking Router v3 release.
сс: @cp0x @Kuzmich @batuX @Leuts @Lanski @polar Please, let us know if you have any concerns on launching parameters, including Treasury mode.