Discussion; ibXXX Peg Maintenance


Thread for ideas & discussion on maintaining & managing ibXXX stablecoin pegs on curve pools. For a full list of Curve pools see here or here which includes a discussion on pools being used.

It is worth noting that Curve pools have differing amplification coefficients (“A”), which impacts the point at which tolerance for imbalance between assets is tested. This detail can be found on the page for each pool on Curve directly.

Members of the team or community are encouraged to suggest, discuss or debate possible solutions

Background/Current Tools;

The protocol currently relies on the following tools to assist with managing & maintaining the ibXXX stablecoin pegs on curve pools;

  • The AMM at Fixed Forex which allows users access to ibXXX assets in exchange for providing USD-based stablecoins
  • Assets that control & direct (through voting) new Curve emissions to Curve pools
  • Providing additional incentives for liquidity miners seeking yield through setting weekly allowances for rKP3R allocations to pools
    • Pool allocation is determined by vKP3R votes at Fixed Forex

The Keep3r multisig has also, previously, enabled ibXXX stablecoin holders to exit via the AMM when treasury-held MIM has been available to offer. Note; this is not currently offered due to the treasury no longer holding any MIM

Potential Options;

Other protocols have faced similar dilemmas in experimenting with and finding ways to maintain the peg of their stablecoins. Although each protocol differs there are some elements of their tools, methods & solutions that may prove useful for Fixed Forex peg (albeit with suitable variations).

Keep3r also has the unique challenge that it is attempting to maintain peg across 6 stablecoins (ibEUR, ibCHF, ibGBP, ibAUD, ibKRW, ibJPY) whereas most previous protocols have been working towards maintenance of peg on a single stable asset

Price Stability Module (PSM);
Most famously popularized by MakerDAO’s implementation of a PSM to support 1:1 swaps between USDC & DAI (and visa versa) at a fixed fee

References/Useful Links;

Tight-Range UNI V3 Managed Position;
Again, most famously popularized by MakerDAO’s implementation using ERC-20 wrapped tight-range Uni V3 positions which also incorporates the ability for users to leverage their position to loop the position. Users earn fees based on utilization of the Uni pair within the ranges defined

References/Useful Links;

Algorithmic Market Operations (AMO);
Implemented by FRAX Finance & Angle Finance in support of their FRAX USD and agEUR EURO stablecoin tokens. Each team is deploying unique strategies that seek to maintain peg of the token & simultaneously earn additional fees on behalf of the protocol

References/Useful Links;

Treasury Intervention / Protocol Owned Liquidity (POL);
Both methods have been used by Keep3r in the recent past to help support the peg of assets in Curve pools.

  • Treasury intervention is where the Keep3r treasury acquires the relevant asset, through purchase or swaps, and then;
    • either enters the LP on the imbalanced side (at which point this becomes POL) OR;
    • swaps between the LP in an attempt to rebalance

Note; This requires a dependency that the treasury has liquid funds available to enact these measures

Once a protocol achieves a POL through purchasing LP position then all fees earnt on those LPs are returned to the protocol treasury as profits, including any incentives claimable to the LPers in pool

References/Useful Links;

This is the categorization for any other proposed solution that can maintain the peg within Curve pools. This definition may contain new innovations proposed by members of the community or other methods utilized by other protocols that have not been otherwise noted above

Directions for suggesting additional opportunities to maintain peg

Please use the comments section below to add any new suggestions, or to debate any suggestions proposed by other community members.

It would be helpful if you could indicate which of the categorizations of peg maintenance type, from the list above, applies to each suggestion.


Suggestion for AMO strategy on agEUR pool

This suggestion would fall into the area of Algorithmic Market Operations (AMO) and could be processed either as a manual experiment or an automated task managed through a Keep3r Job listing, triggered only when the agEUR+ibEUR pool is off-balance

In theory, this AMO strategy should be complimentary to ANGLE’s own AMO strategy for Euler


AMO strategy would follow the proposed steps;

  • Deposit USD collateral with Euler > taken from USD collateral holdings (earning 1% on USDC for example)
  • Borrow agEUR - borrowing cost is negligible since profits would outweigh the cost, and borrowing has the potential to be offset by EUL incentives
  • Deposit into curve agEUR+ibEUR pool earning bonus
  • Deposit LP with Curve or Convex earning; CRV (& CVX), ANGLE, rKP3R & base fee
  • At a future point, where pool balance has been maintained withdraw LP position on even sides, assuming the minimum borrowed amount of agEUR is met, and redeem profits

