Proposal for the creation of a new SNS for the CYCLES-TRANSFER-STATION

The CYCLES-TRANSFER-STATION is creating an SNS proposal to place the CTS platform into the control of a new SNS community and governance.

The CYCLES-TRANSFER-STATION is a 100%-on-chain order-book market trade platform for ICRC-1 tokens on the world-computer.

The key feature of the CTS is that the market tokens trade against the internet-computer’s native CYCLES facilitating the mainstream use of the native CYCLES as a stablecoin.

The general overview of our system and vision is written in our whitepaper located here: cts/WHITEPAPER.md at master · cycles-transfer-station/cts · GitHub.

The Native CYCLES

The stability of the CYCLES as a stablecoin is tied to the CYCLES burn-rate on the ICP network as a whole. As more CYCLES are burned, new CYCLES must be minted and thus as long as CYCLES are burning, the price of the CYCLES can never get too low, because if someone does sell some CYCLES for cheap, canister maintainers will buy them up and then burn them to fuel their canisters, taking those CYCLES out of circulation and bringing the price back up to it’s stable minting price. This balance is controlled by the CYCLES burn-rate on the ICP network.

Tokenomics research on the burn-rate of the CYCLES on the ICP network was done by @bjoernek. Here the data on the CYCLES burn-rate over the past two years shows the direction the burn-rate is heading.
Link here: Analysis of Proposals on Neuron Dissolve Delays and Exchange Maturity.

In this other article also by @bjoernek, the future projection of the CYCLES burn-rate in comparison to the ICP inflation is shown.
Link to the article: Tokenomics series: Projecting the total supply of ICP.

With this data, it is clear that the stability of the CYCLES is certain.

THE CTS

The CYCLES-TRANSFER-STATION builds on this certainty, facilitating the mainstream use of the CYCLES as a stablecoin.

Through the CTS platform website, people can mint, hold, transfer, and trade the native CYCLES through the user-interface, without knowing how to code.

The CTS market is where people come and trade their CYCLES with many ICRC-1 tokens back and forth, growing the usability of the CYCLES and the facilitation of the general trade of the CYCLES.

The CTS market is an order-book where traders set the rate (the price) of the tokens of their positions (orders). This makes sure that the CTS market reflects the true-market-value of what people are willing to pay for a token.

CODE

The document on the technical architecture of the CTS is found here: cts/ARCHITECTURE.md at master · cycles-transfer-station/cts · GitHub.

The source code is available for the verification with the reproducible builds.

Leading up to the SNS launch, we are using GitHub releases to show which commits to build the latest canisters from. Some releases only upgrade some canisters so look in the release-assets to view the canisters being upgraded in that release. Post-SNS-launch the proposals will show the latest releases.

The source code of the website-frontend is available for the verification with the reproducible builds using the method in the README file.

SECURITY AUDIT

For the security of the code of the CTS canisters, a comprehensive audit was performed by the Roman Kashitsyn @roman-kashitsyn. The audit document is available here: Copy of CTS Audit - Google Docs. Roman is one of the main people behind the ICP ledger canister and fundamental in building the ICP protocol itself. Many thanks goes to Roman for conducting this audit, and for the great value that it brings to the CTS.

The CTS team has implemented the most important findings and recommendations of the audit and the code is now set for the SNS.

SNS TOKENOMICS

The key feature of the tokenomics of the CTS is that the voting participants receive payouts of their share of the profits of the platform which is collected through the market trading fees.

The SNS initialization file: sns_init.yaml.

TOTAL-SUPPLY: 20_000_000-CTS
TREASURY: 10_000_000-CTS
SWAP: 6_000_000-CTS
TEAM: 4_000_000-CTS

1/4 of the team’s tokens are locked for 5 years and vested for an additional 5 years. The remaining 3/4 of the team’s tokens are locked and vested between 1-month and 4-years.

MINIMUM-DIRECT-PARTICIPATION-ICP: 10_000-ICP
MAXIMUM-DIRECT-PARTICIPATION-ICP: 50_000-ICP

MAX-DISSOLVE-DELAY: 5-YEARS
MAX-DISSOLVE-DELAY-BONUS: 200%

