SCCP-307: Thales - Create Pool and register Market

cyberduck, Cavalier

Simple Summary

Create a Thales Pool and register the Thales Market on Synthetix v3, enabling SNX LPs to gain exposure to Thales and Overtime AMMs and their respective yields.


Create a new v3 Pool, “Thales Pool”, controlled by Thales treasury, in line with SIP-302:

  • createPool(7,[ThalesPoolOwnerAddress])
  • setPoolName(7, “Thales Pool”)

Register a new v3 Market, “Thales Market”, to be collateralized by the Thales Pool:

  • registerMarket([addressOfNewThalesMarket])
  • setMarketMinDelegateTime = 2 weeks
  • minimumCredit = capital utilization rate of underlying AMM * amount deposited to the AMM by the v3 market

The Thales Market will leverage sUSD credit against the Thales Pool collateral, despoit it into the underlying AMMs as an LP position, and periodically distribute yield or loss back to the Thales Pool.


The proposal aims to connect Synthetix v3 LPs with Thales and Overtime AMMs, which have demonstrated strong historical yields:

  • Thales AMM: 9.27% lifetime yield over 16 weeks
  • Overtime Singles AMM: +51.89% lifetime yield over 25 weeks
  • Overtime Parlays AMM: 7.89% lifetime yield over 11 weeks

The Thales Market will act as an intermediary, drawing from the Thales Pool and distributing collateral to Thales and Overtime AMMs based on configurable weights. This setup will mitigate front-running risks by exposing collateral to all Thales and Overtime AMMs.

At any given time, a keeper can invoke a rebalance function to:

  • Assess credit capacity delta and signal deposit or withdrawal intentions to the Thales AMM.
  • Collect yields, withdraw from Thales AMM, invoke depositMarketUsd on the v3 core system, and deposit the yield to the Thales Pool.

Copyright and related rights waived via CC0.