LAMENT: A tale of constant struggle of what it's like trying to scale on ICP

Hey James,
The Internet Computer uses prepayment model, which I agree, sometimes might create challenges. I’m not a Motoko expert, so I’m assuming the Cycles.add<system>(50_000_000_000_000); means that we’e trying to create a new canister with ~50T cycles on its balance. Please correct me if I’m mistaken.

The IC prepayment model requires that any operation must leave canister in a state with sufficient cycles to maintain its existence for at least freezing_threshold seconds (~2.6M seconds or 30 days by default).

Given a 1% compute allocation, this means that any operation should leave the canister with at least 10M cycles * freezing_threshold seconds, or ~26T cycles on its balance.

Therefore, having 74T cycles on a balance and creating a canister with 50T cycles would leave the canister with just 74 - 50 = 24T cycles, which is less than the required freezing limit of 26T cycles.

I’ve submitted two PRs to make it more clear in the documentation, and simplify calculation.

3 Likes