Implement a taker fee reduction system for active traders

Implement a tiered, automated reduction in taker fees.

A potential implementation would take the 30 day moving average of an account’s volume.

The tier volume targets and fee discounts should ideally be set via param so that they can be adjusted by governance after initialization.

The result will be to make using Osmosis more attractive for institutional traders, market makers, and average users.

This would be a text proposal that authorizes and instructs Osmosis Labs to include said feature in the next possible release.

Previous discussions on a tiered system have been more around this being a perk for staking a quantity of OSMO. Trading volume may also feed in, but we have to consider how we would minimize one wallet acting as an intermediary for other trades in order to get reduced fees.

Previous discussions have also had this paired with a rise in the default taker fee. I.e. default of 0.15%, but then the tiers bring it down to 0.075% (or similar).

Without these two points addressed in the plan, I wouldn’t be in favour of this proposal as written.

Thank you for your response. to address your concerns:

we have to consider how we would minimize one wallet acting as an intermediary for other trades in order to get reduced fees.

Are you able to link me to other previous discussion on the matter? As far as I can tell this would be a concern whether the criteria is staking or volume based. Furthermore, some sort of account sharing application would have to be implemented in order to take advantage of it, which would likely involve either third party custody of the funds, or a contract to be uploaded that acts as such (which is controlled by governance).

I feel like it’s worth mentioning that it was Sunny Aggarwal’s suggestion to make it volume based.

In reference to raising the default fee, there is no objection. Would gladly implement into this proposal.

Quite right, this would be the case for the staking perk implementation too… it probably is also smart contract limited so perhaps there should be a clause just to specify that this kind of activity would have a discount voided for an address, any upload rights revoked and the contract disabled (If this is possible).

I can’t find the exact link now. The previous topics along those lines were:

and

but they don’t mention it. There was a very long argument on Telegram about taker fees that I might be mixing up with this.

Glad the raising of default would be included.

I’m wondering if a stake could be viewed as a rebate of taker fees in itself since they go to it. However the percentage discount is likely far lower than an actual discount perk.
Something like gating by both volume and stake,
E.g.
Tier 1 = 100 OSMO staked OR 1k Volume in last week
Tier 2 = 1000 OSMO staked OR 10k Volume in last week OR Both Tier 1 requirements
Tier 3 = 10,000 OSMO Staked OR 100k Volume in last week OR Both Tier 2 requirements

1 Like

I don’t recall having a previous conversation on the reduction of the taker fee yet (at least not going further than just a statement that it is worth researching).

But I agree it can be both volume as delegated amount.
Maybe we need to change from volume to fees paid (if that is possible)? Because both delegated amount or fees paid would mean that an address has contributed to the chain. Volume through very low fee pools or volume through high fee pools could be taken the same otherwise, whereas fees paid is more of an absolute which is also less easy to fool.

@LeonoorsCryptoman this is a great idea.

Using the amount of fees paid may actually be ideal over either amount staked or volume. It allows us to easily define how much we want to capture from an active trader. It would also allow us to refund/rebate exactly a percentage of the traders paid fees, instead of applying a forward looking discount.

Something like:

1k in fees paid last 7 days [1m nominal volume] - 10% rebate (protocol earns $900)
10k - 20% rebate (protocol earns 8k)
100k - 50% rebate (protocol earns 50k)

Seems more complicated ?

I find JohnnyWyles idea more elegant and meaningful from a pure user perspective.

E.g.
Tier 1 = 100 OSMO staked OR 1k Volume in last week
Tier 2 = 1000 OSMO staked OR 10k Volume in last week OR Both Tier 1 requirements
Tier 3 = 10,000 OSMO Staked OR 100k Volume in last week OR Both Tier 2 requirements

I see instantly where I stand right now. Works better with a badge system. Stake x osmo or trade x volume and get your badge.

Don’t know where I stand with the fees paid tiers.

Thank you for your response.

We must take into account the complexity of the actual on chain implementation, in addition to the user perspective. I am not 100% sure but intuitively it would be easier to track actual amounts spent in respective tokens rather than converting them all to a common unit to sum them. It would maybe be helpful for a core dev to comment on whether there is a technical approach that is favored.

The fee tiers that I had personally envisioned are at much higher thresholds than your example, on the scale of hundreds of thousands to millions in USD volume, putting this out of reach of the “average” user. Just to illustrate the point, a user trading $10k in volume in a week would be paying at most $20 in taker fees at double the current rate.

I was just pulling numbers out of a hat there, but I do think we should be aiming to make a discount, if it just a small token one, accessible to anyone who regularly trades on the exchange. Something like $5 in fees gives a 2.5% on default discount.
Actually setting these numbers would be a major endeavour though.

Also, I agree that fees should be used rather than volume.
If it is volume-based, then someone could wash trade in a 0.03% pool at a lower fee to obtain greater discounts from a 0.2% pool than their cost.

Thank you for the insightful discussion.

Given the thoughts expressed in this thread, I plan to rewrite the proposal to include the following requirements:

  • increase the default taker fee from 0.1% to 0.15%
  • create a taker fee discount/rebate system based on actual fees paid
  • create a subdao to research and set appropriate tiers for the system

As it will likely be until v24 at the earliest that such a system can be implemented, I think that there is sufficient time for a working group to be formed.

3 Likes

Looking forwards to it!

Not sure about the 0.1% > 0.15% yet, but for sure curious to how it looks like on the bigger picture.
Especially if the lower tier already gives a nice benefit.

I think 3 tiers of discounts based on how much volume you trade would likely do best. Every bit of reduction in the taker fee will result in the bigger wallets being able to hit their min trade requirements more often, and generate more trades on Osmosis.

Execution recently got a little better with reduced gas fees. Well done there. But there is still high pool + high taker fees + sometimes double pool fees applied which make a CEX a better place to trade when considering end price per unit much of the time.