Discussion and Temperature Check on Sundae v3 Fee Structure

Hello Sundae DAO Community!

Context

This is the first in a series of discussions / temperature checks as we approach the launch of the Sundae v3 smart contracts. We’ve been hard at work on these new contracts, building what we think is the best protocol, as it would be very hard and inefficient to design the whole protocol “by committee”.

However, we’re at a critical juncture where there’s still an amount of flexibility to change things, and some important decisions to be made about initial protocol parameters, and we wanted to seek validation / input from the DAO community about these decisions.

Note: You might ask, “Where are the v2 contracts?” Given the UI rewrite we did that was labeled as v2, and the second set of Plutus contracts we wrote but didn’t deploy, we’ve decided to call these contracts the v3 contracts to avoid confusion.

Background

For those who don’t know, Sundae v3 is a new set of smart contracts, with a focus on scalability (we’ve benchmarked the scoop sizes at 25 orders per batch, compared to the 2-4 orders per batch in v1) and extensibility (we want it to be possible to “add” new pool types to the protocol easily).

That scalability comes from switching to Aiken, and this gives us an opportunity to revisit the fees collected as part of each trade.

The more efficient contracts, and the larger batch sizes, mean that we can, in theory, dramatically reduce the fee while still covering the infrastructure costs for the scoopers. This could be pushed lower still by voting to use the new sources of income such as staking rewards to subsidize those infrastructure costs as well.

Lower fees would benefit users of the Sundae platform, and potentially attract more trade volume, and thus more TVL, to the protocol. Especially in a landscape dominated by dex aggregators, which search for these savings on behalf of users and puncture through “platform tribalism”, being competitive in the fee department could be an opportunity to attract a lot of attention to the new Sundae v3 contracts.

However, there’s also a growing sentiment in the Sundae community to establish some sort of protocol income, which can be used to pay SUNDAE token holders.

So, we (i.e. members of the DAO) need to decide what balance between protocol income, protocol incentives, infrastructure costs, and competitive fees we would like to strike.

How fees work in v1

In the v1 contracts, the user sets the fee they would like to pay in the datum; this has always been set at 2.5 ADA, and any fee lower than that is ignored by the scoopers. This 2.5 ADA is collected, used to pay the cardano transaction fee, and the remainder placed in a time-lock smart contract to be aggregated later and paid out to the scoopers.

As part of that aggregation, up to 20% of the collected fee is lost due to transaction fees.

So in practice, out of a 2.5 ADA fee, a scooper could be actually earning as little as 0.95 of that.

How fees work in v3

In the current implementation of the v3 contracts, protocol fees are dynamic, and split into two DAO-controlled parameters: The “base fee”, which must be collected for the protocol as part of each scoop, and the “incremental fee”, which must be collected by the protocol from each order.

The “base fee” gets shared among all participants in the scoop; so if there is just a single order, they pay the whole base fee, but if there are 25 orders in a batch, they each pay 1/25th of that fee.

The “incremental fee” is then paid by each user. The total fees are then collected into the pool itself, and can be paid out to the scooper in a large batch, removing the 20% overhead on fee collection that scoopers are currently paying.

The surplus of any fee allocated to the order that isn’t collected by the protocol is returned to the user as part of their swap. This is enforced by the smart contract, and not something that a scooper would have a decision in.

Staking Rewards

Additionally, it has always been the intention for the ADA held in the SUNDAE protocol to be staked, and for the DAO to vote on how those staking rewards get distributed. Due to a subtle bug that wasn’t noticed until after we launched, this hasn’t been possible.

The new contracts ensure that the staking address on a pool can be set, managed by a treasury administrator beholden to the DAO (for example to balance that delegation across multiple single pool operators), and withdrawn into a protocol treasury.

At the protocol’s current TVL of 20m ADA, that would represent roughly an additional 800,000 ADA in income a year (assuming a 4% staking return).

This ADA could be delegated to single pool operators (Sundae Labs’ recommendation), or it could be delegated to scoopers to help subsidize their infrastructure and reduce those fees even further.

As an aside, another question we intend to raise in the coming weeks is whether we should hold an election for a new set of scoopers. The existing scoopers have all served admirably, and we haven’t heard many calls from the DAO to replace them. However, the new contracts may lead to an increased interest in shaking up that cohort.

