miningRoundsCreated pushes every new mining round with its CC price, issuance parameters and fee schedule.
miningRoundsCreated emits one event each time the DSO opens a new mining round. Canton Coin is issued in rounds: every tick the DSO opens a round that fixes the CC price in USD, the amount of CC to issue and how it is split between validators and apps, and the transfer fee schedule. Activity during the round earns rewards against these parameters.
Use it as a CC/USD price feed with one value per round, to notice fee or issuance changes the moment they take effect, or to drive anything that runs per round.
Subscribe
Everything the round carries, nested objects included:
subscription Rounds {
miningRoundsCreated(filter: { network: "mainnet" }) {
roundNumber
opensAt
closesAt
amuletPrice
tickDuration {
microseconds
}
issuanceConfig {
amuletToIssuePerYear
appRewardPercentage
validatorRewardPercentage
featuredAppRewardCap
unfeaturedAppRewardCap
}
transferConfigUsd {
createFee {
fee
}
holdingFee {
rate
}
transferFee {
initialRate
steps {
_1
_2
}
}
}
}
}Filter
| Field | Type | Matches |
|---|---|---|
network | String | mainnet, testnet or devnet |
Event fields
| Field | Type | Meaning |
|---|---|---|
network | String! | Network the round belongs to |
roundNumber | Int! | Round number. Stable key for deduplication |
opensAt | String! | When the round opens, ISO 8601 UTC |
closesAt | String! | When the round closes, ISO 8601 UTC |
amuletPrice | Float! | CC price in USD for this round. The DSO sets it from the Super Validators' price votes |
dso | String! | DSO party ID that opened the round |
tickDuration.microseconds | String! | Length of one round tick, in microseconds |
issuingFor.microseconds | String! | How long the network has been issuing rewards at this round, in microseconds. Selects the segment of the issuance curve |
issuanceConfig | MiningRoundIssuanceConfig! | Issuance parameters in force for this round, see below |
transferConfigUsd | MiningRoundTransferConfigUsd! | Fee schedule in force for this round, in USD, see below |
issuanceConfig
Percentages are fractions: "0.05" is 5%.
| Field | Type | Meaning |
|---|---|---|
amuletToIssuePerYear | String! | Total CC issued per year on the current segment of the issuance curve |
validatorRewardPercentage | String! | Share of issuance reserved for validator rewards |
appRewardPercentage | String! | Share of issuance reserved for app rewards |
validatorRewardCap | String! | Cap on validator rewards per round |
featuredAppRewardCap | String! | Cap on rewards for a featured app per round |
unfeaturedAppRewardCap | String! | Cap on rewards for an unfeatured app per round |
optValidatorFaucetCap | String! | Cap on the validator faucet per round |
optDevelopmentFundPercentage | String | Share of issuance reserved for the development fund. null when not configured |
transferConfigUsd
All amounts are USD. The fee charged in CC is the USD fee divided by amuletPrice.
| Field | Type | Meaning |
|---|---|---|
createFee.fee | String! | Fee for creating a new output |
holdingFee.rate | String! | Fee rate charged on held balances per round |
lockHolderFee.fee | String! | Fee per lock holder |
transferFee.initialRate | String! | Rate applied to the first part of the transferred amount |
transferFee.steps | [MiningRoundTransferFeeStep!]! | Rate steps, ordered by threshold. In each step _1 is the USD threshold and _2 the rate applied above it |
extraFeaturedAppRewardAmount | String! | Extra reward paid to a featured app per transfer |
maxNumInputs | String! | Maximum number of inputs in one transfer |
maxNumOutputs | String! | Maximum number of outputs in one transfer |
maxNumLockHolders | String! | Maximum number of lock holders on one contract |
Example message
Values are illustrative.
{
"data": {
"miningRoundsCreated": [
{
"roundNumber": 61235,
"opensAt": "2026-09-30T14:10:00.000000Z",
"closesAt": "2026-09-30T14:30:00.000000Z",
"amuletPrice": 0.12,
"tickDuration": { "microseconds": "600000000" },
"issuanceConfig": {
"amuletToIssuePerYear": "20000000000.0000000000",
"appRewardPercentage": "0.15",
"validatorRewardPercentage": "0.05",
"featuredAppRewardCap": "100.0",
"unfeaturedAppRewardCap": "0.6"
},
"transferConfigUsd": {
"createFee": { "fee": "0.03" },
"holdingFee": { "rate": "0.0000190259" },
"transferFee": {
"initialRate": "0.01",
"steps": [
{ "_1": "100.0", "_2": "0.001" },
{ "_1": "1000.0", "_2": "0.0001" },
{ "_1": "1000000.0", "_2": "0.00001" }
]
}
}
}
]
}
}Example: a CC/USD price feed
One message per round with the price. Pair it with CC Token Price Series for history.
subscription CcPrice {
miningRoundsCreated(filter: { network: "mainnet" }) {
roundNumber
opensAt
amuletPrice
}
}Related REST endpoints
Rounds history and Current round for backfill and the round in progress. Get round details by number for one round. CC Token Price Series for the price history.