Canister call requests 10T cycles

Since this morning, I suddenly receive an error when calling my canister

Code CanisterError, 
Message: IC0501: Canister 6uad6-fqaaa-aaaam-abovq-cai is out of cycles: requested 10_000_000_000_000 cycles but the available balance is 1_936_557_481_999 cycles and the freezing threshold 941_696_280 cycles

It’s a canister running the ICRC1 token standard an I’m calling the method icrc1_transfer().
I didn’t update or change anything and am a bit confused by the 10T cycles that it’s requesting and the canister cycle balance is still in a healthy state of around 2T and well above the freezing threshold.

Can anyone help?

To decide who I forward your question to: Are you running one of the DFINITY-provided ledgers or one you wrote yourself?

I don’t know where the request for 10T cycles comes from. But the available balance can look really weird in case you have multiple messages getting processed at the same time. Every message that runs will reserve the maximum amount of cycles that it could use, and other messages won’t see these cycles as available.

Thanks for the fast response!

It’s a wasm from dfinity. I used this guide here to deploy the token.

I’m only sending a single call with icrc1_transfer and since this is a testing canister, there is no one else using it either.

It’s most likely the cycles used to create and top-up an archive canister. In the guide there’s a parameter for how many cycles to use (CYCLES_FOR_ARCHIVE_CREATION) which is set to 10T I think

5 Likes

That was it, thanks a lot!