Comparisons

As a worked example, lets consider a typical “full” scoop with 4 orders currently (in theory, a scoop can be up to 8 orders, but in practice, in order to process orders on a “first-come-first-serve” basis, this needs to be cut in half)

(2.5 ADA * 4 - 1.3 ADA) * 0.8 = ~7 ADA per batch.

In order to make the same return to cover infrastructural costs, the combined per-user fee for a full batch could be as low as:

(7 ADA + 1.3 ADA transaction fee) / 25 = 0.332 ADA.

Similarly, for a “single order batch” (which are currently, unfortunately, the most common), this represents 0.96 ADA of income for the scoopers: (2.5 ADA - 1.2 ADA) * 0.8.

A single-order scoop in the v3 contracts currently has a transaction fee of 0.33 ADA, meaning that to produce the same income, the total fee would need to be 1.292 ADA.

Solving for choices of base fee and incremental fee that give these incomes can be seen here:

For example, a base fee of 1 and 0.292 would produce roughly the same income to cover infrastructural costs as the v1 protocol. At that rate, a user would never pay more than 1.292 ADA in transaction fees, and if volume against a given pool was very high, would actually pay closer to 0.34 ADA per order.

Conversely, if we left the protocol fees roughly the same as they are now (0 base fee, and 2.5 ADA incremental fee), it would result in between 1.2 ADA and 54.2 ADA per batch of additional income for the protocol, above what the scoopers are currently making, that could be directed towards protocol enriching activities that the DAO decided on.

Decision

The above analysis shows a general minimum that we can target if we would prefer to attract volume and TVL to the DEX, but would leave little room for incentive programs, nor would it produce any income for the protocol itself. Ultimately, the long term health of the protocol is dependent on eventually being able to derive revenue in a decentralized way that can invest in further development, incentive programs, protocol liquidity, etc.

So, that’s why we need your input:

  • What are your opinions on this new fee structure?
  • What methodology would you use to decide on these parameters?
  • What would you set these two parameters to, using your methodology?

We’ll foster discussion for a few days, and then collate the most popular options and turn it into a temperature check and a governance vote following the normal approved governance procedures!

4 Likes

My personal thoughts, as Pi, are that it could be interesting to offer a very low protocol fee for the first 3 months, to give the community a chance/incentive to try the new contracts, attract volume, and then TVL. Then the DAO can evaluate raising that fee to something that is competitive with the rest of the landscape.

5 Likes

As a scooper, active user of the protocol, and wallet provider (with aggregator integration), I would love to see a good middle ground for the fee structure. Once the volume picks up, the income could be quite high for the protocol and the scoopers. The staking rewards (currently roughly 3%, not 4%) would get a good additional income of < 600k ADA in one year, countering the current downwards trends of SUNDAE due to emissions.

The lower fees could also be a good argument to attract more Yield Farming liquidity from projects. Currently we only have NMKR as an additional token emitter, which is a shame.

I agree that a fee months of low fees could attract volume and liquidity, I’m all for it.

Overall I’m very much looking forward to the v3 upgrade.

//Marcel [eternl.io][TITAN]

4 Likes

As a user I’m excited for V3. I would even be in favor of a middle ground fee rate because I think the protocol deserves to earn revenue so that it funds the development of revenue generating products, because that will take time and energy to deploy. I think once SUNDAE staking comes online, people are going to eventually want to know what’s next, and having a treasury that’s been accumulating ADA until something concrete has been decided is more useful than not having the funds at all. But either way, I’m excited for these changes as it sounds like this is a huge quality of life change for users too since more transactions are going to be processed.

3 Likes

One thing that came up when I was discussing with someone else:

The DAO could even decide, a priori, what these levels would be. So we could vote to set the fees to the minimum for 3 months, with an automatic raise to some reasonable level. Then, in the UI, we display this as a discont: the fee would usually be Y, but you’re getting a discount for trying it out early.

1 Like

