Rounds Stream

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

Open in GraphiQL ↗

Filter

FieldTypeMatches
networkStringmainnet, testnet or devnet

Event fields

FieldTypeMeaning
networkString!Network the round belongs to
roundNumberInt!Round number. Stable key for deduplication
opensAtString!When the round opens, ISO 8601 UTC
closesAtString!When the round closes, ISO 8601 UTC
amuletPriceFloat!CC price in USD for this round. The DSO sets it from the Super Validators' price votes
dsoString!DSO party ID that opened the round
tickDuration.microsecondsString!Length of one round tick, in microseconds
issuingFor.microsecondsString!How long the network has been issuing rewards at this round, in microseconds. Selects the segment of the issuance curve
issuanceConfigMiningRoundIssuanceConfig!Issuance parameters in force for this round, see below
transferConfigUsdMiningRoundTransferConfigUsd!Fee schedule in force for this round, in USD, see below

issuanceConfig

Percentages are fractions: "0.05" is 5%.

FieldTypeMeaning
amuletToIssuePerYearString!Total CC issued per year on the current segment of the issuance curve
validatorRewardPercentageString!Share of issuance reserved for validator rewards
appRewardPercentageString!Share of issuance reserved for app rewards
validatorRewardCapString!Cap on validator rewards per round
featuredAppRewardCapString!Cap on rewards for a featured app per round
unfeaturedAppRewardCapString!Cap on rewards for an unfeatured app per round
optValidatorFaucetCapString!Cap on the validator faucet per round
optDevelopmentFundPercentageStringShare 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.

FieldTypeMeaning
createFee.feeString!Fee for creating a new output
holdingFee.rateString!Fee rate charged on held balances per round
lockHolderFee.feeString!Fee per lock holder
transferFee.initialRateString!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
extraFeaturedAppRewardAmountString!Extra reward paid to a featured app per transfer
maxNumInputsString!Maximum number of inputs in one transfer
maxNumOutputsString!Maximum number of outputs in one transfer
maxNumLockHoldersString!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
  }
}

Open in GraphiQL ↗

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.