Introduce selective retirement fee


Introduce a selective retirement function with a lower fee structure than selective redemption, allowing users more reasonable access to retiring specific projects from Toucan pools.

Motivation & Context

The current selective redemption fee structure is intended to mitigate the impact of arbitrage between different carbon pools. However, the steepness of these fees is disproportionate for users seeking to retire specific projects from a pool, rather than extract the unretired TCO2 via redemption.

In order to improve the user experience of retiring specific credits from Toucan pools, there should be a separate fee tier for selective retirements: guaranteed to both redeem and retire TCO2 from a Toucan pool in a single transaction. This maintains the pool arbitrage protection of the selective redemption fee, but renders selecting a specific project to use for retirement more affordable.

Given that Toucan’s goal is to drive the adoption of tokenized carbon credits, and selecting a specific project to support is the norm when retiring in the traditional VCM, this new fee tier will make on-chain pools more attractive for retirement purposes.

The code for such a selective retirement function could be modeled after the corresponding open-source KlimaDAO retirement aggregator function here. The only additional code would be a variable and getter/setter to configure the new fee tier.

In terms of an appropriate level to set for the new selective retirement fee, I propose somewhere in the range of 2-3% to be competitive with C3’s fee of 2.25% for selective redemption - but defer to the Toucan team on that decision.


Implement a selective retirement function with a new fee tier that maintains pool arbitrage protection but provides more reasonable access to retiring non-default TCO2s from a Toucan pool.


Rather than adding a new function to the pools that combines redemption and retirement, instead add an allowed list of known contracts which receive a lower selective redemption fee. Contracts that are known to both redeem and retire TCO2 from a Toucan pool in a single transaction would be able to apply for a lower fee tier for selective redemptions originating from such a contract.

Suggested courses of action

Develop a selective retirement function with a lower fee tier and its own fee setting. If this is technically prohibitive, pursue the alternative which should be simpler to implement (though more toilsome to maintain).

Timeline of execution

This is an important feature that will unlock more value from the existing Toucan pools. It should be implemented within 6 weeks, and the simpler alternative pursued as a stopgap solution if that timeline is not feasible.


Thanks for this Marcus, it’s a good idea and I personally will advocate for it. We are getting together for an all-hands, we’ll discuss this week, but may not respond on the forum until next week. :pray:


Please make this a priority, users shouldn’t be shocked when they go to retire from a specific project, it makes for a bad experience and runs counter to all of us wanting to see more retirement activity on-chain.

1 Like

Indeed something akin to a low-fee redeemAndRetire() function is a much needed improvement. Current fees are too prohibitive at a time when we need to be establishing industry acceptance of on-chain carbon. This would enable us to offer a better customer experience, and will likely lead to greater revenues for Toucan in the long term.

As I understand it, the purpose of a selective redemption fee was to prevent extractive manipulation of the pools by speculators. This is not a risk when the assets are permanently retired.

1 Like

Hello everyone, we appreciate all of your contributions, input and ideas. This item on our roadmap, but due to a current internal strain on resources, has been pushed out. We’re carefully aiming to address retirement fees in November/December - more details will follow!


Hello Toucans, a short update on the proposed selective retirement fees: After a careful assessment, we’ve come to the realization that this is not a simple upgrade, and will require time to be executed properly. We are currently designing the next generation of our pooling module. With this new version, selective retirement fees will be included from the beginning. We see this as a more target-oriented process than dedicating resources to an upgrade of the current pool structure. We will keep you posted as we progress on to the next generation of our pools infrastructure, and will share more details along the way.

Team Toucan thanks everyone for their valuable input, scrutiny and support!

Dear Toucan team,

Are there any updates on this workstream?

Thank you,


Hello, at the moment we are still in the design and architecture phase. We will keep the community updated on our progress and announce new developments via our regular discord updates!