Note; ANGLE has their own AMO strategy that would limit the amount of risk Keep3r would be exposed to on borrowing rates - as ANGLE ensures the borrowing rate of agEUR on EULER remains below 3% at all times up to a limited whereby 10% of agEUR circulating supply is minted for the purposes of maintaining the borrowing limit (see references)


  • Should peg maintenance strategy paired with consistently incentivizing the pool not attract additional TVL then Keep3r may get stuck in a constant or unfavorable borrowing cycle therefore a time or value threshold that acts as a circuit breaker should be established at the onset
  • This could further impact in the case that there is not enough total agEUR in the pool to withstand the AMO withdrawal of LP position then Keep3r may have to fund the acquisition of the required volume of agEUR from additional sources
  • Unlikely to work as a strategy in isolation, i.e. without other peg maintenance strategies being implemented on other ibXXX pools

References/Supporting Materials;

1 Like

Keep3r could do this with sXXX pairs in theory however would need to become comfortable with ibXXX then essentially becoming a wrapper for sXXX assets. This could be managed whereby there is a hard limit or a target level of circulation of ibXXX supported in this way.

Some additional thoughts;

  • Could utilize the UNI V3 managed position product that Andre originally envisioned, rather than the Arrakis G-UNI product, with a little further dev efforts - this would save Keep3r the fees that would be due to Arrakis
  • Would require a lending/borrowing protocol to be prepared to allow the deposit of UNI V3 LP positions wrapped as ERC-20 in order to borrow against it at leverage
  • The input vault/front end (recommended to be hosted on FixedForex.fi if solution is credible) would need the ability to switch feature on/off based on need, so that level of sXXX wrapped doesn’t exceed thresholds/limits (see above)
  • Since sXXX are always valued at fiat oracle pricing, it would be sensible for the range positions to be adjusted slightly in configuration when compared to MakerDAOs config with USDC
1 Like

Does not the UniV3 tight position need to be isolated so that when the price does approach danger zone, that there is no way further the damage without facing heavy slippage.

ie. If there is a curve pool, will not the bad price beg of these, just cause the UNI pool to be arbed into off peg zones anyway?

the issue with the peg, is that agTKN and sTKN holders don’t add to the pool. perhaps, an alliance of tokens that build a large pool with all 3 and that is incentivized with all three, as well as veCRV/vCVX voting power, might be the way to approach this.

ibXXX are not in short supply.

alternatively, but of lesser validity would be the incentiviaztion of the withdrawal of ibXXX to be used elsewhere.

perhaps getting them listed as collateral in more places.

Hey @Ceazor,

Great to see your inputs / thoughts. Some quick responses;

This is why Maker team is running two different UNI positions and also the PSM (actually encouraging users to arb when it suits them to restore peg), although downside is it means it basically wraps the paired asset - i.e. a lot of ibXXX collateral would be sXXX version of asset.

This is a really valid point, and don’t know if you have seen the other post here?

Today ibXXX isn’t accepted as collateral in ANY markets, partly because of the way risk is managed in relation to the listings on Iron Bank and the relationship with Fixed Forex as the minter. But a good first move here could be Euler, since it would also enable wider availability. Alongside that it would make sense probably to list more sXXX assets for supply and borrow in Iron Bank, and work towards getting sXXX assets on other lending markets like Euler & AAVE too. The problem today is access to sXXX assets is very complex for average users and the staking and minting process is sort of a barrier to entry, then you add in need to exchange sUSD for sXXX.

One way to overcome that is have both Keep3r & Synthetix teams play a more direct role in minting as is, in current process, and then use it for purposes of raising revenues for both teams. Synthetix would also get more revenues if the Fixed Forex AMM was updated to allow atomic exchange between all assets.

The other is to make availability of sXXX more widely available through the lending markets & on exchanges, which requires some Collab between both teams but would bring ease of access to users (especially retail). That would also open up the possibility for AMO functions too. Today you can’t really profit of of depeg because it’s you have to atomic exchange into sXXX in order to enter pools on that side or run big enough swaps through to rebalance

1 Like

It also may be a better consideration to look to do an option like this with EUROC from Circle since it’s then a kind of Euro version of what DAI-USDC is doing in the world of Maker