[Proposal] Fixed transaction price: USD 0.01

What am I proposing?

The proposal changes the value of transactions from 0.0001 ICP to a fixed value in USD $0.01 (or equivalent in current cycles so as not to take the USD as a reference). In each transaction the equivalent of $0.01 would be burned

Why am I proposing it?

Because I think that we must help reduce the impact of inflation in bear markets, in addition to helping to make the cost of the transaction more consistent regardless of the price of the token.

(I want to thank @smaug, (Scaling Transaction Fees) @THLO @diegop and @bogdanwarinschi for encouraging me to share this simple idea, although I think dfinity thought of everything and such a simple idea would seem like a joke compared to all the research out there on the price of a transaction but maybe it’s not such a bad idea)

Balance

Why can such a simple proposal work?

More complex ideas may come up related to dynamic cost values ​​or cycle costs (I thought of more complex options), but I’ll leave all of that because I think keeping tokenomics simple and transparent serves us all. Fiat values ​​are easy to understand and everyone measures everything in fiat values.

What impact does it have on current applications?

Basically the impact does not exist, since the transactions of any app need to increase exponentially for them to have an impact (possibly positive).
We must also reflect that at prices of $100 per ICP it would be exactly the same scenario.

What impact can it have in the long term?

The impact at current values ​​with the number of current transactions will have almost no impact, this is long-term thinking, considering the expansion of the ecosystem and the volume of transactions of long-term applications (Games, Defi, social etc etc)

In the long term the positive points are:

  • Decrease the volatility of the token price in the future. :white_check_mark:
  • Help reduce inflation with low token prices (more tokens would be burned at low prices) :fire:
  • Developers have a clearer long-term picture of the costs incurred by exponentially increasing the number of transactions. :motoko_go:

I share a very simple table and graph where you can get an idea of ​​the potential that you can have just by applying this proposal.

I appreciate any feedback you have!

Thank you very much!

Plus:
I think it is related to what @Zane commented (Can the IC become deflationary?), this can help it to be truly deflationary in the event that the token drops a lot in price. Also @bjoernek was going to comment some related idea. Thank you very much !

11 Likes

My initial reaction is that this would be better if specified in cycles to match how people already think about storage costs, and also because it’s a better fit for a global platform.

7 Likes

Or SDR which Cycles are based on. Also not for upgrades but a minimum amount that one can convert to Cycles? Like 1ICP needs to be burned to make Cycles. When ICP = SDR, 1ICP is needed to make Cycles. 1/2 when it equals 2 SDR.

A minimal burn rate. This would also dissuade phishing sites and bad actors as deploying would have a larger initial cost.

2 Likes

what if I have a frozened canister with a fixed transaction fee after the proposal implmented?

1 Like

I think you mean blackholed…but yeah…this could be a problem. Also…why 0.01 and not .001? There is something about transactions being less than a penny that is fairly appealing in the space. I think $0.001 is still like 5000x more expensive than now.

4 Likes

Would it be respecting the value of 0.01 but expressed in cycles? What you would have to think about is in all the apps and exchanges out there, that value is not easily accessible to easily show the user how much the transaction will cost before sending it. How do you intend to resolve this point?

I think I got it… do you have an idea how this scheme would impact burning with different values ​​and context?

The canister handle cycles, but what I point out are the ICP transactions, excuse me but I did not understand the relationship between what you are saying and the idea.

Good point… I thought that value for the current balance that occurs with the scenario of an ICP price of 100, on the other hand when lowering one from 0.01 to 0.001, what you produce is that you have to have values ​​of number of transactions exponentially larger so that this idea has a minimum impact. I think 0.01 is a good balance between low cost and impact (without having to have hundreds of millions of transactions)


Thank you all very much for your comments! It is good to continue the discussion, I think that it can be used to address this idea, whether to maintain it, modify it, or discard it… in any case, the discussion is positive. Thank you very much !

I add to the comment above, if you see the table that I shared, you can see the case if it were worth USD 0.001 per transaction, it has practically no impact, even greatly increasing the number of transactions. (it would be equivalent to burning 0.01 but with the token worth $1000 and not $100)

Thx !!

IMHO, think and define the tokenomics through fiat, here the $, is problematic. What about the own fluctuations of the $, etc ? Let us stay in a decentralized and autonomous (conceptually) world : with ICP and Cycles.

1 Like

I like the proposed idea:

  • in order to scale, the IC needs to be easily accessible also to non-web3 developer
  • non-web3 developer do not think in ICP (or ETH, or BTC,…), but in FIAT
  • the main challenge for any big chain is right now:
    => if the chain becomes successful the tokens become expensive
    => if the tokens are expensive, the transactions become ridiculously expensive (see ETH, BTC transaction fees)

By setting the price per transaction in USD (or any other FIAT), the prices to run any service as a dev on ICP become much more predictable and less dependent on the costs of a coin. Additionally it is just way easier to grasp for non-web 3 developers in my opinion.

