Skip to content

Conversation

@HinsonSIDAN
Copy link
Contributor

This CPS outlines the motivation of turning Cardano treasury from lovelace only into capable of holding multi assets including various Cardano Native Tokens.

Our co-authors (me plus Felix & Nicolas) would continue seeking for perspectives and feedback to update the draft until we confirm, mostly by circulating this draft and workshops to be held during upcoming Cardano Summit.

Also tagging #1061 for cross referencing, as the progress / update on the proposed CIP-159 will affect how the community should approach this CPS.

@Ryun1 Ryun1 changed the title Propose CPS - Cardano Multi Asset Treasury (CMAT) CPS-???? | Cardano Multi Asset Treasury (CMAT) Oct 26, 2025
@Ryun1 Ryun1 added the Category: Ledger Proposals belonging to the 'Ledger' category. label Oct 26, 2025
@HinsonSIDAN
Copy link
Contributor Author

Putting some bullets collecting from community on concern side:

  • Treasury action is usually too slow (which allows front-running treasury conversion)
  • No good candidate for actively managing the CMAT
  • The problem statement is too narrowly-scoped

Spam prevention as if only whitelisted tokens can send into the treasury. Do we want to build in this feature into CMAT?

- For: Discussion in [(CIP159)](https://github.com/cardano-foundation/CIPs/pull/1061) thread acknowledges the need for spam prevention
- Against: Polkadot community mentioned whitelist is not needed as people just do not care
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IMHO this is not a good counter argument. As blockchains grow in adoption, it will attract the attention of malicious entities. All it takes is one bad actor to ruin it for everyone else. Spam prevention is an absolute necessity.

The better question is: which spam prevention technique has the best trade-off profile?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My line of thinking is spaming the treasury might indeed not a vulnerability. Since it is mostly costing the spammer fee to carry such tx and eventually it might affect no one (just like current cardano address). This imo need further discussion to clarify the necessity

Copy link
Contributor

@fallen-icarus fallen-icarus Oct 28, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My line of thinking is spaming the treasury might indeed not a vulnerability. Since it is mostly costing the spammer fee to carry such tx and eventually it might affect no one ...

I don't think this is accurate. It is very cheap to mint CNTs and it is also very cheap to send them. I could mint 50-100 CNTs in one tx for about 0.2 ADA and then send these worthless CNTs to the treasury for another 0.2 ADA. I don't think the tx fees alone are enough to deter this at scale. You would also need a governance process for cleaning up the Treasury address. Once it hits 10,000 assets, it could be problematic to trustlessly track.

Regardless, my comment was more that I think the downsides to using another minUTxO-like deposit mechanism are not being considered enough by the community. As I explained in a thread on X, microfees/microdonations are worth supporting and the minUTxO-like mechanism prevents them. This is not to say that minUTxO needs to be decreased! Only that there are use cases where another spam prevention mechanism would be better. CIP-159 deliberately uses a whitelist to support these microfees/microdonations, and these also seem relevant to the Treasury.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yea I get your point, I am more inclined to think as you stated as well indeed. But from network point of view, it might not as relevant since depending on the design, it might not affect the usage of CMAT even there are couples of irrelevant tokens in treasury. Indeed it is exactly Polkadot community's POV, for their way of implementation of multi-asset treasury, people can send in irrelevant tokens to it like a typical cardano address. As long as indexers find a way to ignore it efficiently, it might not cause any problem. So this discussion item is dependent on which technology path we choose to implement CMAT imo.


3. Cardano Smart Contract as Treasury

> A less technical challenging solution, deploying smart contracts which can receive, hold and distribute multi-assets under specific CIP1649 compatible rules
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A less technical challenging solution, ...

Just because it doesn't touch the ledger code doesn't mean it is a smaller "technical challenge". Complexity exists at an ecosystem level. If making the changes at the ledger level results in less complexity at the ecosystem level, that is the preferred solution. I would argue that the (currently undefined) smart contract approach could actually result in more ecosystem complexity, not less.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes indeed more discussion is much needed. From this tweet, seems PI is in favour of this approach indeed.

I might also spend some time in crafting a CIP in regards to the CPS, but gotta hear more from different perspectives

@fallen-icarus
Copy link
Contributor

Speaking from the perspective of CIP-159:

Treasury action is usually too slow (which allows front-running treasury conversion)

IMO this is actually a feature, not a bug. It should be hard to change what assets are supported! I was thinking it would have to go through the full voting process to get the whitelist certificates approved which should be very difficult to prevent a fickle treasury. This means whatever CNTs end up being supported need ecosystem-wide support. This rules out all but possibly some stablecoins right now.

No good candidate for actively managing the CMAT.

What do you mean "actively managing"? Why should the CMAT be actively managed more than what it already does? IMO the only thing that should be added is the ability to hold whitelisted CNTs. The funds inside the treasury should not be actively managed. They should just sit there until a treasury withdrawal is made. If the current ADA should be diversified into a supported stablecoin, this would involve an approved treasury withdrawal + conversion + treasury deposit of the new stablecoin. Then it just sits there until the community approves another diversification conversion or withdrawal. I do not think the treasury should be actively rebalanced since this opens the door to possible abuse/mismanagement - the entities doing the rebalancing could effectively pick winners and losers in DeFi which is not a good thing right now.

@HinsonSIDAN
Copy link
Contributor Author

Speaking from the perspective of CIP-159:

Treasury action is usually too slow (which allows front-running treasury conversion)

IMO this is actually a feature, not a bug. It should be hard to change what assets are supported! I was thinking it would have to go through the full voting process to get the whitelist certificates approved which should be very difficult to prevent a fickle treasury. This means whatever CNTs end up being supported need ecosystem-wide support. This rules out all but possibly some stablecoins right now.

No good candidate for actively managing the CMAT.

What do you mean "actively managing"? Why should the CMAT be actively managed more than what it already does? IMO the only thing that should be added is the ability to hold whitelisted CNTs. The funds inside the treasury should not be actively managed. They should just sit there until a treasury withdrawal is made. If the current ADA should be diversified into a supported stablecoin, this would involve an approved treasury withdrawal + conversion + treasury deposit of the new stablecoin. Then it just sits there until the community approves another diversification conversion or withdrawal. I do not think the treasury should be actively rebalanced since this opens the door to possible abuse/mismanagement - the entities doing the rebalancing could effectively pick winners and losers in DeFi which is not a good thing right now.

These concerns are indeed what i summarize from @Crypto2099's perspective. Maybe I mis-translate some points, or can Adam provide some ink on this github discussion so more audience understand these concerns?

@HinsonSIDAN
Copy link
Contributor Author

From Cardano Ambassador workshop discussion in Berlin, the below points are mentioned:

  • Explore the possibility of executing spam prevention in offline manner as long as no security concerns on node by simply excluding from indexing
  • Do we need new protocol parameters? Or we can simply recycling old protocol parameters (e.g. treasury withdrawal one)
  • New guardrails introduced by new governance action (e.g. listing & delisting), and following new protocol parameters if any
  • Technology pathway can be going step-by-step: In scenario of smart contract approach is easier but ledger change is more desired, it is possible to go version 1 as smart contract approach, then upgrade to ledger approach later
  • A potential new use case: NCL denominated in CNTs other than ADA, like stablecoins
  • Treasury can potentially participate Cardano DeFi / projects

@HinsonSIDAN
Copy link
Contributor Author

HinsonSIDAN commented Nov 11, 2025

Technical group at Day 0 discussion:

  • Smart contract as treasury might not be easy to implement (due to execution units limits)
  • CIP159 approach is preferred, but we are not turning treasury into an address. It is only for enabling users to withdraw the treasury. We implement the treasury in a simpler way of holding Value rather than Coin, with extra guardrails on whitelisting and de-whitelisting
  • How does NCL works post CMAT? Do NCL only apply to ADA or to other assets as well?
  • NIGHT token can be a pathway to drive value back to Cardano ecosystem
  • Groundwork for putting BTC at treasury

@HinsonSIDAN HinsonSIDAN marked this pull request as ready for review November 14, 2025 19:04
Copy link
Collaborator

@rphair rphair left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tagging Triage for review at next CIP meeting (https://hackmd.io/@cip-editors/123).

@rphair rphair added the State: Triage Applied to new PR afer editor cleanup on GitHub, pending CIP meeting introduction. label Nov 17, 2025

- There is historical reason / previous discussion in ledger team, and make it a deliberate decision to NOT implementing Cardano treasury as an address. Therefore, pathway number 1 is not suggested from there.
- [CIP159](https://github.com/cardano-foundation/CIPs/pull/1061) is the crucial infrastructure to enable multi-assets treasury withdrawal from user's point of view
- Prefer to implement the treasury in a simpler way of holding `Value` rather than `Coin`, with extra guardrails on whitelisting and de-whitelisting. From there, also not directly implementing CIP159 account as treasury due to first point above.`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not quite sure what the last sentence here means:

From there, also not directly implementing CIP159 account as treasury due to first point above.

The treasury is currently a special stake address, is it not?

Copy link
Contributor Author

@HinsonSIDAN HinsonSIDAN Nov 19, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is not a stake address now. Currently it is simply an integer represented by type Coin so far i know. My best understanding is that its very similar to behaviour of a stake address, but its a separate implementation - so updating stake address should not be automatically updating treasury as well

https://github.com/IntersectMBO/cardano-ledger/blob/master/libs/cardano-ledger-core/src/Cardano/Ledger/State/ChainAccount.hs#L47-L52

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Category: Ledger Proposals belonging to the 'Ledger' category. State: Triage Applied to new PR afer editor cleanup on GitHub, pending CIP meeting introduction.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants