CIP-0119: Free Canton Coin Transfer-Preapproval Base Duration
Also mentions:CIP-0096
- Hi,As a lot of people have noticed the removal of validator liveness rewards has introduced a bootstrapping issue where new validators need Canton Coin but cannot easily get it from exchanges as most exchanges only support CC transfers through preapprovals. We'd like to propose the following CIP to address this:## Title
<pre>
CIP: ?
Title: Free Canton Coin Transfer-Preapproval Base Duration
Author: Moritz Kiefer, Simon Meier
Status: Draft
Type: Tokenomics
Created: 2026-05-22
License: CC0-1.0
</pre>
## Abstract
[CIP-0096](https://github.com/canton-foundation/cips/blob/main/cip-0096/cip-0096.md) removed validator liveness rewards. This introduced a
bootstrapping problem: Most exchanges only support sending Canton Coin
to parties that have preapprovals enabled. But enabling preapprovals
requires paying a CC fee for their expiry duration.
This CIP solves this bootstrapping problem by introducing a free base duration for preapprovals
(defaulting to 90 days), which allows creating and renewing a
preapproval using just traffic costs including using the free base traffic rate.
## Copyright
This CIP is licensed under CC0-1.0: [Creative Commons CC0 1.0 Universal](https://creativecommons.org/publicdomain/zero/1.0/)
## Specification
- Introduce a new `transferPreapprovalBaseDuration` configuration parameter in `AmuletConfig` defaulting to 90 days.
- Change transfer preapproval creation and renewal to charge for `transfer preapproval expiry extension - transferPreapprovalBaseDuration`.
In particular creating a transfer preapproval with an `expiry <= transferPreapprovalBaseDuration` and renewing it to extend
expiry by a `duration <= transferPreapprovalBaseDuration` is free.
## Motivation
Allowing the creation of transfer preapprovals just through free
traffic cost solves the bootstrapping problem and allows validators to
purchase CC through exchanges. Keeping the option to create
preapprovals with longer expiry in exchange for burning CC fees keeps
backwards compatibility with usecases that prefer to set up a
preapproval with longer durations over automation that renews
periodically.
## Rationale
The fees were originally added to guard against overloading the
Supervalidator nodes with very long-lived transfer preapprovals. This
problem still exists, which is why we cannot fully remove the fees. However, for
preapprovals with a lifetime of <= 90 days traffic costs provide
sufficient protection and allow us to not charge additional CC fees.
## Backwards compatibility
This CIP does require a Daml change. However, as long as the new
config field is not set explicitly (meaning the default of 90 days is
used), this change allows downgrades of all Daml contracts and is fully
backwards compatible.
Validator nodes will continue to pay transfer preapproval fees for the whole duration until they upgrade to a version that includes the new Daml
code.
## Reference implementation
A draft PR of the Daml changes can be found on the [splice repository](https://github.com/canton-network/splice/pull/5645).
--Moritz KieferArchitect - Canton NetworkDigital Asset, creators of Daml
This message, and any attachments, is for the intended recipient(s) only, may contain information that is privileged, confidential and/or proprietary and subject to important terms and conditions available at http://www.digitalasset.com/emaildisclaimer.html. If you are not the intended recipient, please delete this message. - toggle quoted message Show quoted textThe CIP draft is also available on github https://github.com/canton-foundation/cips/pull/218/changesOn Tue, May 26, 2026 at 9:23 AM Moritz Kiefer <moritz.kiefer@...> wrote:Hi,As a lot of people have noticed the removal of validator liveness rewards has introduced a bootstrapping issue where new validators need Canton Coin but cannot easily get it from exchanges as most exchanges only support CC transfers through preapprovals. We'd like to propose the following CIP to address this:## Title
<pre>
CIP: ?
Title: Free Canton Coin Transfer-Preapproval Base Duration
Author: Moritz Kiefer, Simon Meier
Status: Draft
Type: Tokenomics
Created: 2026-05-22
License: CC0-1.0
</pre>
## Abstract
[CIP-0096](https://github.com/canton-foundation/cips/blob/main/cip-0096/cip-0096.md) removed validator liveness rewards. This introduced a
bootstrapping problem: Most exchanges only support sending Canton Coin
to parties that have preapprovals enabled. But enabling preapprovals
requires paying a CC fee for their expiry duration.
This CIP solves this bootstrapping problem by introducing a free base duration for preapprovals
(defaulting to 90 days), which allows creating and renewing a
preapproval using just traffic costs including using the free base traffic rate.
## Copyright
This CIP is licensed under CC0-1.0: [Creative Commons CC0 1.0 Universal](https://creativecommons.org/publicdomain/zero/1.0/)
## Specification
- Introduce a new `transferPreapprovalBaseDuration` configuration parameter in `AmuletConfig` defaulting to 90 days.
- Change transfer preapproval creation and renewal to charge for `transfer preapproval expiry extension - transferPreapprovalBaseDuration`.
In particular creating a transfer preapproval with an `expiry <= transferPreapprovalBaseDuration` and renewing it to extend
expiry by a `duration <= transferPreapprovalBaseDuration` is free.
## Motivation
Allowing the creation of transfer preapprovals just through free
traffic cost solves the bootstrapping problem and allows validators to
purchase CC through exchanges. Keeping the option to create
preapprovals with longer expiry in exchange for burning CC fees keeps
backwards compatibility with usecases that prefer to set up a
preapproval with longer durations over automation that renews
periodically.
## Rationale
The fees were originally added to guard against overloading the
Supervalidator nodes with very long-lived transfer preapprovals. This
problem still exists, which is why we cannot fully remove the fees. However, for
preapprovals with a lifetime of <= 90 days traffic costs provide
sufficient protection and allow us to not charge additional CC fees.
## Backwards compatibility
This CIP does require a Daml change. However, as long as the new
config field is not set explicitly (meaning the default of 90 days is
used), this change allows downgrades of all Daml contracts and is fully
backwards compatible.
Validator nodes will continue to pay transfer preapproval fees for the whole duration until they upgrade to a version that includes the new Daml
code.
## Reference implementation
A draft PR of the Daml changes can be found on the [splice repository](https://github.com/canton-network/splice/pull/5645).
--Moritz KieferArchitect - Canton NetworkDigital Asset, creators of Daml--Moritz KieferArchitect - Canton NetworkDigital Asset, creators of Daml
This message, and any attachments, is for the intended recipient(s) only, may contain information that is privileged, confidential and/or proprietary and subject to important terms and conditions available at http://www.digitalasset.com/emaildisclaimer.html. If you are not the intended recipient, please delete this message. It would be helpful to have plain language explanation with context and details. For example, what is a preapproval what it covers and how one would be requested. This expands the set of potential sponsors and endorsers beyond the technical specialists who are voting members.
- Good point, JamesA pre-approval is an onchain record stating that a given party is willing to automatically receive incoming transfers for a given type of asset. The most common pre-approval is for inbound Canton Coin transfers.Most exchanges prefer to send Canton Coin only to wallets that have pre-approvals in place. Many multi-chain wallets prefer that users default to pre-approvals, because on other web3 chains all transfers get accepted automatically, so the wallet provider wants to avoid creating unique UI features just for Canton.Right now it costs some Canton Coin to set up pre-approvals. This wouldn't be an issue if you were earning rewards just by running a Validator. But now that there are no Validator liveness rewards, you can run into a bootstrapping problem: You want to transact, but you only have a tiny bit of free traffic. You'd be happy to buy some traffic, but you need to pay for it with Canton Coin. You have some Canton Coin, but you can't send it to your Validator node from an exchange, because the exchange wants you to use pre-approvals. And you can't set up pre-approvals because you don't have any CC.
So this proposal would set up a pre-approval without requiring any Canton Coin, with a default expiration of 90 days, to solve this bootstrapping problem. This pre-approval would burn traffic, but it would be small enough to be processed using the 200kB free traffic balance that each Validator gets.If you keep the expiration date at 90 days, you can renew the pre-approval just using traffic. If you wanted a longer expiration cycle you'd have to pay Canton Coin to set up a custom pre-approval contract. - To put it more directly, this CIP will allow Validators to join the network and receive their initial CC transfers more easily, now that we have turned off Liveness rewards, by eliminating the "you need CC before you can receive CC" Catch-22 during the onboarding process.