Summary:
Proposal to allow any eligible pool to be used permissionlessly as a basepool for Stableswap-NG metapools.
Currently, only “whitelisted” pools can be used as basepools. Additional pools can be added to the whitelist by vote using the admin-only method add_base_pool in the Stableswap-NG factory. Currently, the following pools are whitelisted: 3pool, FraxBP (FRAX/USDC), wBTC/sBTC, FRAX/USDP, FRAX/pyUSD, 3payLLama (pyUSD, crvUSD, FRAX), PayPool (pyUSD/USDC)
The proposal is to remove the admin-gating on this method by deploying a new admin contract that allows this method to be used permissionlessly. This will also entail some UI updates to support the new functionality.
Motivation:
This proposal aims to make pool creation as permissionless as possible. Currently, launching new basepools requires a cumbersome governance process (see FraxBP proposal) which may deter novel developments and arguably favor incumbents. Allowing permissionless basepools can significantly broaden the pool design space by removing these hurdles.
The initial logic behind basepool whitelisting was to prevent liquidity fragmentation away from 3pool. However, additional whitelistings have shown that whitelisted basepools do not automatically become liquidity sinks. Rather, their TVL seems to be market-driven in the same manner as typical pools.
With whitelisting removed, new stablecoin issuers are likely to continue to use currently preferred basepool to benefit from their large and generally “sticky” liquidity. However, removing the whitelisting restriction will facilitate novel developments for those wishing to implement new approaches, and allow market forces to dictate new basepool preferences if they arise.
Finally, it is worth noting that the current whitelist procedure can already be circumvented by using an LP token as a pool asset and using its virtual price as an oracle. However, this approach would not benefit from the clean UX of “proper” metapools, since users would have to manually trade and deposit/withdraw to/from the LP token.
Specification:
This proposal requires deploying a new admin contract that allows the add_base_pool method to be used permissionlessly. Other method safeguards (no rebasing tokens, no native tokens) would be retained.
If this “temp check” is received favorably, the specific implementation will be prepared for review and formal vote. Any necessary UI updates would be prepared by the Curve UI team.
For:
Makes metapool creation more permissionless and flexible
Against:
May pull liquidity away from current basepools