Greetings world-computer community.

In this cold and dark of the winter, the CYCLES-TRANSFER-STATION launches as the home for the native CYCLES.

The CYCLES are the fuel that canisters need to pay the network for the storage and computation of the canisters’ code systems. When cycles are paid to the network, the cycles are burned. This creates a constant need for the cycles and puts buy-pressure on the cycles. The more systems and services hosted on the internet-computer, the more buy-pressure there is on the cycles. This constant buy-pressure creates a scenario where now even people who are not hosting canisters can utilize the cycles as a stable store of the value, since the cycles can be liquidated due to the constant need/buy-pressure for the cycles.

The CYCLES-TRANSFER-STATION - the CTS, is where people on both sides of the equation come together and trade their goods back and forth in both ways.

The first step is that mainstream users need the ability to mint and hold the cycles. Through the CTS, users create their own personal CYCLES-BANK that can mint, hold, transfer, and trade the native cycles on the world-computer.

Through the user’s personal CYCLES-BANK, the user can burn ICP and mint CYCLES direct through the NNS straight into the user’s cycles-bank. Logs of the cycles-transfers are kept in the user’s cycles-bank. Cycles transfers are done through the cycles-transfer-specification which is a simple method and types for transferring cycles, with a memo for identifying payments, where both sender and receiver can know how many cycles are being transferred and make a log for the transfer.

Technical note: At this time, cycles-transfers are limited to only transferring between CTS cycles-banks. This is because of the security concern that an unknown canister can hold up a response and try to prevent the cycles-bank from upgrading since at this time canisters need to finish handling all callbacks before upgrading. This restriction will go away when the name-callbacks feature on the DFINITY roadmap is implemented. Then the cycles-banks will not need to wait for a response in order to upgrade.

The CYCLES-BANKS also have a special function for the canister coders and developers, the ability to use the management-canister’s deposit_cycles method to deposit cycles onto any canister (even canisters not part of the CTS). However be careful using this button as there is no way for the receiving canister to know about the transfer or log the transfer. To accept cycles as payment for a service, instruct users to send cycles using the main method on the main page that uses the cycles-transfer-specification. With that said, this developer-only functionality is useful for developers that want a user-interface on a webpage where they can burn icp and mint cycles straight into their cycles-bank and then deposit the cycles onto any canister.

The second step is the CYCLES-MARKET trade-contracts, where people trade the native CYCLES and many different ICRC-1 tokens back and forth in both ways. The CTS cycles-market is a position-book (order-book) market where users set the rate (price) for the trade. The position then goes onto the book, if there is a matching position, the trade is made, if there is no current matching position, the position is put onto the book, and waits for a match. The position-book is a requirement for the stability of the cycles and makes sure that the cycles-market shows the true market value of how much the market is willing to pay for the CYCLES.

The CTS is live here:



Congrats Levi. Very exciting development!

Cycles are an extremely important part of the IC. Why is this UI not integrated into the NNS dApp? At a minimum, will there be support for holding cycles inside the NNS dApp?

I think the design of the website is a bit gimmicky. Given how important cycles are to the IC why don’t we get the designers who designed the NNS dApp and the website to work on it?

Congrats again. This is huge.

Hi @dfisher, welcome, I am most looking forward for the opportunities that this opens up for the community with this native stablecoin built into the internet-computer network that systems and services can then leverage in their own dapps. It is awesome.

I am with the focus on the CYCLES-TRANSFER-STATION and building the CTS as the best way to mint, hold, transfer, and trade the native CYCLES. At the CTS, each member creates their own personal CYCLES-BANK canister, a fiduciary for the owner, that can hold and transfer the native CYCLES. The members’ CYCLES-BANKS are connected to the CTS-MARKET where the native CYCLES trade back and forth with many cryptocurrencies.

I love the UI and design of the CTS. Every time I mint myself CYCLES and transfer them onto my canisters through the CTS UI I feel so wonderful and full of the Joy. The design is in the tune with the theme of the native CYCLES and every part is made with the specifics of the CTS in mind. I love my work and I’m betting on my self.


@levi ,

This is really cool and I was looking for a dApp like this.

I am in the process of signing up and paying the membership fee.

One feedback and a question:

  • As an onboarding experience to the CTS, it would be nice if I could explore the CTS a bit more before I am asked to pay the membership fee.

  • Is the code that does the transactions open-source, so I can verify ?

Hi @icpp,

Awesome, I’m glad you like it.

The parts of the CTS that are hidden without a membership are membership specific things like token balances, logs, and trading controls. If I find a good way to show part of it, I will.

Here is how it looks.

The code that does the transactions is not open source at the moment however it will be soon. The goal is for a SNS for the CTS so that the people control the system and changes take place through a vote.

Been looking for a product just like this. Thank you!

1 Like

@levi ,

Thank you so much for posting those screenshots. Exactly what I was looking for.

I think this is a perfect dApp to put under SNS control. :clap:

1 Like

Hey @icpp, I’ve been working to change the architecture so that people can use the platform without a membership. Now the changes are done and the new architecture is live! There is no longer any memberships. Those who created a membership before, have now received a full refund. Now people can mint, hold, and transfer cycles, hold and transfer tokens, and trade through the CTS-market with only an internet-identity.

Architecture changes for the CYCLES-TRANSFER-STATION.

Thanks for your support and valuable feedback! :fire:


That’s awesome!
This should definitely drive adoption of your great app.

1 Like

Hey @levi - this is very cool.

  1. That link seems down.

  2. Any code to review?

Hi @apotheosis, Thanks! I think its cool too!

The website is working for me, can you confirm if it is working for you now?

Yes! The CTS source code is here: GitHub - cycles-transfer-station/cts. Let me know if you have any questions, I can help with the due diligence.

1 Like

It does! It may have been a loading issue.