Spot v5.0 Upgrade

This is a proposal to upgrade the Spot contracts with the following functional improvements. Broadly, these aim to improve the efficiency, predictability, and scalability of the Spot ecosystem.

1. Decouple Enrichment/Debasement from Rotations

This change creates a clean separation between rotations, the process to keep tranches fresh, and enrichment/debasement, the funding rate mechanism that keeps the system in balance such that there’s enough free capital to execute rotations.

With this update, tranche rotation always happens at a 1:1 conversion with respect to the underlying value. In addition, enrichment/debasement takes the form of direct & lossless transfer of value from one side to the other. This allows the funding rate to execute on its own schedule, for example daily. Moving from a weekly cadence to a more frequent one smooths out the application of this mechanism and makes the user incentives clearer and more predictable.

This decoupling is especially important in scenarios where DR is very low and rollovers are undersubscribed. Previously, when the two operations happened together and rotations were not fully executing, enrichment/debasement would also not fully execute in the times when it was needed the most. This change ensures that enrichment/debasement value transfer can always happen, no matter the system state.

2. DR-based fees

The fee system has been unified and made a function of DR. If a user performs an action that pushes DR farther away from 1, the fee will be higher than for an operation that moves DR back closer to 1. This aims for, as much as possible, the full system cost of an operation to be incorporated into the cost to the user for that operation.

The fee curves have the same structure as what’s used by Bill Broker. Fees on operations that bring DR closer to 1 can be made very low or free. Beyond a certain point, fees begin increasing linearly as DR gets pushed farther from 1.

See below for the proposed fee curves.

3. Fees Directed to stAMPL holders

All fees go towards stAMPL depositors, who hold the Jr (most equity-like) positions. stAMPL depositors hold the most upside and also the most risk. A healthy stAMPL vault helps the whole system run and scale more efficiently.

4. Pair Minting & Redemption of SPOT/stAMPL

Users may now mint and redeem SPOT and stAMPL together. This makes it easier to manage positions that stay closer to a 1x AMPL exposure while decreasing the amount of bare tranches that must be handled.

5. Bill Broker Support for Negative Fees

Previously the bill broker swap fee curve was a piecewise linear function with 2 segments. This change makes it a piecewise with 3 segments, as shown in the image below, and now supports negative fees.

Negative fees allow the Bill Broker to maintain a smaller spread and remain in the market, even when the asset ratio gets far away from 50-50.

Audit & Code

Audit by Peckshield can be found here.

Implementation

Proposed Configuration

Enrichment/Debasement

Parameter Value
debasementLag 15
enrichmentLag 10
maxDebasementRate 0.05 (or 5%)
maxEnrichmentRate 0.05 (or 5%)
minDebasementRate 0.005 (or 50bps)
minEnrichmentRate 0.005 (or 50bps)
drEqLower 0.95
drEqUpper 1.05

SPOT Fees

Parameter Value
drEq [0.95, 1.05]
feeDown [[0.66, 0.15]*, [1.05, 0]]
feeUp [[0.95, 0], [4.0, 0.5]]

*Original proposed fee down @0.66 has been decreased from 50% to 15%

Bill Broker

Parameter Value
arSoft [0.75, 1.33]
arHard [0.2, 5]
bidFeeFactors [1.05, 1.5]
askFeeFactors [1.05, 1.5]

Charm SPOT/USDC Vault

Parameter Value
concBandDeviationWidth 0.2 (or 20%)
activeZoneDeviation [0.8, 1.2] (+/- 20%)
6 Likes

I appreciate the more aggresive fees and incentives. I think previously they were too weak to trigger a reaction in the market - this is supported by 2 and a half years of existence so far in the market. I think it is time to rip off the bandaid with more aggresive incentives so that Spot and stAMPL can gain adoption and bootstrapping.

I am in favor of this proposal.

I’ve only seen support for moving forward, so this is moved to the onchain vote here:

Voting starts in ~2 days

2 Likes