“there’s also a growing sentiment in the Sundae community to establish some sort of protocol income, which can be used to pay SUNDAE token holders”. This quote highlights the importance to continue building up the the sundae token utility. The new voting mechanisms is a start, revamping the fee structure and working on generating protocol revenue are the ideal next steps. I definitely believe in generating revenue for the protocol which can be used to pay sundae holders who stake sundae.

Now increasing the TVL and bringing in volume can be done by decreasing fees. If that can be done by using the ADA staking rewards from the protocols TVL. I am referencing “or it could be delegated to scoopers to help subsidize their infrastructure and reduce those fees even further”

So combining the fee structure and staking rewards would be great for sundae holistically.

I do wonder if we decide on the ada staking to reduce the fees overall, would that mean we tweak the fee structure again because we have the staking rewards implemented (Unless we’re voting on the fee structure and staking concurrently) ? Also what happens if the ADA TVL increases even more thus generating more staking rewards? Is there a dynamic algorithm that takes that into consideration?

Im going to ponder more on the methodology and parameters and then post my thoughts on that too

So, specifically, the way it works in the current implementation is:

  • What was previously categorized as “scooper rewards” is now categorized as “protocol fees”
  • The DAO can select a “treasury administrator”, “treasury address”, a list of approved “staking addresses”, and an “allowance percentage”
  • By default, we will also provide a staking script that can be compiled into N different staking addresses for the list of approved staking addresses
  • The treasury administrator is allowed to update the staking address on any pool to one of the allowed staking addresses, for example to rebalance the stake across multiple stake pools
  • The treasury administrator is allowed to withdraw any protocol fees into the treasury address, which is a DAO controlled smart contract
  • The staking script above will default to only allowing the treasury administrator to update the stakepool, and only allowing staking rewards withdrawals if they are paid to the treasury address
  • In both of those withdrawals, the treasury administrator is allowed to direct the allowance percentage to a different purpose; this allows the DAO to set a “budget” that can be used to pay infrastructure costs like paying the scoopers; for example, maybe the scoopers get 20% of the protocol fees, or some other such threshold.
  • The remainder goes into the treasury address, which can only be spent from an actual on-chain DAO vote.

So, the long and short is, income from trading and income from ADA staking rewards both represent protocol income, which the DAO can vote on when and how it’s used. Off-chain, we can tell where it comes from, so we can calculate how much came from volume against which pools, and how much came from staking rewards, if we want an incentive structure that factors that in, but on-chain it doesn’t keep them separate.

We’ll have a separate DAO decision to decide on who the treasury administrator is, what the initial allowance is, etc. And yet another to establish some kind of incentive structure to pay out ADA from the treasury.

But that ultimately derives from what our choice on what to set the fee to is: if we set it to the minimum, the allowance should probably be fairly high, and if we set it higher, we can lower the allowance, etc.

2 Likes

now this is sensible!

Looking forward to the better fee structure of v3. More liquidity needs to be attracted to the protocol so this should be a positive improvement. As a scooper I am ok with collecting less fee per scoop if it translates to a larger volume of scoops on the platform.

It must also be very exciting that you will finally be able to stake all that ADA and increase the treasury. Will you (or the DAO) also be able to use those ADA to vote on Catalyst proposals? (I know this is slightly off-topic but am just curious).

It depends on whether Catalyst has a mechanism to allow scripts to vote.

One thing to consider that I haven’t seen discussed, especially regarding income generation for the protocol, is aggregators. DexHunter, according to their own numbers, have facilitated more than 50% of the volume in recent days. With DH growing quickly and new aggregators launching soon, it is becoming more important for DeFi protocols to provide the “best deals” to attract volume over the best features.

I don’t have an answer–and will continue to think about it–but that feels like an important factor that hasn’t been discussed yet.

Yes, that’s exactly the point I was trying to make, though the difference that can be made by the fees alone is somewhat small.

One of the scoopers I was talking to brought up the idea of doing a loyalty based rebate; i.e. collect a normal fee, and then use Sundae Rewards to distribute a discount to anyone with more than X trades per week, which I think is really interesting too.

2 Likes

heh, just saw the paragraph specifically regarding aggregators. Not sure how I missed that one…

While I think the loyalty rebate is interesting, I don’t think that’s the right path to go down. The benefit from using an aggregator to optimize trades will almost certainly be greater than any fee rebates for any specific platform.