VOTING-REWARDS: Starts at 5% and goes down to 1% over 10-years. This is in addition to the shareholder-payouts of the profits of the platform.


6 Likes

Is this a scenario where I can use CTS?

  • I get paid in cycles
  • I send these cycles to CTS
  • I can exchange them for ICP

I am pretty sure this is possible, but I wanted to highlight this scenario because of the fact that cycles are such a low friction mechanism to get paid for services. The Open Value Sharing protocol implemented on IC will also be based on cycles.

1 Like

Yes sir, that is the function of the CTS. The CTS facilitates the general trade of the cycles back and forth in every direction. Great use case!

At the CTS you can trade your cycles for ICP, and you can trade your cycles for different tokens such as CHAT and KINIC, and many more.

For bringing in cycles from outside the CTS, the canister holding the cycles calls the cycles_in method on the CTS.

2 Likes

The CTS team is hosting a Twitter space! Come and learn about the services of our platform, how we trade our tokens at the CTS market, and how it grows the mainstream use of the CYCLES.

The space is at 2:00pm Eastern time on this coming Monday, June-24-2024.

https://twitter.com/i/spaces/1yoJMwwyErnKQ

1 Like

I’m a bit confused as to why we would need this when we have gold backed stable coins on their way plus the existing stablecoin (I do think it’s a great idea but I’m just wondering if it’s the right timing), but I feel creating token swap pools with cycles will cause difficulty with particular tokens where the ICP/gold gov for example exchange rate is set to an exchange rate zone that changes over time.
As the price of cycles is independent of ICP, it seems like this could undermine those types of coins. Is there a fix to this?

But I also want to clarify a few things if I can. At the moment, the only use for cycles is to top up canisters and this requires the burning of ICP, is this correct?
However I can see that new tokens have since been added that can be burnt and in exchange, mint cycles rather than use ICP - however this also creates another problem if you’re a DAO and burning your own treasury tokens to pay for cycles, you’ve made your own coin deflationary and changed the supply, or have I misread that section?

On some of those linked threads, I read that it’s not uncommon for a developer to sell excess cycles if they minted too many or they aren’t using as many cycles as they thought etc.

This can then bring down the price of cycles as they need to exchange them at a loss, is this correct?

Isn’t there a better option where, rather than have unused cycles (capital) sitting in the cycles bank which I’d imagine also requires removal of liquidity from that DAOs token swap pool or treasury etc.
But instead, a developer could park their liquid ICP in the bank and pre set an automated canister top up function, so when their canister gets to a certain level, X amount of their ICP is taken from their bank, X amount of cycles are minted and automatically tops up their cannister? No unnecessary minting of excess cycles.

Wouldn’t this also help free up cashflow for these developers who are selling/exchanging at a loss their cycles (if they minted too many)?

Again correct me if I’m wrong, but node providers are paid in ICP not cycles, so the only people using cycles are developers correct?

Wouldn’t it make sense to create a “just in time minting/swapping” of cycles as needed, based on predefined rules and automatic cannister top ups, rather than the current method? Or is there a reason it’s done this way?

I feel like this would take away “excess” cycles so there wouldn’t be an unnecessary market created for them, the only cycles in existence are the ones created via automated top ups and they’re automatically put in cannisters.

It would however increase the volume of smaller amounts of cycles transactions (which I think business owners would be fine with if it helps with their cash flow - they could choose anyway), which could possibly help bring down ICP inflation with more ICP in the form of transaction fees being burnt.

I’m not a developer, so I don’t know, but having run businesses before I know tied up capital is the worst when you’re trying to grow.

@bjoernek do you have any thoughts on this? Only asking as your analysis etc been referenced and I’m curious.

@levi Let me know if I’ve missed something as to why we need this and how the defined exchange rate limits on particular tokens (e.g ICP/GoldGov) will be addressed, but I’d also be interested to hear a developers perspective on the excess cycles issue.

Thanks
Matt

Hello @Mpeiz,

