GET
/
beacon
/
2f6d649e68c2f861fecd5b8a9e35139e
/
eth
/
v2
/
debug
/
beacon
/
states
/
{state_id}
Get full BeaconState object
curl --request GET \
  --url https://ethereum-mainnet.core.chainstack.com/beacon/2f6d649e68c2f861fecd5b8a9e35139e/eth/v2/debug/beacon/states/{state_id}
{
  "version": "deneb",
  "execution_optimistic": false,
  "finalized": false,
  "data": {
    "genesis_time": "1606824023",
    "genesis_validators_root": "0x4b363db94e286120d76eb905340fdd4e54bfe9f06bf33ff6cf5ad27f511bfe95",
    "slot": "1",
    "fork": {
      "previous_version": "<string>",
      "current_version": "<string>",
      "epoch": "1"
    },
    "latest_block_header": {},
    "block_roots": [
      "<string>"
    ],
    "state_roots": [
      "<string>"
    ],
    "validators": [
      {
        "pubkey": "<string>",
        "withdrawal_credentials": "<string>",
        "effective_balance": "<string>",
        "slashed": true,
        "activation_eligibility_epoch": "<string>",
        "activation_epoch": "<string>",
        "exit_epoch": "<string>",
        "withdrawable_epoch": "<string>"
      }
    ],
    "balances": [
      "<string>"
    ],
    "eth1_data": {},
    "eth1_data_votes": [
      {}
    ],
    "eth1_deposit_index": "<string>",
    "previous_justified_checkpoint": {},
    "current_justified_checkpoint": {},
    "finalized_checkpoint": {}
  }
}
The /eth/v2/debug/beacon/states/{state_id} method is a debug API endpoint in the Ethereum Beacon Chain that provides the complete BeaconState object for a given state identifier. This endpoint is essential for developers, validators, and network engineers who need to inspect the full state of the beacon chain for debugging, analysis, or monitoring purposes. The BeaconState contains comprehensive information about all validators, their balances, attestations, and other critical chain state data.
Get you own node endpoint todayStart for free and get your app to production levels immediately. No credit card required.You can sign up with your GitHub, X, Google, or Microsoft account.

Parameters

  • {state_id}: This parameter specifies the identifier of the beacon state to retrieve. The state identifier can be:
    • head — the canonical head in the node’s view (most recent state)
    • genesis — the initial state at chain genesis
    • finalized — the most recent finalized state
    • justified — the most recent justified state
    • A specific slot number (e.g., 1000)
    • A hex-encoded state root with 0x prefix (e.g., 0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2)

Response

The response includes comprehensive state information:
  • version — the consensus version of the state (phase0, altair, bellatrix, capella, deneb, or electra)
  • execution_optimistic — boolean indicating if the response references an unverified execution payload
  • finalized — boolean indicating if the response references the finalized history of the chain
  • data — the complete BeaconState object containing:
    • genesis_time — Unix timestamp of chain genesis
    • genesis_validators_root — root hash of genesis validators
    • slot — current slot number
    • fork — fork version information
    • latest_block_header — most recent block header
    • block_roots — array of recent block roots
    • state_roots — array of recent state roots
    • validators — complete array of all validators with their properties
    • balances — array of all validator balances
    • eth1_data — Eth1 chain reference data
    • eth1_data_votes — pending Eth1 data votes
    • eth1_deposit_index — current deposit index from Eth1
    • previous_justified_checkpoint — previous justified checkpoint
    • current_justified_checkpoint — current justified checkpoint
    • finalized_checkpoint — most recent finalized checkpoint

Usage notes

The /eth/v2/debug/beacon/states/{state_id} method is a powerful debugging tool that provides complete visibility into the beacon chain state. This endpoint returns extensive data and should be used judiciously as responses can be very large, especially for mainnet states with hundreds of thousands of validators. The endpoint supports both JSON and SSZ (Simple Serialize) response formats. To receive SSZ-encoded data, set the Accept header to application/octet-stream. SSZ format is more efficient for large state transfers. This is a debug endpoint and may not be available on all beacon nodes. It requires significant computational resources to serialize the complete state, so response times may be longer than standard API calls.

Path Parameters

state_id
string
default:head
required

State identifier. Can be one of: 'head' (canonical head in node's view), 'genesis', 'finalized', 'justified', <slot>, <hex encoded stateRoot with 0x prefix>.

Response

200
application/json

Success - Full BeaconState object retrieved

The response is of type object.