-
Notifications
You must be signed in to change notification settings - Fork 375
CPS-0023? | Cardano Multi Asset Treasury (CMAT) #1103
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from all commits
7c2f281
73aecef
87cb964
2ace71f
f2a3e93
a10f5cb
1d5b4d5
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,134 @@ | ||
| --- | ||
| CPS: 23 | ||
| Title: Cardano Multi Asset Treasury (CMAT) | ||
| Category: Ledger | ||
| Status: Open | ||
| Authors: | ||
| - Hinson Wong - SIDAN Lab <wongkahinhinson@gmail.com> | ||
| - Felix Weber - Mesh <felix@meshjs.dev> | ||
| - Nicolas Cerny - Cardano Foundation <nicolas.cerny@cardanofoundation.org> | ||
| Proposed Solutions: [] | ||
| Discussions: | ||
| - https://forum.cardano.org/t/cardano-multi-asset-treasury-cmat/149984 | ||
| - https://github.com/cardano-foundation/CIPs/pull/1061 | ||
| - https://github.com/cardano-foundation/CIPs/pull/1103 | ||
| Created: 2025-10-26 | ||
| License: CC-BY-4.0 | ||
| --- | ||
|
|
||
| ## Abstract | ||
|
|
||
| Cardano’s on-chain treasury currently holds funds in ada (lovelace) only. However, there is growing interest in allowing the treasury to support multiple assets. This CPS serves as an initial documents to outline the motivation of Cardano multi asset treasury. | ||
|
|
||
| ## Problem | ||
|
|
||
| The Cardano treasury's exclusive holding of ada (lovelace) creates financial instability for both the treasury and funding proposers. Proposers must denominate their requests in ada, yet their real-world costs are in fiat. This forces them to gamble on a fixed exchange rate in their budgets. Consequently, proposers bear all the financial risk: a drop in ada's price can render their project underfunded and unviable, while a sharp price increase results in an inefficient over-allocation of community funds. This volatility makes sustainable, long-term budgeting impossible for proposers and complicates the treasury's own capital management, creating a high-risk environment that can deter high-quality, long-term ecosystem development. | ||
|
|
||
| ## Use cases | ||
|
|
||
| Enabling the Cardano treasury to hold Cardano Native Tokens (CNTs) (including stablecoins) unlocks a range of possibilities beyond just ada funding: | ||
|
|
||
| - **Stable-Value Funding**: Treasury Withdrawals can be denominated in stablecoins, providing reliable budgets not subject to ada’s volatility. For instance, critical infrastructure projects could receive annual payments in a USD-pegged stablecoin, ensuring stable maintenance funding for key Cardano projects. This is more predictable than equivalent ada payouts whose fiat value can fluctuate dramatically. | ||
|
|
||
| - **New Funding Models**: Community funding can go beyond one-way payouts. Ideas like token-based loans, collateralized loans or investments from the treasury become more feasible when the treasury can hold CNTs. For instance, the treasury could offer a loan in stablecoin to a project, which repays later in that same stablecoin – avoiding any need to convert currencies. The treasury could even participate in token raises by receiving a project’s tokens in exchange for funding, aligning incentives between the ecosystem and for-profit endeavors. | ||
|
|
||
| - **Diverse Treasury Holdings**: The community gains the ability to strategically manage treasury holdings by holding a mix of assets, not just ada. For example, by leveraging the on-chain governance model, the community could decide to keep a portion of the treasury in stablecoins as a hedge against market downturns, or hold partner chain tokens that have strategic value. (One community suggestion is that only a certain percentage of the ada treasury should be converted into other assets like stablecoins – not all of it – to balance growth vs. stability, for example the NCL budgets which can be determined in stablecoins.) Holding RWAs (Real World Assets) furthermore could path the way of Cardano manifesting physical holdings (real-estate), moving towards a full fletched network-nation not only in the digital/virtual but also in the physical space. | ||
|
|
||
| - **Token Donations and Deposits**: Anyone could donate or return funds in any CNT. Community members or partner organizations might send their native tokens (including stablecoins) to the treasury as contributions. This expands the treasury’s resource pool beyond ada – e.g. a DeFi project that raised funds in a stablecoin could return unused funds directly in that stablecoin to the treasury, rather than converting back to ada. | ||
|
|
||
| - **Cross-Chain Collaboration**: A multi-asset treasury can strengthen partnerships with Cardano’s partner chains. These networks could contribute their native tokens to Cardano’s treasury as part of collaboration agreements. This creates financial bridges; for instance, if an IOU token from a sidechain or a governance token from a partner blockchain, which are represented as CNTs on Cardano, is contributed to Cardano’s treasury, it effectively links the ecosystems. | ||
|
|
||
| Notably, multi-asset treasuries are not without precedent. Other blockchain ecosystems with on-chain governance have already implemented similar features. Polkadot, for example, has a treasury that holds DOT (its native coin) plus assets like USDC, USDT, and even tokens from its parachains. Cardano, coming later to on-chain governance, can leverage these lessons as a second mover – implementing a multi-asset treasury in a careful, informed way. | ||
|
|
||
| ## Goals | ||
|
|
||
| The good solution to this CPS consists of 3 components: | ||
|
|
||
| 1. Well articulated proposals considering below: | ||
|
|
||
| - Amend the Cardano Constitution: | ||
|
|
||
| - To address potential other CNTs in the constitutions | ||
| - Any guardrails in practice for inclusion of CNTs | ||
| - Do we define net change limits in CNTs also | ||
|
|
||
| - A new CIP for multi asset treasury covering below areas: | ||
|
|
||
| - Exact specification to describe the ledger change | ||
| - Analysis to take network security into account | ||
| - Do we need new protocol parameters for CMAT | ||
| - What we use for threshold for listing & delisting if it introduces new governance actions | ||
| - Other ledger rule's technical consideration such as min ADA | ||
|
|
||
| - Update on existing CIPs such as [CIP-1694](https://github.com/cardano-foundation/CIPs/tree/master/CIP-1694). | ||
|
|
||
| 2. Submit an Info Action of the CIP to gauge community sentiment if this is a requested change. | ||
|
|
||
| 3. Implementation of the CIP (likely including passing governance action to initial hardfork in updating ledger) | ||
|
|
||
| ### Out of Scope | ||
|
|
||
| - The whitelisted assets to be included in the Cardano Multi Asset Treasury | ||
Ryun1 marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| - The conversion and management of the multi-assets in the treasury | ||
|
|
||
| ## Open Questions | ||
|
|
||
| ### Spam Prevention - Only Allow Whitelisted Tokens | ||
|
|
||
| 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 | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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?
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
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.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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. |
||
|
|
||
| Spam prevention options: | ||
|
|
||
| - Introduce new governance action type with the function to add-new-asset to the treasuy, the gov action would be governed as other gov actions (CIP1694). Also comes with the usual 100k GA deposit. | ||
| - Another alternative is simply coordinate offchain tool set to ignore non-whitelisted CNTs from indexer, but not enforcing onchain. | ||
|
|
||
| ### Should Onchain Treasury Participate in DeFi? | ||
|
|
||
| In Polkadot ecosystem, a large part of treasury activities are denominated in stables rather than its native token DOT. In order to meet such demand, Polkadot treausry indeed directly interacting with DeFi project to conduct dollar cost averaging selling DOT into stables. Do we want Cardano treasury to be able to participate in DeFi like Polkadot? Or do we prefer to stay clean and only use CMAT as custody of multi-assets only while conducting most active management offchain? | ||
|
|
||
| ### Technology Path in Implementation | ||
|
|
||
| There are several potential ways to implement CMATs: | ||
|
|
||
| 1. Cardano Wallet as Treasury | ||
|
|
||
| > Implementing CMAT through ledger updates which transform the current Cardano Treasury files into an actuall address which can receive, hold and distribute multi assets | ||
|
|
||
| 2. Multi Asset Stake Address as Treasury ([CIP159](https://github.com/cardano-foundation/CIPs/pull/1061)) | ||
|
|
||
| > A CIP that adds support for depositing assets into account addresses (a.k.a. reward/staking addresses) which helps alleviate some of the pain-points from the minUTxOValue requirement. The CIP also provides a mechanism for plutus smart contracts to get a sense of the account's current balance using account balance intervals similarly to how time is specified | ||
|
|
||
| 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 | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
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.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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 |
||
|
|
||
| 4. Reference Polkadot Implementation and deploy the open source tech stack | ||
| > Polkadot runs its Multi Asset Treasury address not on its relay chain, but on its partnerchain framework using [substrate](https://docs.rs/pallet-treasury/latest/pallet_treasury/), substrate also implemented at Cardano for its L1 architecture would allow a similar approach | ||
|
|
||
| What technology path is more ideal in pursuing CMAT? | ||
|
|
||
| #### Additional Note on Technology Pathway from Cardano Summit Day 0 Discussion' | ||
|
|
||
| - 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.` | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'm not quite sure what the last sentence here means:
The treasury is currently a special stake address, is it not?
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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 |
||
|
|
||
| ### Other Technical Consideration | ||
|
|
||
| - How to make sure we do not expose additional vulnerability to Cardano ledger? Any accomodation with min ADA protocol parameter? | ||
| - How to ensure only minimal burden is created to Cardano toolchains, such as indexers, wallets, open source SDKs etc. | ||
|
|
||
| ### Governance Implication | ||
|
|
||
| - Turning budget into stable denominated by default? | ||
| - Update on CIP-1694 to allow budget request in terms of Cardano Native Tokens but not limited to ADA | ||
| - How to determine which assets the treasury should hold? | ||
| - How are assets acquired or disposed? | ||
| - Guardrail on asset management. How to ensure proper financial stewardship? | ||
|
|
||
| ## Copyright | ||
|
|
||
| This CPS is licensed under [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thisUh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
p.s. @HinsonSIDAN could you also refine the #1061 link above with a
#(anchor) comment or review deep-link that provides, as you see it, the best entry point into that candidate CIP-0159 discussion: illustrating the importance of Account Address Enhancement to proposals in this field?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
apologies @HinsonSIDAN I'd marked this thread "Resolved" even though we still have no pointer to the part of the #1061 discussion in which it was determined to be a prerequisite for CMAT.