Has anyone created an ICRC cycle token?

I love the dip20 one. But I’m trying to move away from that, has anyone made one?

1 Like

What do you mean about the cycle token?
Do you mean we can create an ICRC1 token, and it can be converted to cycles.
Do I understand it right?

Yes like the dip20 XTC token that I can accept then burn for cycles.

Ok, I’m doing this now in my spare time.

1 Like

Just for your information, the SDK team at DFINITY is currently investigating the introduction of a cycles ledger. The main goal is to make it easier (for developers) to handle cycles, replacing the current approach using cycle wallets.
The cycles ledger would probably adhere to the ICRC-1 standard.

We’ll definitely share more information once we have a concrete proposal. :slight_smile:


Let’s hope it also adheres to ICRC-2 :slight_smile:

1 Like

For now I’m going to use XTC. I’m looking forward to a dfinity branded one :slight_smile:


any update on this?


Sure, I can provide an update. In short, development of our cycles ledger is well under way and we plan to roll it out by the end of Q3 2023.
Obviously, unforeseen challenges may push the release into Q4 (or even next year) but we are on track so far.

The ledger will adhere to the ICRC-2 standard (which subsumes ICRC-1). It will probably also comply with the ICRC-3 standard currently under discussion.

The most interesting functionality for developers will probably be the integration with dfx, which aims to facilitate cycles management.

If you have any specific questions, please let me know!

1 Like

Thanks for the update!

How will the cycles be redeemed/used on the canister side?
Is a simple transaction to it’s principal enough?

1 Like

Let’s say you have cycles on the cycles ledger and you want to send x cycles to the canister with canister ID id. All you need to do is call send on the cycles ledger with the parameters amount=x and to=id and the canister will receive x-fee cycles.

If you use the icrc1_transfer endpoint instead, the balance of the canister’s principal ID on the cycles ledger will increase. However, if the canister wants to use those cycles, it would have to call send after the transfer, instructing the cycles ledger to send cycles from the cycles ledger to the canister itself.

Simply put, icrc1_transfer moves cycles from account to account and send is used to send cycles out to the targeted canister.

1 Like