CP74: Updating Transaction Fees for Pools

Good day, Community!

Uses component: CP4
Author(s): Cassidy, Imdior
Contributor(s): Lucas, Jay
Technical/non-technical proposal: Technical
Date proposed: 2023-10-11

Short Summary

Changing the Transaction Fees on the Centrifuge Chain for specific transactions to move a portion of the fee into the treasury.

High-level objective

This proposal, if passed, will change the value for different Transaction Fees for Pools and Liquidity Pools on Centrifuge Chain.

Background

Since the migration from the Stand-Alone chain, 129,157 transactions have been made on the Centrifuge Chain. The cost of the basic transaction on Centrifuge Chain is 1.1801 milli CFG (0,0011801 CFG).

With the introduction and deployment of Pools and Liquidity Pools on the Centrifuge Chain the value of transaction fees haven’t been reviewed or changed.

We propose to modify the transaction fees for pool specific transactions in this proposal. We think that the transaction fees should be updated to be in-line with the service/value each transaction is providing.

Description of Activity

This proposal introduces an additional component to the transaction fee that will be transferred to the treasury for each transaction in addition to the standard weight-based fee system that is part of any Substrate based chain.

Specific Fees to be changed

This proposal adds the fees to be paid into the treasury for these transactions as follows:

Securitization Fees
Mint (loans: create) CFG 10
Finance (loans: borrow) CFG 2,5
Repay Asset (loans: repay) CFG 2
Close Asset (loans: close) CFG 2
Modify Asset (loans: proposeLoanMutation) CFG 10
Update pool info (poolRegistry: update) CFG 33,5
Adjust pool reserve (poolSystem: setMaxReserve) CFG 7
Close Epoch (poolSystem: closeEpoch) CFG 33,5
NAV Update(per asset) CFG 0.5
Price Data Update
Pool Fees
Pool Deployment (poolRegistry: register) CFG 1500
Liquidity Pool on new network (liquidityPools: addPool) CFG 2500
Tranche on new network (liquidityPools: addTranche) CFG 1000
Whitelist investors (permissions: add) CFG 3,3
Invest (investments: update_invest_order) CFG 1,67
Redeem (investments: update_redeem_order) CFG 3,3

For each action described above, such as deployment of a new pool, repayment of assets, closing epoch etc - the CFG token will be used to pay for each transaction on the Centrifuge chain. This will impact beneficially, in our opinion, the utility of the token.

Technical Implementation

A high-level proposal of how this could be implemented technically subject to PEG (Protocol Engineering Group) review and recommendation on runtime changes to effect these changes:

  1. Create a standardized way for transactions to add a fee to be sent to the treasury.
  2. These fees should be stored in chain state such that they can be changed without doing a runtime upgrade.
  3. There should be an extrinsic that can be called by governance (democracy proposal) to update the fee for any extrinsic.
  4. The fee recipient is always the treasury account.
  5. The fees are in addition to the weight-based fees that will still apply.

Alignment to the mission of Centrifuge DAO

Introducing and additional component to the transaction fee which will be paid in CFG token will extend the token utility and will beneficially contribute to the economic sustainability, will ensure the ongoing development and maintenance of the protocol and will guarantee future development and innovation of the Protocol, as well as support other activities that are deemed to be in the best interest of the Protocol and token holders.


The RFC will be open for a minimum of 7 days.

Looking forward to any feedback and any concerns that you might have with this proposal.

Next steps

If there is support for this proposal, the next steps will be to submit it to the Proposal Repository on GitHub and create an Opensquare snapshot vote.

12 Likes

Ciao Ivan! Thanks for this RFC, it is a huge initiative in terms of more utility for the token and it shows even more “skin in the game” for everyone who brings assets into pools.

I agree that transaction fees should be updated for the moment but they should be tracked in the future as well once the price of the token appreciates/depreciates to fairly reflect the current token value and the fees for each proposed transaction

3 Likes