It seems like low cost high volume is the strategy as it will take advantage of aggregators as much as possible.

Unless the aggregators factor the rebates in to where they direct trades. The idea behind the rebates would be that by concentrating it with the most consistent volume, you can make them more attractive, because you’re splitting the same money among fewer people.

Hi y’all

I run Sundae Swap Scooper infrastructure for Kiwipool Staking

A few comments to add:

Re-iterating what Marcel mentioned, staking rewards are closer to 3% than 4% currently and expected to be closer to 2.5-2.75% by around Aug 2024

I’m not sure it’s necessary for pool LP funds to be delegated specifically to scoopers. By the same token, I don’t think it should be a proviso that these funds are delegated only to “single pools”. IMO, the net should be cast wider to include any reliable stakepool operation (including pools run by scoopers) that has a well established track record of serving the Cardano ecosystem

Regarding fee structures, it’s pretty clear that there’s a balancing act between keeping Sundae afloat and sustainable long-term whilst also keeping fees as low as possible for user/customers, and of course, viable also for scoopers to be able to maintain suitable operations to keep the machinery greased and performant. I’m for anything that keeps costs low for the user/customer - which will hopefully grow the user/customer base - whilst also being viable long-term for Sundae and Scoopers. There’s obviously a bit of crystal ball gazing to determine how much extra business might come the way of Sundae if Sundae were the ‘pack leader’ (or one of the most competitive) in the next generation of Cardano DEXs. Not to mention forecasting of increased business from new tokens or increased demand for DeFi with increased adoption and improved market conditions.

If the option became available to modulate fee structures based on macroeconomic or other conditions then this option may be worth investigating

Regarding scooper cohorts. The Scoopers have committed a HUGE amount of time testing and dialling in their operations in order to achieve as performant a network as possible. Should a new cohort take over then there will be well over 50 years of combined scooper experience lost to Sundae

I would instead propose that the DAO community be consulted on whether there is any need or interest to chnage the current number of scoopers. Originally 30 scoopers were elected as Sundae ISO pools and Scoopers. Currently, there appears to be between 21 and 24 viable scoopers. Some of the scoopers that are no longer scooping (or sporadically scooping) may have shut down operations or just haven’t, for whatever reason, maintained a viable scooper operation. So is it worthwhile to get this number back up to 30?

Running a performant scooper operation can be an expensive operation and one that needs to be easily scaled up and down to suit market conditions. It’s a delicate balancing act matching infrastructure to DEX volume to achieve optimal results in the prevailing market conditions.

In summary, any new fee structure should strike a balance between providing sufficient incentivization for scoopers to run reliable and performant operations whilst having a primary focus of keeping costs as low as possible for end-users/customers. I’m looking forward to seeing how the latest generation of Sundae code, including Aiken, impact on Sundae transaction processing and especially against other DEXs.

1 Like

Thanks for chiming in!

Would you or any other scooper be comfortable sharing a ballpark estimate on what the scooper payment needs to be to make it worth-while to run the infrastructure and keep everything going smoothly?

Regards,
Pi Lanningham

Our costs are minimum $130-$150 USD/month. That’s just the bills, not including the labor.

Our current ‘baseline’ operation consists of a combination of cloud and baremetal servers costing around USD$200-300 per month to operate. This excludes labour resources

In times of high demand and/or Cardano network congestion we have scaled up our server infrastructure significantly above baseline in order to efficiently service high Sundae transaction demand. I believe most scoopers have a similarly flexible approach. It is therefore not possible to give a blanket answer to cost as cost will change with market and network conditions

Thanks, understood on the flexibility, but it’s good to have a baseline, and for the Sundae community to understand that things aren’t free :sweat_smile:

Seems like discussion on this has died down a bit, so I’m going create a temperature check with four options:

  • Minimum fees for 3 months, then upgrading to match the cheapest competitor
  • Match the cheapest competitor from the get go, with no plans to change
  • Target the average of all competitors
  • Use a fixed 2.5 ADA incremental fee, to match the v1 behavior

Keep in mind this can all be updated by the DAO later, but having an initial setting endorsed by the DAO will be a huge boon.

1 Like