I don’t know enough about other coins but I can speak on the benefits of the CYCLES and how it fits into the internet-computer ecosystem. The CYCLES is the sole currency that the internet-computer blockchain accepts as payment to run canisters. The internet-computer blockchain does not accept any other tokens for payment to build on the network. The CYCLES is therefore the one (and only) currency that is backed by the value that the internet-computer brings to the world. As ICP is more and more successful, the stability of the CYCLES gets stronger. This happens because the success of the ICP network is tied to the cycles-burn-rate, and as the cycles-burn-rate goes higher, the easier it will be to trade your CYCLES for other coins because more CYCLES will be needed every second to run the growing number of services/canisters running on the ICP blockchain. This is referenced in the data in the original-post.

What existing stablecoin? If you’re talking about USDC, USDC is a centralized coin backed by nothing at all, and is not stable. Just look at the purchasing power of the US-Dollar over the past 40 years.

I’m not sure what you are trying to say exactly, but I do have some thoughts on the problems of using token swap pools for any token and specifically when trading stablecoins. AMM (automated market maker) token swap pools decide the price-per-token (rate) of a trade based on the size and ratio of the liquidity-pools on both sides. The trader on AMM platforms does not have control over the price-per-token of the trader’s-tokens during the swap. This means that on those platforms, the price-per-token (rate) of the trades has nothing to do with what people are willing to pay for a token (nothing to do with the true-market-value of a token), but it only has to do with how much liquidity providers decided to put into the swap pools. But the liquidity providers are not the traders, so why are the traders getting rates based on the liquidity-providers actions?

The CYCLES-TRANSFER-STATION solves that problem, by letting the traders choose the price-per-token (the rate) of their trades, and then puts those trades onto an order-book, and then matches and performs trades that have the same or better rates on both sides of the market (buying and selling). This means there does not need to be any volume of liquidity in order for a token to trade at a high price. Even with the smallest amount of liquidity or trade-volume, the token can still trade at it’s true-market value. This is what the CYCLES stablecoin needs for it to stay stable, where the ones buying and selling CYCLES choose the rate that they want to buy or sell for, and then the natural balance of the stability of the CYCLES can shine through.

No this is not correct. Now that the CYCLES are stable and have a platform to be traded back and forth, the CYCLES can be used for payments for services throughout the whole network.
Take a look at this great use case:

When a DAO wants to trade some tokens in their treasury for CYCLES, the DAO will trade (sell) their native tokens for CYCLES at the CTS market. The DAO’s tokens do not get burnt. The DAO’s tokens get traded for CYCLES, and stay in the circulation.

Which linked threads? The CYCLES will of course be traded for ICP and many other tokens for many reasons, this is the specific functionality of the CTS.

When trading CYCLES for any token besides ICP, the CYCLES will not need to be sold at a loss because there are DAOs and other people who are buying CYCLES using many different tokens who are benefiting from the fact that they can buy CYCLES with their own token without needing ICP so they are willing to pay at least full price, perhaps even willing to pay more than full-price, because of this benefit of not having to have ICP.
When trading CYCLES back into only ICP, there will most likely need to be a small markdown due to the fact that anyone can mint cycles using ICP without needing to buy them at the market, so there needs to be a better deal at the market for them to buy it there. This is only relevant for trading CYCLES for ICP specifically but is not relevant for trading CYCLES for any other tokens.

Businesses need a stable bank where they can hold their funds without depending on the volatile changing price of ICP. If someone would have done what you are saying a month ago, they would have now lost almost half of their money because ICP’s price went down.
At the CTS website, people can mint CYCLES using ICP whenever they choose, and top-up canisters with those cycles whenever they choose.

The CTS facilitates the general trade of the CYCLES and grows the ability for the use of this awesome stable currency for things like payments for services throughout the whole network. These are not “excess”, these are useful for these use-cases because of the stability and value of the CYCLES. This will stay in the balance with the cycles-burn-rate on the whole network.

The CTS solves for this specific thing. At the CTS, CYCLES can now be either held in the stable bank, or traded back and forth for many different tokens, making so that CYCLES can be moved and traded and put to use for other investments if the owner wants.

1 Like

Twitter space starting now x.com.

1 Like

Sure, you can say that if someone were to do what I am proposing and hold ICP rather than cycles they would have lost “money” in the past month.

But the opposite would be true when ICP goes up in price (which we all think it will or else we wouldn’t be here), in your proposal they are not exposed to the potential upside of ICP. If these excess cycles came from a DAO treasury (over minting ICP into cycles), being used to pay for cycles, they would have lost money and the individual holders of that SNS token would be worse off as the treasury has lost funds, simply because of over minting.