Thank you for this proposal. I personally welcome and support these proposed fees to extend the utility of the CFG token.

I just have two clarifying questions:

  1. Right now, when (transaction) fees are paid on Centrifuge Chain, 80% goes to the treasury and 20% goes to the block author - is this still going to apply to the proposed fees (if passed)?
  1. There is no CFG amount specified for Price Data Update fees - is that TBD or does it mean there will be no fees associated with it?
2 Likes

Good day @Rhano
Thank you for your comment.

The fee receipt for these fees will be always the Centrifuge Treasury account which is controlled by centrifuge token holders.
This was specified in Techincal Implementation - step 4:

Fees on the Substrate Chain are calculated based on different parameters:

  • A Weight fee
    • Base weight
    • Call(s) weight
  • A Length fee
  • A Tip (optional).

Example:

Securitization Fees
Repay Asset (loans: repay) CFG 2
If this proposal will be approved by the Centrifuge Community and if this proposal passes, in this case, the Issuer during the repayment of an asset should cover:
  • 2 CFG - which is the fee of repayment of asset
  • Fees of 1.1801 milli CFG will be applied to the submission

Total fee: 2,0011801 CFG

20% of 1.1801 milli CFG (0,0011801 CFG) will be directed to block the author = 0,00023602 CFG
80% of 1.1801 milli CFG + 2 CFG (100% direct to CFG Treasury) = 2,00094408 will be directed to CFG Treasury account.

Well noted. Yes, this part is dedicated to being discussed during the RFC.

To all:
All parameters, implementation, and tech parts could be discussed during the RFC phase by anyone.
Looking forward to any feedback and any concerns that you might have with this proposal.

4 Likes

Just got a chance to review this, Ivan.

I’ll just come out and say it: I love this idea

Aligning the CFG token to better reflect the cost of using the network (especially for things such as adding new pools) makes a lot of sense, and I believe it will provide added value to the CFG token itself.

When I tell people about Centrifuge, the most often asked question is “what’s the APY?” because people are so used to staking to secure a particular network. When I reply that there is no staking and that the token is primarily used for governance, many lose interest (probably because they’re only here for speculation). I can see how higher fees that are returned to the treasury will be viewed as a value-add, therefore I am all for this proposal.

Thanks for all the thought and work you (and @cassidy) put into this! :handshake:

Gratefully,

Phunky

3 Likes

Hello @ImdioR, thank you very much for your continued contribution to the community.

Do you have the data about how many Pools have been deployed in Centrifuge as far?

Is it possible to establish this CFG fees depending on the amount of liquidity in the pool? Thank you in advance.

Excellent proposal since I consider it positive for the community. :tornado:

Good day LuisG
Thank you for your questions.

Yes. So far only 1 pool was approved by Centrifuge token holders via on-chain vote - Anemoy Fund 1.

And another Issuer submitted his proposal to be onboarded via POP - New Silver 3. As i can see this pool still has not submitted its proposal on GitHub and on-chain voting nor has Credit Group published the Credit report.

Important note: All new pools will be onboarded on the Centrifuge Chain.

