cycles-management

Manage canister cycles, top-ups, freezing thresholds, and lifecycle operations on Internet Computer.

Updated Apr 3, 2026
One-click install
npx skills add https://github.com/phukrit7171/Relationship-Smart-Contract-ICP --skill cycles-management-phukrit7171
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: cycles-management
Source: https://github.com/phukrit7171/Relationship-Smart-Contract-ICP/tree/main/.agents/skills/cycles-management
Command: npx skills add https://github.com/phukrit7171/Relationship-Smart-Contract-ICP --skill cycles-management-phukrit7171

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Canisters on the Internet Computer silently freeze and eventually get deleted when they run out of cycles, and developers often lose funds by sending cycles to the wrong balance or misconfiguring freezing thresholds. This Skill provides correct commands and code patterns for funding, monitoring, and managing canister lifecycles. ## Core Features & Use Cases - Cycle Balance & Top-Ups: Check canister balances with icp canister status and fund execution balances correctly with icp canister top-up, avoiding the common icp cycles transfer mistake. - Programmatic Canister Management: Motoko and Rust code for creating canisters, accepting cycles, checking status, and depositing cycles via the management canister (aaaaa-aa). - Freezing Threshold & Controllers: Set freezing thresholds and backup controllers to prevent permanent loss of canisters and data. - Use Case: Before a mainnet deployment, use this Skill to mint cycles from ICP via the cycles ledger, top up your backend canister, set a 90-day freezing threshold, and add a backup controller. ## Quick Start Ask the AI to show how to check your canister's cycle balance and top it up on mainnet using the icp CLI.

Frequently Asked Questions about cycles-management

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I top up a canister with cycles on the Internet Computer?

Use `icp canister top-up <canister> --amount <N> -e ic`, which deposits cycles directly onto the canister via the management canister. Do not use `icp cycles transfer`, which only credits the recipient's cycles-ledger balance and leaves the canister's execution balance unchanged.

How do I check a canister's cycle balance with icp CLI?

Run `icp canister status <canister>` and look for the Balance line in the output. Add `-e ic` to check a canister on mainnet, or pass any canister ID directly to inspect canisters you do not own.

What happens when a canister runs out of cycles?

The canister freezes and stops responding to all calls with no warning. If cycles are not topped up before the freezing threshold period elapses, the canister and all its data are permanently deleted.

How do I convert ICP to cycles on mainnet?

Use `icp cycles mint --icp 1.0 -e ic` to convert ICP into cycles through the cycles ledger, then run `icp canister top-up` to fund your canister. The exact rate is set by the NNS and fluctuates with the ICP price via the CMC.

Why does my canister still show low balance after a cycles transfer?

`icp cycles transfer` moves cycles between cycles-ledger balances like a token transfer, so the canister's actual execution balance is unchanged. Use `icp canister top-up` instead, which deposits cycles directly onto the canister via the management canister.

How do I create a canister programmatically in Rust or Motoko?

Call the management canister (`aaaaa-aa`) `create_canister` method with settings and attach cycles to the call, using `create_canister_with_extra_cycles` in ic-cdk for Rust or an actor class call with `with cycles` in Motoko. Specify controllers and a freezing threshold in the settings.