If you’re minting cycles in a just in time method, you wouldn’t have excess cycles. I’m proposing this as a closed system, not one that opens the door to an external marketplace in which there is no set exchange rate for anything. Which I also think will open the door for excessive arbitrage situations (I don’t see how it can’t).

The developers etc who are the only ones using cycles (the use case you provided me was a question someone asked about this proposal, so that’s a bit of a circular discussion) can hold in ICP which is burnt in a just in time method so not to create excess cycles, they are exposed to the potential upside of ICP.

If you’d like to argue that this past month the price of ICP has gone down, that’s true, however that would not change the amount of cycles you get per say $10 USD.

I’d argue that the price of ICP is irrelevant to a developer needing cycles and I personally (can’t speak for others) would rather hold ICP as I would get the potential upside exposure of ICP which I don’t with cycles.

The amount of cycles you get is not based on the price of ICP.

  1. If 1 ICP is worth $10 USD (and 1 XDR = $1.32 USD), I get approx 7.58 trillion cycles.

  2. If ICP is worth $1,000 USD (and 1 XDR = $1.32 USD), for the same $10 USD I also get the same 7.58 trillion cycles.

However, if I’m holding ICP and the price does go to $1,000 USD, I can get 100x more cycles for my 1 ICP. In which the community holders of the DAO would also greatly benefit as there are more funds now available for growth.

If I were holding XDR/cycles, I do not get 100x on my holdings if the price of ICP increases – my $10 USD (1 ICP) stays at $10 USD (as it’s now $10 of XDR/cycles).

Which is why I don’t think this is the best solution, I think removing the possibility of having excess cycles in the system is better for everyone.

Regards to your comment of the USD/USDC etc, yes I agree, which is why people are looking for gold backed options, this is right around the corner on ICP.

However, you do realise that around 44% of the weighted basket that makes up the price of the SDR/XDR is USD. So the USD influences almost half of the basket making up the value of the SDR/XDR and their prices are very intertwined.

To my knowledge these “baskets” are re-evaluated every 5 years and was last updated in July 2022 according to the IMF. So it would seem the USD is going to make up the majority of the weighted value of the SDR/XDR until at least mid 2027.

If you don’t think the USDC is a good stablecoin given the current state of things, which I agree with you on, then it kind of contradicts using the XDR as a stablecoin as it’s so heavily weighted by the USD. The below info is from the IMF.

The value of the Special Drawing Right (SDR) is determined by a basket of major international currencies. As of the most recent review by the International Monetary Fund (IMF), the weights of the currencies in the SDR basket are as follows:

  • US Dollar (USD): 43.38%
  • Euro (EUR): 29.31%
  • Chinese Yuan (CNY): 12.28%
  • Japanese Yen (JPY): 7.59%
  • British Pound (GBP): 7.44%

But again, I think the problem with excess cycles can be solved using an automated top up function as I’ve mentioned earlier. Keeping it in a closed off system, kind of like it is now. If developers don’t want to be exposed to the potential downside of ICP, then let them choose between USDC or USDG (when it comes out) and ICP, because I’m sure there are some who would like the upside exposure of holding in ICP rather than cycles as well as having more available cashflow/liquidity for their daily operations.

Again, this would simply deduct liquid ICP/USDC-USDG (or GoldT – depending what they do with that) on as needed and on demand basis to mint into cycles. The users of cycles would have the choice to decide which token/coin to deduct from their bank when more cycles are needed for minting to go into cannisters. This should in theory mean there are no excess cycles as previously stated and possibly help with burning of ICP with more smaller transactions made and transaction fees burnt.

I think this method would help with cashflow and availability of liquid funds (without taking a loss) whilst also allowing a DAO to potentially benefit from holding more ICP, rather than accidentally minting excess cycles and forced to sell at a loss. Either way it would give them a choice and more flexibility. I don’t see the need for an XDR/cycles marketplace where there is no actual exchange rate.

People using this marketplace will know that holders of XDR/cycles have no option but to sell at a loss and use that to their advantage when pricing a token, again creating ability for excessive arbitrage. How will this be addressed?

