---
updatedAt: 2026-05-20T06:41:12.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 the Protocol Rewards Processing Health

Reward processing is optimal if all rewards up to the `lastProcessedCheckpoint - 1` are available, as rewards are calculated after an epoch ends.
    The processing status is degraded if the following is `true`:  
    
      chainCheckpoint - lastProcessedCheckpoint > 1


# 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}/health": {
      "get": {
        "summary": "Get the Protocol Rewards Processing Health",
        "description": "Reward processing is optimal if all rewards up to the `lastProcessedCheckpoint - 1` are available, as rewards are calculated after an epoch ends.\n    The processing status is degraded if the following is `true`:  \n    \n      chainCheckpoint - lastProcessedCheckpoint > 1\n",
        "tags": [
          "Polygon Staking Reporting"
        ],
        "operationId": "getHealth",
        "parameters": [
          {
            "in": "path",
            "name": "network",
            "required": true,
            "description": "The network to look up against.",
            "schema": {
              "type": "string",
              "default": "mainnet"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HealthResponse"
                }
              }
            }
          },
          "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]"
          }
        }
      },
      "HealthResponse": {
        "description": "The health response object.",
        "type": "object",
        "properties": {
          "status": {
            "description": "The rewards processing status.",
            "type": "string",
            "default": "OPTIMAL",
            "enum": [
              "UNKNOWN",
              "OPTIMAL",
              "DEGRADED"
            ]
          },
          "timestamp": {
            "description": "The timestamp when the status was last updated in epoch seconds.",
            "type": "number",
            "example": 1704067200
          },
          "metadata": {
            "$ref": "#/components/schemas/HealthMetadata"
          }
        }
      },
      "HealthMetadata": {
        "properties": {
          "chainCheckpoint": {
            "description": "The current active checkpoint on the chain.",
            "type": "string",
            "format": "number",
            "example": "2"
          },
          "lastProcessedCheckpoint": {
            "description": "The last processed checkpoint, when running smoothly this should be chainCheckpoint - 1.",
            "type": "string",
            "format": "number",
            "example": "1"
          }
        }
      }
    }
  },
  "x-readme": {
    "samples-languages": [
      "curl",
      "go",
      "javascript",
      "python",
      "node"
    ],
    "explorer-enabled": false
  }
}
```