CIP-0048: Raising the Rewards Cap for Validators and Application Providers
CIP-0048
Abstract
I propose that we raise the reward minting caps for Validators and application providers by a factor of 200X, to $570 USD/round for Validators, and 20,000 for application providers. This will have the effect of eliminating minting caps until Canton Coin reaches a conversion rate of $1 USD per Canton Coin. The Super Validators can implement this change via an onchain vote. To make the change persist in both the current configuration, as well as the future steps of the issuance curve, the same value will be set in all "future values" fields, as detailed below.
Specification
Super Validator node operators will perform an onchain vote to make the following changes:
Change
issuanceCurve.initialValue.optValidatorFaucetCap,
issuanceCurve.futureValues.0._2.optValidatorFaucetCap,
issuanceCurve.futureValues.1._2.optValidatorFaucetCap,
issuanceCurve.futureValues.2._2.optValidatorFaucetCap,
issuanceCurve.futureValues.3._2.optValidatorFaucetCap
From
2.85
To
570
Change
issuanceCurve.initialValue.featuredAppRewardCap,
issuanceCurve.futureValues.0._2.featuredAppRewardCap,
issuanceCurve.futureValues.1._2.featuredAppRewardCap,
issuanceCurve.futureValues.2._2.featuredAppRewardCap,
issuanceCurve.futureValues.3._2.featuredAppRewardCap
From
100
To
20000 (20,000)
On DevNet, followed by TestNet and then MainNet.
Motivation
The Super Validators for the Global Synchronizer use an instance of the Splice decentralized apps to manage on-chain governance and incentives. This includes setting the Canton Coin maximum minting curve, recording activity, and issuing activity records to network participants. Application providers, Validators, and Super Validators convert these activity records into Canton Coin.
From the start of MainNet, the Super Validators agreed to place caps on the total Canton Coin rewards that could be issued to a single application provider or Validator in a given round. These caps prevented over-concentration of Canton Coin minting by a single or small number of network participants, and also made it feasible for small organizations to join the network early in its lifecycle without incurring a large tax burden due to minting very large quantities of Canton Coin before a liquid market emerged.
The caps are denominated in $USD, then converted to Canton Coin, and applied during the process of calculating the Canton Coin that can be minted from each activity record in each minting round.
Validator Caps
Currently, the maximum quantity of rewards available for minting by Validators per round is
45,662 Canton Coin.
The current Liveness Rewards cap for a Validator operator party is
$2.85 USD / round
This results in a maximum Canton Coin reward per Validator of
570 CC / round
Taken together, this means that to mint all the available Canton Coin in a given round (in the absence of other Canton Coin transfers in that round), there must be 81 Validator operator parties (45,662 / 570 = 80.1) actively communicating with Super Validators. With 70 Validators active on MainNet as of 2025-02-17, we are close to reaching this limit. There’s no reason to think that any single Validator will earn a disproportionate reward from now on, so we might as well remove the caps.
The growing Validator pool means it makes sense for Validators to mint all the possible Canton Coin in each round. But if we leave the caps in place, that’s not guaranteed to happen, even with 81 Validators. That’s because any time the $USD to Canton Coin conversion rate increases, the total Canton Coin minted for each featured app activity record or validator liveness record in each round will go down. The cap is denominated in $USD, so doubling the $USD to Canton Coin conversion rate will cut the Canton Coins in the cap by a factor of 2:
Cap today:
Cap at $0.005 USD / Canton Coin:
$2.85 -> 570 Canton Coin / Round
Cap at $0.01 USD / Canton Coin:
$2.85 -> 285 Canton Coin / Round
Application Provider Caps
Today, if Featured Applications process a total of six (6) transactions per round, or approximately 0.01 transaction per second, and burn traffic equivalent to $1.10 worth of Canton Coin per transaction (including the $1 boost from the extraFeaturedAppRewardAmount), the rewards split would work as follows:
Conversion rate: $0.005 USD / Canton Coin
Maximum Allowed Application Mint: 152,207
Total (boosted) burn per round credited to featured applications: $6.60
Applying the 100X multiplier for Featured Applications: $660
Rewards shared among these featured applications: 132,000 Canton Coin, or nearly the total allowed. But as the conversion rate rises, application providers will mint fewer Canton Coin for their rewards, unless they increase their transaction rate by a similar factor as the increase in conversion rates.
Rationale
Raising the caps by a factor of 200 will allow the Validators and Application Providers to mint the maximum Canton Coin per round that they’re allowed, under pretty much any conditions, until the conversion rate reaches approximately $1 USD / Canton Coin.
Validator Rewards
Example reward minting after this proposal, assuming 80 Validators, at various Canton Coin conversion rates:
Conversion rate: $0.005 USD / Canton Coin
Maximum Allowed Validator Mint: 45,662
Cap per round, per Validator: $570
Canton Coin Minted per Validator: 570.775 CC
USD conversion of Canton Coin minted per Validator: $2.853875
Conversion rate: $0.05 USD / Canton Coin
Maximum Allowed Validator Mint: 45,662
Cap per round, per Validator: $570
Canton Coin minted per Validator: 570.775 CC
USD conversion of Canton Coin minted per Validator: $28.53875
Conversion rate: $1.10 USD / Canton Coin
Maximum Allowed Validator Mint: 45,662
Cap per round, per Validator: $570
Canton Coin minted per Validator: 518.1818 CC
USD conversion of Canton Coin minted per Validator: $570
With these higher caps, Validators mint all the available Canton Coin up until the conversion rate reaches $1 / Canton Coin, at which point the cap would begin to apply again.
Application Rewards
I propose that application rewards follow similar logic. Unfeatured applications will still be allowed to mint $0.60 for each $1 of Canton Coin burned by transfers they facilitate, but the cap for Featured Applications will rise from 100 times the Canton Coin burned in a given transfer, to 20,000 times the burn.
Today, if Featured Applications process a total of six (6) transactions per round, or approximately 0.01 transaction per second, and burn traffic equivalent to $1.10 worth of Canton Coin per transaction (including the $1 boost from the extraFeaturedAppRewardAmount), the rewards split would work as follows:
Conversion rate: $0.005 USD / Canton Coin
Maximum Allowed Application Mint: 152,207
Total (boosted) burn per round credited to featured applications: $6.60
Applying the 100X multiplier for Featured Applications: $660
Rewards shared among these featured applications: 132,000 Canton Coin
This leaves about 20,207 Canton Coin unminted
But if the Canton Coin conversion rate rises to $0.05 / Canton Coin, we see that the Featured Applications must increase their transaction rate to collect all possible rewards:
Conversion rate: $0.05 USD / Canton Coin
Maximum Allowed Application Mint: 152,207
Total (boosted) burn per round credited to featured applications: $6.60
Applying the 100X multiplier for Featured Applications: $660
Rewards shared among these featured applications: 13,200 Canton Coin
This leaves a bulk of the Canton Coin (139,007) unminted.
Application providers would need to boost activity by more than 10X to 60 transactions per round, to over 0.1 transactions per second to mint the entire available pool of Canton Coin assigned to application rewards.
At a conversion rate of $1 USD / Canton Coin, the average rate of transactions from featured applications would would need to rise to roughly 2.3 transactions/second to ensure all rewards get collected:
At a transaction rate of 0.5 tps (300 transactions per round)
Conversion rate: $1.00 USD / Canton Coin
Maximum Allowed Application Mint: 152,207
Total (boosted) burn per round credited to featured applications: $330
Applying the 100X multiplier for Featured Applications: $33,000
Rewards shared among these featured applications: 33,000 Canton Coin
This leaves 119,207 Canton Coin unminted
At a transaction rate of 2.3 tps (1,380 transactions per round):
Conversion rate: $1.00 USD / Canton Coin
Maximum Allowed Application Mint: 152,207
Total (boosted) burn per round credited to featured applications: $1518
Applying the 100X multiplier for Featured Applications: $151,800
Rewards shared among these featured applications: 151,800 Canton Coin
Leaving only a few hundred Canton Coin unminted.
The easiest way to make sure that application providers mint all the possible application rewards in every round, and decouple this from the average rate of transactions from featured applications, would be to raise the multiplier for Featured Applications from 100X to 20,000X. This would allow featured applications to mint all the allotted Canton Coin at an average tps of just 0.01 even if the conversion rate rose to $1 USD / Canton Coin. It’s very unlikely that the rate of featured application transactions would remain this low if the conversion rate rose to $1, but this strategy has the advantage of “set and forget” as the network scales.
Longer term it may be a good idea to consider removing caps entirely, or replacing them with a staking-based system for rewards. This proposal leaves open the possibility of implementing such alternatives in the future.
Backwards Compatibility
This CIP requires no new Daml models and no other breaking changes, so it will be fully backwards compatible.
Copyright
This CIP is licensed under CC0-1.0: Creative Commons CC0 1.0 Universal.
Changelog
- 2025-02-13: Initial draft of the proposal.
- 2025-03-03 Approval announced via mailing list thread