2 Likes

You are right that you are taking an external variable to determine a fee… But also in exhibitions all the time it refers to values ​​in dollars as a sample of what ICP is capable of. Example:
Storage / year $5 .
The nodes charge a sum in dollars that represent ICP but there you are also putting dollar value in tokenomics, it seems to me that we are always related.

1 Like

Welcome to the forum! Thank you very much for commenting, I share with you the thought in several points of view. I think it’s positive because of the factors you mention. Thanks again!

Hi @FranHefner,

I dont have anything intelligent to say, but wanted to let you know I have shared this with @bjoernek whom I believe is better audience within DFINITY

3 Likes

Do you mean only changing the fee required when transferring ICPs to 0.01 USD? This seems to have some issues, for example when using the ICP for some operations, such as transactions in the NFT marketplace, if the marketplace charges 1% from 2 ICP worth of NFT transactions, is 0.01 USD too high of a transaction fee? Would it kill such transactions?

1 Like

Hi @FranHefner, thank you sharing your idea and creating a detailed write-up!

As a quick feedback from my side

  • I see the benefit to linking the transaction fee to a predictable amount in fiat currency terms/cycles and also like the effect of an automatic stabilizer.
  • As mentioned by @THLO the overall impact on tokenomics is (and should be) small (as transactions should be cheap and transaction fees are very small compared to node provider and voting rewards).
4 Likes

Gracias diego ! Siempre muy atento a todo ! te mando un abrazo ! :raised_hands:

Thanks for comment! It’s a good observation ! What would happen in the current scenario when the token is worth $100 or more?

Value: $100
$0.01 => 0.0001
Value $200
$0.02 => 0.0001

Would you start killing from 0.01 and up? The market in ETH lived for a long time in POW and the transactions were worth hundreds of times more than $0.01 and nobody killed anybody… The market adapts. Entretop, I would review the charge and would not charge %1 if it is worth less than 1 ICP, I would find a way to sell it at 1 ICP + 0.01, then I would take it from there, there are many ways.

Thanks @bjoernek for taking the time to read and comment!

It is a small impact in current conditions, that would be positive!
The question is is it worth it?
If you look at the table, with eth or sol transactions, the market can never go down to those prices if we have that level of transactions because there would be less supply left and the price would increase. This would make it normalize the price to more reasonable values. ICP cannot work with values ​​less than 2 or 3 for a long time (due to inflation). And I think this would help not to get into that situation. Thx again !

Just in case it’s not fully clear, the cost to run services (i.e., canisters) is measured in cycles, which are already tied to a basket of fiat currencies. Only ICP ledger transaction have a fee in ICP.

As I mentioned before, and @bjoernek agrees, I don’t think this change would have a tremendous impact on the burn rate.
However, this proposal has some appeal: In the current model, if the ICP price drops, the cost to run a denial-of-service attack goes down as well. Keeping the transaction fee fixed in fiat terms would mitigate this risk.
I’m not sure if this security concern is reason enough to change the current mechanism, though.

4 Likes

Businesses like to also be able to compute running costs precisely to determine profit models without unpredictability,even before starting the project. So keeping fee fixed in fiat terms will ease adoption in enterprise applications.

2 Likes

Thank you! @THLO
Therefore, I can conclude that it will have no impact under current conditions (except for the possible enhancement of DDoS attacks).
But I can also assume that in the long term the proposal could work.

At the moment no negative points were found if I understood correctly. :white_check_mark:

Thx !

Of course, it would be another positive point to apply the proposal. Thx ! :blush:

We dismissed the impact on already deployed, blackholed canisters pretty quickly. Here is my case against this change:

  1. Added latency
    • Depending on how the call is implemented, every canister will need to call out and check the SDR or USD conversion rate every time that ICP is transferred, or at least periodically. Extra canister calls will increase transaction latency by another 2-4 seconds for an already slow process.
  2. Complexity
    • Transferring ICP is already a painful workflow (speaking as someone who has built on it). Dynamic fees adds another barrier to technical adoption
  3. Backwards Compatibility
    • We encourage canisters that are responsible for transacting in ICP to remove all their controllers aside from the blackhole canister. Blackholed canisters will have the ICP ledger fee hardcoded, and will break (possibly irrecoverably) if dynamic pricing is introduced.

I won’t speak to the upsides of this proposal, but I think everyone should weigh them against the consequences to smart contracts that manage ICP

8 Likes

There is a common phrase in the hood. “THE PRICE OF YESTERDAY IS NOT THE PRICE OF TODAY”

How safe is setting the price in US dollars? Is that price permanent of 1% of a dollar (0.01) or would that price change?

Cycles make sense to me because they are somehow constant but …0.01 hmmm doesn’t seem to add up to me.

1 Like