---
updatedAt: 2026-05-13T04:08:13.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 Stats for an address

Returns stats for an address including 30 and 90 days of yield and rewards data based  on utc days  If an address is not currently monitored a 404 is returned, on the first query for an address data is async calculated and then updated daily


> 👍 Tip
>
> The endpoint returns yield and reward data for an address across the last 30 and 90 days, for validators on networks that support delegations the response also includes the yield for delegators staked to the validator, note if an address is not currently monitored it will return a 404 response, the first time an address is called it will be calculated in the background and will eventually return a value, you can also preempt this by sending a PUT to add it to monitoring.
>
> Monitored addresses are updated once a day and is based on UTC days only.

<br />

# 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/ethereum/{network}/validator/stats/{address}": {
      "get": {
        "summary": "Get Stats for an address",
        "description": "Returns stats for an address including 30 and 90 days of yield and rewards data based  on utc days  If an address is not currently monitored a 404 is returned, on the first query for an address data is async calculated and then updated daily\n",
        "tags": [
          "Ethereum Staking Reporting"
        ],
        "operationId": "getStatsEthereum",
        "parameters": [
          {
            "in": "path",
            "name": "network",
            "required": true,
            "description": "The blockchain network to query (e.g., mainnet).",
            "schema": {
              "type": "string",
              "default": "mainnet"
            }
          },
          {
            "in": "path",
            "name": "address",
            "required": true,
            "description": "The validator address to retrieve stats data for.",
            "example": "0xaf3cfa981e084985c88928ae2fc7802790195d5d4e297fb384230b6b8e4540b2654a50a17dfeccc73f550461bd794563",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StatsResponseEthereum"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    }
  },
  "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": {
      "YieldResponse": {
        "description": "The yield response object",
        "type": "object",
        "properties": {
          "startTime": {
            "description": "Epoch-based start time for reward queries.",
            "type": "number",
            "example": 1709251200
          },
          "endTime": {
            "description": "Epoch-based end time for reward queries.",
            "type": "number",
            "example": 1711929600
          },
          "return": {
            "description": "The staking return for all validators for the period",
            "type": "string",
            "example": "283291849202",
            "format": "number"
          },
          "apr": {
            "description": "The APR for validators based on the return, total stake of the network and assuming 82125 epochs a year",
            "type": "string",
            "example": "0.0601",
            "format": "number"
          },
          "aprPercentage": {
            "description": "The same as above but in percentage form",
            "type": "string",
            "example": "6.01%",
            "format": "number"
          },
          "apy": {
            "description": "The APY based on the above and assuming re-staking of all rewards after each epoch (Unlikely for ETH but kept in for completeness)",
            "type": "string",
            "example": "0.06912",
            "format": "number"
          },
          "apyPercentage": {
            "description": "The same as above but in percentage form",
            "type": "string",
            "example": "6.912%",
            "format": "number"
          },
          "denomination": {
            "description": "the denomination the reward is in",
            "type": "string",
            "example": "ETH"
          },
          "stake": {
            "description": "the total stake across the full network",
            "type": "string",
            "example": "3830810096309000",
            "format": "number"
          },
          "metadata": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/YieldMetadata"
              },
              {
                "$ref": "#/components/schemas/ValidatorYieldMetadata"
              }
            ]
          }
        }
      },
      "YieldMetadata": {
        "properties": {
          "epoch": {
            "description": "The epoch number/s that the period covers",
            "type": "string",
            "example": "285413-287302"
          },
          "protocolRewards": {
            "description": "The total protocol rewards in the period",
            "type": "string",
            "format": "number",
            "example": "11.582442116"
          },
          "mevRewards": {
            "description": "The total mev block rewards in the period",
            "type": "string",
            "format": "number",
            "example": "2.55849541422880986"
          },
          "blockRewards": {
            "description": "The total block fee rewards in the period",
            "type": "string",
            "format": "number",
            "example": "1.660716278059616145"
          },
          "totalBalance": {
            "description": "The total balance of the validators in the network (including pending withdrawals)",
            "type": "string",
            "format": "number",
            "example": "33750555.15182654"
          }
        }
      },
      "ValidatorYieldMetadata": {
        "properties": {
          "effectiveBalance": {
            "description": "The effective balance of the validator at the start time",
            "type": "string",
            "format": "number",
            "example": "11.582442116"
          },
          "mevBlockReward": {
            "description": "The total mev block rewards in the period",
            "type": "string",
            "format": "number",
            "example": "2.55849541422880986"
          },
          "blockReward": {
            "description": "The total block rewards in the period",
            "type": "string",
            "format": "number",
            "example": "1.660716278059616145"
          },
          "syncCommitteeReward": {
            "description": "The sync comittee rewards for the period",
            "type": "string",
            "format": "number",
            "example": "33750555.15182654"
          },
          "attestationReward": {
            "description": "The attestation rewards for the period",
            "type": "string",
            "format": "number",
            "example": "33750555.15182654"
          }
        }
      },
      "StatsResponseEthereum": {
        "type": "object",
        "properties": {
          "updateTime": {
            "type": "integer",
            "format": "int64",
            "example": 1775718200,
            "description": "epoch second timestamp of the end time the stats is for"
          },
          "thirtyDays": {
            "type": "object",
            "properties": {
              "yield": {
                "$ref": "#/components/schemas/YieldResponse"
              },
              "rewards": {
                "$ref": "#/components/schemas/RewardsResponse1"
              }
            }
          },
          "ninetyDays": {
            "type": "object",
            "properties": {
              "yield": {
                "$ref": "#/components/schemas/YieldResponse"
              },
              "rewards": {
                "$ref": "#/components/schemas/RewardsResponse1"
              }
            }
          }
        }
      },
      "ErrorResponse": {
        "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/solana/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]"
          }
        }
      },
      "TimePeriod3": {
        "description": "How the data is aggregated.",
        "type": "string",
        "default": "monthly",
        "enum": [
          "yearly",
          "daily",
          "weekly",
          "monthly",
          "epoch",
          "raw"
        ]
      },
      "RewardsResponse1": {
        "description": "The reward response object",
        "type": "object",
        "properties": {
          "address": {
            "description": "The address the reward is for.",
            "type": "string",
            "example": "0xaf3cfa981e084985c88928ae2fc7802790195d5d4e297fb384230b6b8e4540b2654a50a17dfeccc73f550461bd794563"
          },
          "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": "17859798000000000",
            "format": "number"
          },
          "startTime": {
            "description": "Epoch-based start time for reward queries.",
            "type": "number",
            "example": 1716422400
          },
          "endTime": {
            "description": "Epoch-based end time for reward queries.",
            "type": "number",
            "example": 1719100799
          },
          "period": {
            "$ref": "#/components/schemas/TimePeriod3"
          },
          "startBalance": {
            "description": "The balance or stake at the start of the period.",
            "type": "string",
            "example": "32002448366000000000",
            "format": "number"
          },
          "metadata": {
            "$ref": "#/components/schemas/RewardsMetadata"
          }
        }
      },
      "RewardsMetadata": {
        "properties": {
          "epoch": {
            "description": "The epoch number/s that the period covers.",
            "type": "string",
            "example": "285413-287302"
          },
          "withdrawals": {
            "description": "The withdrawals in the period.",
            "type": "string",
            "format": "number",
            "example": "18477398000000000"
          },
          "deposits": {
            "description": "The deposits in the period.",
            "type": "string",
            "format": "number",
            "example": "0"
          },
          "syncCommitteeReward": {
            "description": "The sync committee rewards in the period.",
            "type": "string",
            "format": "number",
            "example": "0"
          },
          "blockReward": {
            "description": "The block rewards in the period.",
            "type": "string",
            "format": "number",
            "example": "0"
          },
          "attestationReward": {
            "description": "The attestation rewards in the period.",
            "type": "string",
            "format": "number",
            "example": "17859798000000000"
          },
          "mevBlockReward": {
            "description": "The mev block rewards in the period.",
            "type": "string",
            "format": "number",
            "example": "0"
          },
          "blockFeeReward": {
            "description": "The block fee rewards in the period.",
            "type": "string",
            "format": "number",
            "example": "0"
          },
          "index": {
            "description": "The validator index.",
            "type": "string",
            "format": "number",
            "example": "1333904"
          }
        }
      }
    }
  },
  "x-readme": {
    "samples-languages": [
      "curl",
      "go",
      "javascript",
      "python",
      "node"
    ],
    "explorer-enabled": false
  }
}
```