Cycles and ICP

Canisters are charged by the Internet Computer (IC) for using resources (like memory and computation) in a token called cycles. The more resources a canister uses, the more cycles it has to pay.

Cycles can only be held by canisters. User principals can't directly own cycles on the system.

There are different ways a service can associate a cycles balance with a user principal. Each user could get a dedicated cycles canister or cycles balances are accounted for separately while the service keeps the client's cycles in a 'treasury' canister.

Converting ICP into cycles

ICP is the main token of the IC ecosystem. It's price varies and is subject to market fluctuations. ICP is used as a governance token inside neurons to vote on proposals in the system. Governance is outside of the scope of this book.

Another use of ICP is the ability to convert it into cycles. There is a cycles minting canister (CMC) that accepts ICP in exchange for cycles. The CMC is also aware of the current market price of ICP and ensures that 1 trillion cycles (1T) always costs 1 SDR.

This mechanism ensures that the price of cycles remains stable over time. The tokenomics of ICP are outside the scope of this book. For more information on this, see the official docs.

Cycles wallet

As a developer, you need to hold and manage cycles to deploy canisters and pay for resources. For that you need to setup a cycles wallet.