Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
134 changes: 134 additions & 0 deletions CPS-0023/README.md
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
Comment on lines +11 to +13
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
Discussions:
- https://forum.cardano.org/t/cardano-multi-asset-treasury-cmat/149984
- https://github.com/cardano-foundation/CIPs/pull/1061
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

this

Copy link
Collaborator

@rphair rphair Nov 17, 2025

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?

Copy link
Collaborator

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.

- 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
- 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
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.


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
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


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.`
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


### 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).