---
updatedAt: 2026-05-20T06:41:15.000Z
---

Fetch the complete documentation index at: https://docs.blockdaemon.com/llms.txt. Use this file to discover all available pages before exploring further. Append .md to any documentation page URL to get its markdown version.

# Get a Stream of Rewards for a Single Address

Returns 0 or more reward objects in a streaming fashion using `ndjson`.

# OpenAPI definition

```json
{
  "openapi": "3.0.3",
  "info": {
    "version": "1.0.0",
    "title": "Staking Reporting API",
    "description": "### Protocols \nThe following protocols are currently supported:\n* Cardano\n* Cosmos\n* Ethereum\n* NEAR\n* Polkadot\n* Polygon \n* Solana \n",
    "contact": {
      "name": "Blockdaemon",
      "email": "support@blockdaemon.com",
      "url": "https://blockdaemon.com"
    },
    "x-logo": {
      "url": "logo.png"
    }
  },
  "servers": [
    {
      "url": "https://svc.blockdaemon.com/reporting/staking",
      "description": "Production server"
    }
  ],
  "security": [
    {
      "apiKeyAuthHeader": []
    },
    {
      "bearerAuth": []
    }
  ],
  "paths": {
    "/v2/polygon/{network}/{type}/rewards/{address}": {
      "get": {
        "summary": "Get a Stream of Rewards for a Single Address",
        "description": "Returns 0 or more reward objects in a streaming fashion using `ndjson`.",
        "tags": [
          "Polygon Staking Reporting"
        ],
        "operationId": "getRewardsSingle",
        "parameters": [
          {
            "in": "path",
            "name": "network",
            "required": true,
            "description": "The network to look up against.",
            "schema": {
              "type": "string",
              "default": "mainnet"
            }
          },
          {
            "in": "path",
            "name": "type",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/PolygonV2Type"
            }
          },
          {
            "in": "path",
            "name": "address",
            "required": true,
            "description": "The address to look up rewards for.",
            "example": "0xAB30eF276ADC2bE22CE58d75B4F4009173A73676",
            "schema": {
              "type": "string",
              "default": "0xAB30eF276ADC2bE22CE58d75B4F4009173A73676"
            }
          },
          {
            "in": "query",
            "name": "startTime",
            "required": false,
            "description": "Epoch-based start time for reward queries. You can not specify both an epoch and start/end times.",
            "example": 1706659200,
            "schema": {
              "type": "number",
              "default": 1706659200
            }
          },
          {
            "in": "query",
            "name": "endTime",
            "required": false,
            "description": "Epoch-based end time for reward queries. You can not specify both an epoch and start/end times.",
            "example": 1712059200,
            "schema": {
              "type": "number",
              "default": 1712059200
            }
          },
          {
            "in": "query",
            "name": "epoch",
            "required": false,
            "description": "The epoch to look up rewards for, you can not specify both an epoch and start/end times",
            "example": 80000,
            "schema": {
              "type": "number",
              "default": 80000
            }
          },
          {
            "in": "query",
            "name": "period",
            "required": true,
            "description": "The type of aggregation to apply.",
            "example": "monthly",
            "schema": {
              "$ref": "#/components/schemas/TimePeriod1"
            }
          },
          {
            "in": "query",
            "name": "denomination",
            "required": false,
            "description": "The denomination to return the rewards in.",
            "schema": {
              "$ref": "#/components/schemas/Denomination"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/x-ndjson": {
                "schema": {
                  "$ref": "#/components/schemas/PolygonV2RewardsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PolygonV2ErrorResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PolygonV2ErrorResponse"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "apiKeyAuthHeader": {
        "type": "apiKey",
        "in": "header",
        "name": "X-API-Key",
        "description": "Unlock higher TPS - Create your own API key in the [Blockdaemon App](https://app.blockdaemon.com).\n",
        "x-default": "2go1YqUcuAr4WZ2-3WgSD3c7qpatZqQuNWhTVBldKZnTSUtw"
      },
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "Opaque",
        "description": "[Legacy Auth] Unlock higher TPS - Create your own API key in the [Blockdaemon App](https://app.blockdaemon.com).\n",
        "x-default": "2go1YqUcuAr4WZ2-3WgSD3c7qpatZqQuNWhTVBldKZnTSUtw"
      }
    },
    "schemas": {
      "PolygonV2ErrorResponse": {
        "properties": {
          "timestamp": {
            "description": "The timestamp of the error in ISO-8601 format.",
            "type": "string"
          },
          "path": {
            "description": "The path called when the error occurred.",
            "type": "string",
            "example": "/v2/polygon/mainnet/delegator"
          },
          "status": {
            "description": "The http status code",
            "type": "number",
            "example": 400
          },
          "error": {
            "description": "A useful description of the error that occurred.",
            "type": "string",
            "example": "[endTime should be in unix epoch seconds]"
          }
        }
      },
      "TimePeriod1": {
        "description": "How the data is aggregated, raw and epoch is checkpoint level data",
        "type": "string",
        "default": "monthly",
        "enum": [
          "yearly",
          "monthly",
          "raw",
          "daily",
          "weekly",
          "epoch"
        ]
      },
      "Denomination": {
        "description": "The denomination to return rewards in.",
        "type": "string",
        "default": "wei",
        "enum": [
          "wei",
          "kwei",
          "mwei",
          "gwei",
          "szabo",
          "finney",
          "pol",
          "kpol",
          "mpol",
          "gpol",
          "tpol"
        ]
      },
      "PolygonV2Type": {
        "description": "The type of request.",
        "type": "string",
        "enum": [
          "validator",
          "delegator"
        ]
      },
      "PolygonV2RewardsResponse": {
        "description": "The reward response object.",
        "type": "object",
        "properties": {
          "address": {
            "description": "The address the reward is for.",
            "type": "string",
            "example": "15MdAHnkxt9TMC2Rj595hsg8Hnv693pPBB"
          },
          "denomination": {
            "description": "The denomination the reward is in.",
            "type": "string",
            "example": "wei"
          },
          "return": {
            "description": "The staking return of the address for the period.",
            "type": "string",
            "example": "283291849202",
            "format": "number"
          },
          "startTime": {
            "description": "Epoch-based start time for reward queries.",
            "type": "number",
            "example": 1704067200
          },
          "endTime": {
            "description": "Epoch-based end time for reward queries.",
            "type": "number",
            "example": 1706745600
          },
          "period": {
            "$ref": "#/components/schemas/TimePeriod1"
          },
          "startBalance": {
            "description": "The balance or stake at the start of the period.",
            "type": "string",
            "example": "124222",
            "format": "number"
          },
          "metadata": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/PolygonValidatorRewardsMetadata"
              },
              {
                "$ref": "#/components/schemas/PolygonDelegatorRewardsMetadata"
              }
            ]
          }
        }
      },
      "PolygonValidatorRewardsMetadata": {
        "title": "Validator Rewards Metadata",
        "properties": {
          "blockNumber": {
            "description": "The range of block numbers covered in the period.",
            "type": "string",
            "format": "hex",
            "example": "0x1-0x2"
          },
          "epoch": {
            "description": "The range of epoch numbers covered in the period.",
            "type": "string",
            "format": "number",
            "example": "1-2"
          },
          "restakeTotal": {
            "description": "The total amount restaked during the period.",
            "type": "string",
            "format": "number",
            "example": "123243"
          },
          "validatorContract": {
            "description": "The contract address of the validator.",
            "type": "string",
            "format": "hex",
            "example": "0x1-0x2"
          },
          "validatorId": {
            "description": "The unique identifier of the validator.",
            "type": "string",
            "format": "number",
            "example": "143"
          },
          "withdrawal": {
            "description": "The total amount withdrawn during the period.",
            "type": "string",
            "format": "number",
            "example": "123243"
          }
        }
      },
      "PolygonDelegatorRewardsMetadata": {
        "title": "Delegator Rewards Metadata",
        "properties": {
          "blockNumber": {
            "description": "The range of block numbers covered in the period.",
            "type": "string",
            "format": "hex",
            "example": "0x1-0x2"
          },
          "epoch": {
            "description": "The range of epoch numbers covered in the period.",
            "type": "string",
            "format": "number",
            "example": "1-2"
          },
          "restakeTotal": {
            "description": "The total amount restaked during the period.",
            "type": "string",
            "format": "number",
            "example": "123243"
          },
          "validatorContract": {
            "description": "The contract address of the validator.",
            "type": "string",
            "format": "hex",
            "example": "0x1-0x2"
          },
          "validatorId": {
            "description": "The unique identifier of the validator.",
            "type": "string",
            "format": "number",
            "example": "143"
          },
          "withdrawal": {
            "description": "The total amount withdrawn during the period.",
            "type": "string",
            "format": "number",
            "example": "123243"
          }
        }
      }
    }
  },
  "x-readme": {
    "samples-languages": [
      "curl",
      "go",
      "javascript",
      "python",
      "node"
    ],
    "explorer-enabled": false
  }
}
```