Please note, i`m not a Dev so in this case i leave the answer to PEG - Protocol Engineering Group - to give a professional answer here.
The transaction fees right now will be the same for all pools regardless of the amount of liquidity in the pool. In comparison with fees on ETH, these fees are much lower and they will be directed in 100% to the Centrifuge DAO Treasury wallet.

However, i think, that in case of necessity, the work logic could be extended and add calls could be added to the pallet:

  • Pool A with 10$ M TVL use fees:
Repay Asset (loans: repay_A) CFG 2
Close Asset (loans: close_A) CFG 2
  • Pool B with 30$ M TVL use fees:
Repay Asset (loans: repay_B) CFG 4
Close Asset (loans: close_B) CFG 4

However, these fees are so small, so not sure if the time requested for development and change is worth the end result right now with not so many pools on Cent Chain. IMHO (I could be wrong)

In the case of Protocol Fees (TVL), your question makes sense, because some pools such as US Treasury pools could be penalized in case of applying the same fee for a 3$ M pool and a 100$ M pool.

2 Likes

Maybe in terms of transparency, because the treasury will increase significantly once this proposal has been implemented, what are the funds from the treasury used for mainly?

Is there a :fire: mechanism planned one day to remove a part of the treasury?

Centrifuge Treasury funds could be spent on any proposal, or activity which follows and satisfies CP58 - Treasury Spending Agreement.

Right now Centrifuge Councillors based on the already reached agreement and community support can decide if the proposal should be funded from Centrifuge Treasury.
With the upcoming transition from Gov1 to OpenGov Centrifuge Councillors will be removed and Centrifuge Treasury will be in full control of Centrifuge token holders.( Any Treasury Proposal should be approved by centrifuge token holders.)

Yes, the mechanism of burning was deployed, but not implemented yet so far.
More information you can find here: Poll: Increase transaction fees and implement token burn Sept 2022

1 Like

With the passing of CP58, an agreement was made in our DAO on how to spend the funds in the treasury.

The agreement was to be conservative in our spending and not start broader grants programs.

I personally think it is a bit premature to start thinking about a burn as we just started funding it.

I think the transition to OpenGov should not be as a given. Yes, in theory focuses to decentralize the Treasury spending but only in theory.
I would pick 100 times the Council than a flood of bad requests managed by whales and under the table deals

On topic, the proposal is great in order to increase the token utility. Fully support, I’m sure the Authors and contributors have done the DD needed to come up with the numbers above.
Great job.

3 Likes

Great to CFG is getting utility in the ecosystem. Good for the community.
Thanks for the RFC!

4 Likes

What’s the thinking around making this simple and easy for Issuers, POPs, and Pools to understand going fwd?

There’s many line items, little transactions left and right…I’m thinking of some time kind of receipt/calculator that serves as a way for folks to quickly and easily get a snapshot of how much they’re paying and making it feel simple, easy, and transparent.

Have we thought about that effort as a follow on here?

2 Likes

Good day Ctcunning

If this proposal will be approved by the Centrifuge Community and token holders i think that we can definitely create some sort of Fees Calculator for the Issuer

1 Like

Thank you for submitting this RFC, @Imdior. I wholeheartedly endorse this proposal, as it establishes the fundamental framework for ensuring the network’s self-sustainability. I am optimistic that this initiative might lead to a reduction in long-term inflation.

From a technical standpoint, such an approach is indeed feasible. However, in my opinion, we should initially adhere to static fees. Subsequently, any higher fees such as Tranche deployment should adopt a dynamic structure. Furthermore, implementing variable fees may potentially discourage the expansion of the LP to additional networks in the future, especially during periods of high liquidity characterized by elevated fees.

4 Likes

Have you done any math on how much revenue it would have generated if we had these fees turned on since July 2023?

1 Like

Hi @hablabah, there is no data to support such calculations as pools were not launched on Centrifuge in July 2023 and to my knowledge, none of the transaction types defined in this proposal have been executed yet on Centrifuge Chain.

1 Like

Good evening @hablabah
Thank you for your question.
In addition to what @Rhano already said i would add that the first pool on Centrifuge Chain was onboarded only in the middle-end of September ( 18th Sep - Anemoy Fund 1) and is still not active yet.
However, the revenue generated through transaction fees is very sensitive and varies greatly depending on the type of pool and the assets in the pool.
More detailed information and quarterly/semester projections will be published in the Token Revenue model.

2 Likes

:raised_hands:Good day, Community!
The CP74:Updating Transaction Fees for Pools was uploaded on GitHub and has moved on to an OpenSquare snapshot.

The vote will be open from 24th October 09:00 CET - 31st October 09:00 CET.

:ballot_box: Vote here: CP74:Updating Transaction Fees for Pools

3 Likes