Canister gas/cycle cost

Hi, I had an idea of an interesting project that could be built od the IC but its success is based on it’s cost.

I used this documentation page as a resource and the cost data mentioned there look very promising.

BUT when I tested cycle burn rate on my own canister, I have never made it near to the mentioned numbers.

For example here is the comparison of what is in the docs vs my own testing (simple increment number update call via Candid UI in this canister)

$0.0000007722274 docs vs $0,0000024102 reality
590K cycles docs vs 1854K cycles reality

So in reality my cost per update is about 3x more than mentioned in the docs. Am I doing something wrong or is the documentation page just out of date?

Plus is there a way how to properly calculate query calls or data out?

1 Like

Query calls and responses don’t cost anything at the moment. But from what I heard there will be some ideas for pricing query calls in the near-ish future

The docs page is 100% accurate in cycles cost. The dollar amounts can change, but the XDR/USD pair hasn’t deviated much from the stated 1.3 exchange rate (1.35 at the moment)

I guess the cost difference stems mostly from the Ingress Message Reception field. Every call made from the outside to the IC is an ‘ingress message’. If you run an update call from another canister you don’t cause an ingress message.

This would give a baseline of 1200k + 590k cycles = 1790k cycles, plus payload of a few bytes (2k cycles each) and a little bit of execution sounds about right to me

2 Likes

Thanks @Severin, this makes sense to me.

1 Like

I am getting the message

Not sure if image is too small but it says ic0_msg_cycles_accept128 cannot be executed in replicated query mode.

If queries cannot accept a cycles fee along with no intercanister calls. How can query prevent ddos?

I know right now you say query response and calls are free. But for the future, will you guys allow queries to accept cycles?