The CTS gives people a choice to hold money in either the stable CYCLES or in ICP, or a mix of both depending on the user’s choice. At the CTS, users can hold ICP and CYCLES as well as many other tokens. Users can position themselves however they wish and still benefit from the stable trading market that the CTS creates.

At the CTS, people can mint CYCLES just in time if they want, or they can hold CYCLES if they want to hold a stable value.

It is the other way around. Platforms that force an exchange rate on the users are exploitable by bots.

At the CTS market, each user chooses the price-per-token (the exchange rate) of the tokens that the user is selling. We are giving the user the power to choose the exchange rate of the user’s tokens, instead of forcing an exchange rate on the user. This makes sure that each user stays in the full control of the user’s tokens, and this mechanism eliminates arbitrage completely.

This quote from the thread about bots arbitraging AMM swap pools will help you.

The question someone asked was if the CTS can help them do more with their CYCLES then just top-up their canisters. The person was already planning on receiving payment in CYCLES for their services, and asked if the CTS can be used to trade their CYCLES. So it is not circular in the way you are saying because they were planning on receiving CYCLES as payment for their services even without the CTS. The CTS just creates more uses for their CYCLES.

That is a straight up false statement.

Quote of my previous post:

Now I have a question for you @Mpeiz. Why do you want to try to deny the people of the world-computer community the ability to make good use of the stability and value of the CYCLES to hedge against volatile crypto downtrends, create stable trading markets, and accept payments for services at a stable cost?

1 Like

Interesting project and great discussion from Levi and Peiz. I am leaning towards supporting it based on the principle of not gatekeeping stuff. The project does have its own merit as well.

Hey Community, The NNS proposal for the creation of a new SNS for the CYCLES-TRANSFER-STATION has now passed with the success! Much gratitude for your votes :pray:, a wonderful voting turnout.

The CTS SNS swap is now set for the launch!

Link: NNS Dapp.

Cheers!

4 Likes

Hey @levi, congrats. I’ve only just started reading up on this project. Please excuse my ignorance, but I have a few question that I’m hoping will help me understand this better.

Firstly, it seems like the central thesis is that cycles can be used as a stablecoin, and that an accesible marketplace that minimises trading friction and increases competition will help improve the stability of cycles as a stable store of value. Ultimately the aim seems to be to improve the accessibility (and utility) of cycles as a stablecoin (taking advantage of the fact that cycles are pegged to XDR). Is that correct?

Hi @Lorimer,

No, this is incorrect. The CYCLES holds it’s stable value by the mechanism specified in the original post. The stability of the CYCLES is backed by the value that the internet-computer network brings to the world, which is the ability to build secure web systems and services without all the nonsense of traditional IT. As more and more systems and services run on the internet-computer, more CYCLES will be burned every second, and more CYCLES will need to be minted every second. The CYCLES currency is stable because it is minted at it’s stable peg 1-XDR = 1-TCYCLES, and if someone does choose to sell CYCLES for cheaper than that, those CYCLES will be bought up by canister-maintainers and then burned to fuel their canisters thereby taking those CYCLES out of circulation and bringing the price back up to it’s stable-minting-price. This balance is controlled by the CYCLES burn-rate on the ICP network as a whole. The higher the burn-rate, the more stable the CYCLES.

The CTS builds on top of this stability and creates a platform where mainstream people can benefit and use the stable CYCLES.

:tada: :fire: :tada:

The CYCLES-TRANSFER-STATION is now a SNS DAO! The CTS SNS swap has met it’s minimum-direct-participation and we are clear! A big congratulations for our new shareholders! At the time of the writing of this post, there are 85 new shareholders of the CTS. Welcome! These 85 geniuses have taken the position of benefiting by the success of the CTS, and are now the foundation of the security and decentralization of the CTS platform.

Come and join our OpenChat community, where our shareholders will meet and govern the CTS.

4 Likes

Thanks for your response. CTS does not claim to increase the stability of CYCLES - understood. Is it a fair interpetation that CTS will somewhat reduce the stability of CYCLES by encouraging more traders to hold a position for the sake of competitively trading below a future ICP to CYCLES exchange rate (burning ICP for minting cycles)? The rate set by XDR is the stable rate. Any rate that deviates from that introduces some amount of temporary instability, doesn’t it? The more competiton there is for undercutting the rate set by XDR, the more potential there is for deviation. Is that a fair interpretation?

