---
updatedAt: 2026-05-20T06:41:32.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 Statuses

Returns 0 or more status 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/solana/{network}/{type}/status": {
      "post": {
        "summary": "Get a Stream of Statuses",
        "description": "Returns 0 or more status objects in a streaming fashion using `ndjson`.",
        "tags": [
          "Solana Staking Reporting"
        ],
        "operationId": "getStatuses1",
        "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/Type"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "example": [
                  "FQwewNXahV7MiZcLpY6p1xhUs2acVGQ3U5Xxc7FzV571"
                ],
                "default": [
                  "FQwewNXahV7MiZcLpY6p1xhUs2acVGQ3U5Xxc7FzV571"
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/x-ndjson": {
                "schema": {
                  "$ref": "#/components/schemas/StatusResponse"
                }
              }
            }
          },
          "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": {
      "StatusResponse": {
        "properties": {
          "address": {
            "description": "The address the status is for",
            "type": "string",
            "example": "FQwewNXahV7MiZcLpY6p1xhUs2acVGQ3U5Xxc7FzV571"
          },
          "status": {
            "description": "The status of the validator or delegator.\n- For **validators** - it is active if it has voted on at least 1 slot in the previous epoch to the active one.\n- For **delegator stake accounts** - it is active if the deactivation epoch is not equal to 18446744073709551615.\n- For **delegator solana accounts** - it is active if the account has at least one active stake account.\n",
            "type": "string",
            "enum": [
              "UNKNOWN",
              "ACTIVE",
              "INACTIVE"
            ]
          },
          "timestamp": {
            "description": "The epoch second timestamp that the status was recorded at",
            "type": "number",
            "example": 1708612182
          },
          "metadata": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/ValidatorStatusMetadata"
              },
              {
                "$ref": "#/components/schemas/DelegatorStakeStatusMetadata"
              },
              {
                "$ref": "#/components/schemas/DelegatorAccountStatusMetadata"
              }
            ]
          }
        }
      },
      "ValidatorStatusMetadata": {
        "title": "Validator Status Metadata",
        "properties": {
          "authorisedWithdrawer": {
            "description": "the authorised withdrawer address",
            "type": "string",
            "example": "GRKMJ1zE99jGh4SVA8HCwizVN9fL3yvr8JCCgvqUpbNv"
          },
          "commission": {
            "description": "the commisson the validator charges",
            "type": "string",
            "format": "number",
            "example": 8
          },
          "identity": {
            "description": "the validator identity address",
            "type": "string",
            "example": "7cVfgArCheMR6Cs4t6vz5rfnqd56vZq4ndaBrY5xkxXy"
          },
          "voteKey": {
            "description": "the validator vote key address",
            "type": "string",
            "example": "FQwewNXahV7MiZcLpY6p1xhUs2acVGQ3U5Xxc7FzV571"
          },
          "type": {
            "description": "the type of status object this is",
            "type": "string",
            "enum": [
              "validator"
            ]
          },
          "activeStake": {
            "description": "the total active stake against the a validator, as defined by calling the getProgramAccounts method for the stake program \nand summing the stake account stakes by the validator pub key, note: a stake account is \"active\" if it does not have a \ndeactivation epoch set. This is updated at approximately hourly intervals.\n",
            "type": "string",
            "format": "number",
            "example": 331417862470541
          }
        }
      },
      "DelegatorStakeStatusMetadata": {
        "title": "Delegator Stake Status Metadata",
        "properties": {
          "identity": {
            "description": "the validator identity address the stake account is delegated to",
            "type": "string",
            "example": "7cVfgArCheMR6Cs4t6vz5rfnqd56vZq4ndaBrY5xkxXy"
          },
          "voteKey": {
            "description": "the validator vote key address the stake account is delegated to",
            "type": "string",
            "example": "FQwewNXahV7MiZcLpY6p1xhUs2acVGQ3U5Xxc7FzV571"
          },
          "type": {
            "description": "the type of status object this is",
            "type": "string",
            "enum": [
              "delegator"
            ]
          },
          "activationEpoch": {
            "description": "the activation epoch of the stake account",
            "type": "string",
            "format": "number",
            "example": 308
          },
          "deactivationEpoch": {
            "description": "the deactivation epoch of the stake account if set to 18446744073709551615 then the account is active",
            "type": "string",
            "format": "number",
            "example": 508
          },
          "solanaAccount": {
            "description": "the solana account the stake account is linked to",
            "type": "string",
            "example": "5LJ93G4SQh9GiewTQJNAu6X9sQ1VVyrpCAgbQsRSgn22"
          },
          "stakeAccount": {
            "description": "the stake account address",
            "type": "string",
            "example": "HEcQHKyVaM6mRd4728RTJPvWcezm2mkPoAUazt992RJt"
          },
          "activeStake": {
            "description": "The total active stake for the stake account, if the overall status is inactive then this is not \"active stake\". \nThis is updated at approximately hourly intervals.\n",
            "type": "string",
            "format": "number",
            "example": 331417862470541
          }
        }
      },
      "DelegatorAccountStatusMetadata": {
        "title": "Delegator Account Status Metadata",
        "properties": {
          "type": {
            "description": "the type of status object this is",
            "type": "string",
            "enum": [
              "delegator"
            ]
          },
          "solanaAccount": {
            "description": "the solana account",
            "type": "string",
            "example": "5LJ93G4SQh9GiewTQJNAu6X9sQ1VVyrpCAgbQsRSgn22"
          },
          "activeStakeAccounts": {
            "description": "csv of active stake accounts this solana account is linked to, only present in delegator solana account statuses",
            "type": "string",
            "format": "csv",
            "example": "FJLNfMzEz3Jt3SNWurkhF8iwRtpPbAte9CVaTsnAjsQT,8SWy8cePppycfhhcrnfBEBNqTZTpNRNGQARbgWaYeKjb"
          },
          "inactiveStakeAccounts": {
            "description": "csv of inactive stake accounts this solana account is linked to, only present in delegator solana account statuses",
            "type": "string",
            "format": "csv",
            "example": "EQrjCtqFowuFPa15UxbBPKbisVgtynF8FUDKmNghZXE6,2PhQgAbcaDTnjxKQ8DFwwHZiXBa6Ekq9MvEc2DyaboCy"
          },
          "activeStake": {
            "description": "the total active stake against the a solana account, as defined by calling the getProgramAccounts method for the stake program \nand summing the stake account stakes by the solana pub key, note: a stake account is \"active\" if it does not have a \ndeactivation epoch set. This is updated at approximately hourly intervals.\n",
            "type": "string",
            "format": "number",
            "example": 331417862470541
          }
        }
      },
      "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]"
          }
        }
      },
      "Type": {
        "description": "Specifies whether the request is for a validator or delegator.",
        "type": "string",
        "enum": [
          "validator",
          "delegator"
        ]
      }
    }
  },
  "x-readme": {
    "samples-languages": [
      "curl",
      "go",
      "javascript",
      "python",
      "node"
    ],
    "explorer-enabled": false
  }
}
```