---
updatedAt: 2026-08-17T14:37:00.000Z
agentTools:
  projectIndex: https://docs.noves.fi/llms.txt
---

# /{chain}/rewards/earnings/timeSeries

Returns historical Canton Coin earned per unit of Featured App marker weight. Choose either a timestamp window grouped into UTC hour/day buckets or an inclusive mining round range with one item per available completed round.
            
startTimestamp is inclusive and endTimestamp is exclusive. The maximum window is 7 days for `hour` and 30 days for `day`.
            
Timestamp buckets include only completed earning rounds. Buckets without completed rounds contain zero values.

# OpenAPI definition

```json
{
  "openapi": "3.0.1",
  "info": {
    "title": "Canton API",
    "description": "Query public and private Canton updates, balances, prices, rewards, verdicts, and Featured App activity. Create stream subscriptions and alerts for ongoing delivery.",
    "version": "v1"
  },
  "servers": [
    {
      "url": "https://api.canton.noves.fi/"
    }
  ],
  "paths": {
    "/{chain}/rewards/earnings/timeSeries": {
      "get": {
        "tags": [
          "Rewards"
        ],
        "summary": "/{chain}/rewards/earnings/timeSeries",
        "description": "Returns historical Canton Coin earned per unit of Featured App marker weight. Choose either a timestamp window grouped into UTC hour/day buckets or an inclusive mining round range with one item per available completed round.\r\n            \r\nstartTimestamp is inclusive and endTimestamp is exclusive. The maximum window is 7 days for `hour` and 30 days for `day`.\r\n            \r\nTimestamp buckets include only completed earning rounds. Buckets without completed rounds contain zero values.",
        "parameters": [
          {
            "name": "chain",
            "in": "path",
            "description": "Canton chain name. Use a name returned by `GET /chains`.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string",
              "default": "canton",
              "example": "canton"
            }
          },
          {
            "name": "startTimestamp",
            "in": "query",
            "description": "Inclusive start of the timestamp window, as Unix seconds. Required with endTimestamp in timestamp mode.",
            "style": "form",
            "schema": {
              "maximum": 253402300799,
              "minimum": -62135596800,
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "endTimestamp",
            "in": "query",
            "description": "Exclusive end of the timestamp window, as Unix seconds. Required with startTimestamp in timestamp mode.",
            "style": "form",
            "schema": {
              "maximum": 253402300799,
              "minimum": -62135596800,
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "interval",
            "in": "query",
            "description": "Timestamp bucket size: `hour` or `day`; defaults to `hour` in timestamp mode. Use `round` or omit it in round mode.",
            "style": "form",
            "schema": {
              "pattern": "^(?i:hour|day|round)$",
              "type": "string"
            }
          },
          {
            "name": "fromRound",
            "in": "query",
            "description": "First mining round to include. Supply with toRound instead of timestamps.",
            "style": "form",
            "schema": {
              "minimum": 0,
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "toRound",
            "in": "query",
            "description": "Last mining round to include. Supply with fromRound instead of timestamps. At most 500 rounds.",
            "style": "form",
            "schema": {
              "minimum": 0,
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "apiKey",
            "in": "header",
            "description": "API Key for Canton API. To generate an API Key, visit https://app.noves.fi",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string",
              "default": "demokey"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/RewardsEarningsTimeSeriesResponseDto"
                    },
                    {
                      "$ref": "#/components/schemas/RewardsEarningsRoundTimeSeriesResponseDto"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "ProblemDetails": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "detail": {
            "type": "string",
            "nullable": true
          },
          "instance": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": {}
      },
      "RewardsEarningsRoundTimeSeriesBucketDto": {
        "required": [
          "ccPerMarkerWeight",
          "ccPriceUsd",
          "priceObservedAt",
          "recordTime",
          "round"
        ],
        "type": "object",
        "properties": {
          "round": {
            "type": "integer",
            "description": "Completed earning round represented by this item.",
            "format": "int64"
          },
          "recordTime": {
            "type": "string",
            "description": "Record time of the completed earning round.",
            "format": "date-time"
          },
          "ccPerMarkerWeight": {
            "minLength": 1,
            "type": "string",
            "description": "Canton Coin redeemed per marker weight, serialized as a decimal string."
          },
          "ccPriceUsd": {
            "minLength": 1,
            "type": "string",
            "description": "Canton Coin price in USD selected for this earning round. It is the latest available price observed at or before the round record time and is serialized as a decimal string."
          },
          "priceObservedAt": {
            "type": "string",
            "description": "Observation time of the Canton Coin price used for this earning round.",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "Featured App earnings for one completed earning round."
      },
      "RewardsEarningsRoundTimeSeriesPeriodDto": {
        "required": [
          "fromRound",
          "toRound"
        ],
        "type": "object",
        "properties": {
          "fromRound": {
            "type": "integer",
            "description": "Inclusive first requested earning round.",
            "format": "int64"
          },
          "toRound": {
            "type": "integer",
            "description": "Inclusive last requested earning round.",
            "format": "int64"
          }
        },
        "additionalProperties": false,
        "description": "Inclusive earning round range requested by the client."
      },
      "RewardsEarningsRoundTimeSeriesResponseDto": {
        "required": [
          "data",
          "interval",
          "period"
        ],
        "type": "object",
        "properties": {
          "interval": {
            "minLength": 1,
            "type": "string",
            "description": "Always `round`."
          },
          "period": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RewardsEarningsRoundTimeSeriesPeriodDto"
              }
            ],
            "description": "Inclusive earning round range requested by the client."
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RewardsEarningsRoundTimeSeriesBucketDto"
            },
            "description": "Available completed earning rounds ordered oldest first. Requested rounds without available completed data are omitted."
          }
        },
        "additionalProperties": false,
        "description": "Featured App earnings across the network, grouped by completed earning round."
      },
      "RewardsEarningsTimeSeriesBucketDto": {
        "required": [
          "avgCcPerMarkerWeight",
          "endRound",
          "endTime",
          "roundCount",
          "startRound",
          "startTime"
        ],
        "type": "object",
        "properties": {
          "startTime": {
            "type": "string",
            "description": "Inclusive start of the UTC bucket.",
            "format": "date-time"
          },
          "endTime": {
            "type": "string",
            "description": "Exclusive end of the UTC bucket.",
            "format": "date-time"
          },
          "startRound": {
            "type": "integer",
            "description": "First completed earning round represented by this bucket; zero when empty.",
            "format": "int32"
          },
          "endRound": {
            "type": "integer",
            "description": "Last completed earning round represented by this bucket; zero when empty.",
            "format": "int32"
          },
          "roundCount": {
            "type": "integer",
            "description": "Number of completed earning rounds represented by this bucket.",
            "format": "int64"
          },
          "avgCcPerMarkerWeight": {
            "type": "number",
            "description": "Average Canton Coin earned per unit of Featured App marker weight; zero when the bucket contains no completed earning rounds.",
            "format": "double"
          }
        },
        "additionalProperties": false,
        "description": "One UTC bucket in the Featured App earnings series for the network."
      },
      "RewardsEarningsTimeSeriesPeriodDto": {
        "required": [
          "endTime",
          "startTime"
        ],
        "type": "object",
        "properties": {
          "startTime": {
            "type": "string",
            "description": "Inclusive start of the requested window.",
            "format": "date-time"
          },
          "endTime": {
            "type": "string",
            "description": "Exclusive end of the requested window.",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "Requested time window with an inclusive start and exclusive end."
      },
      "RewardsEarningsTimeSeriesResponseDto": {
        "required": [
          "data",
          "interval",
          "period",
          "timeZone"
        ],
        "type": "object",
        "properties": {
          "interval": {
            "minLength": 1,
            "type": "string",
            "description": "Bucket size used for the response: `hour` or `day`."
          },
          "timeZone": {
            "minLength": 1,
            "type": "string",
            "description": "Time zone used for bucket boundaries: `UTC`."
          },
          "period": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RewardsEarningsTimeSeriesPeriodDto"
              }
            ],
            "description": "Requested window, with an inclusive start and exclusive end."
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RewardsEarningsTimeSeriesBucketDto"
            },
            "description": "Contiguous UTC buckets ordered oldest first; empty buckets are included with zero values."
          }
        },
        "additionalProperties": false,
        "description": "Featured App earnings across the network, grouped into contiguous UTC buckets."
      }
    }
  }
}
```