My other question is whether or not you see CTS as a stablising influence or destablising influence on the price of ICP? If CTS becomes successful and popular, do you anticipate it would increase the volatility of ICP, decrease it, or remain a somewhat neutral influence?

This sentence leaves out most of the context needed for the full picture. So I will quote my previous comment.

I’m not sure what your first question is, what is XDS? and which position are you saying the CTS encourages?

A point that might help clarify: the price of ICP does not affect the price of CYCLES.

If you still have a question about a possible scenario, give a specific example with specific numbers so I can comprehend the sequence of your question. Interpretations don’t mean anything, there must be a logical sequence.

The CTS is a market where many tokens trade against the stable CYCLES. I don’t see a connection.

There were typos in my question - sorry I’ve corrected them.

CTS encourages people to occupy a trading position (holding cycles) with a view to selling them in the future, doesn’t it?

A point that might help clarify: the price of ICP does not affect the price of CYCLES

I understand that CYCLES are pegged to XDR. In the context of a more competitive market for CYCLES (which your planning to facilitate if I’m not mistaken), the effective market rate of CYCLES is more likely to dip below the price set by XDR (at least from time to time) - or am I mistaken?

Thats CYCLES price. Regarding ICP price, here’s a general scenario. Assume the price of ICP pumps significantly in a short space of time (as it does). Near its peak people start to trade out of their ICP position to realise profits. This would normally create selling pressure which would slow or reverse the ICP price spike. However in the context of an accessible CTS (which you’re delivering) more people may instead choose to exist their position by burning their ICP to mint cycles. This allows them to exist their postion while also creating more upward ICP price pressure (taking ICP out of supply). This sounds like a self-reinforcing feedback loop, which could lead to greater ICP price volatility.

I’m probably missing something. It’d be useful to hear your take on this.

No it doesn’t. The CTS does not encourage anyone to do anything. People have free choice to do as they wish, we do not tell others how to manage their finances. The CTS is a service that lets people mint, hold, transfer, and trade the native CYCLES whenever and however they choose.

It can dip down or it can dip up depending on how the market balances itself. People buying CYCLES using tokens besides ICP will be willing to pay more for the CYCLES than the rate set by the NNS. An SNS DAO can trade it’s native token directly for CYCLES without dipping into it’s ICP treasury, an SNS can always mint more SNS tokens, but it can’t mint more ICP. The market balances itself.

If the ICP price is going up, and people try to time the top and start selling ICP to take profits, then they can either burn ICP and mint CYCLES or they can sell ICP at the market for CYCLES. It depends on where the better rate is. Some times the better rate might be at the market. Either way it is a win-win. If they burn more ICP that’s great. I’m sure everyone wants as many ICP burned as possible so the price of ICP goes up as much as possible. A self strengthening feedback loop in the upwards direction is an awesome thing, let it fly. In my book that is a blessing.

Maybe its just me, but I don’t think that argument holds water, and seems irresponsible. If ICP pumped in this context it would be at the expense of having flooded the market with CYCLES that aren’t getting burned propotionately fast, just traded (perhapse for a long time). I would expect this to be vulnerable to large spikes followed by disproportionately large and lengthy dips, with a CYCLES price that could fall arbitrarily low.

You initially highlighted the fact that CYCLES are insulated from ICP volatilty (by design), but now seem okay to resign yourself to that decoupling being weakened by CTS. You also seem happy to relinquish CTS from any responsibility in this area (despite the fact that it seems to be an inevitable part of the value offering).

People have free choice to do as they wish, we do not tell others how to manage their finances. The CTS is a service that lets people mint, hold, transfer, and trade the native CYCLES whenever and however they choose

Someone else may jump in and point out that my worries are unrealistic. That’s the benefit of a community forum. Please note I’m not being critical just for the sake of it.

Aside from potential problems that seem worth thinking about. I don’t think I’m clear on the problem that CTS is actually solving. Are you able to explain CTS in the context of a problem statement?

Do you also have any thoughts on why CYCLES have been designed to be decoupled from ICP price volatility?