---
title: "Get full BeaconState object"
method: GET
path: "/eth/v2/debug/beacon/states/{state_id}"
tags: ["Debug"]
---

# Get full BeaconState object

`GET /eth/v2/debug/beacon/states/{state_id}`

## Request

- Base URL: `eth2-beacon-mainnet.nodereal.io/v1/api_key` (relative, and the document’s source URL is not known)
- URL: `eth2-beacon-mainnet.nodereal.io/v1/api_key/eth/v2/debug/beacon/states/{state_id}`
- Auth: none declared

Returns full BeaconState object for given stateId.
Depending on `Accept` header it can be returned either as json or as bytes serialized by SSZ

## Path parameters

- `state_id` string, required

## Response `200`

Success

- object
  - `version` 'phase0' | 'altair' | 'bellatrix'
  - `execution_optimistic` boolean: True if the response references an unverified execution payload. Optimistic information may be invalidated at a later time. If the field is not present, assume the False value.
  - `data` union
    - object: The [`BeaconState`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#beaconblock) object from the CL spec.
      - `genesis_time` string
      - `genesis_validators_root` string
      - `slot` string
      - `fork` object: The [`Fork`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#fork) object from the CL spec.
        - `previous_version` string: a fork version number
        - `current_version` string: a fork version number
        - `epoch` string
      - `latest_block_header` object: The [`BeaconBlockHeader`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#beaconblockheader) object from the CL spec.
        - `slot` string: The slot to which this block corresponds.
        - `proposer_index` string: Index of validator in validator registry.
        - `parent_root` string: The signing merkle root of the parent `BeaconBlock`.
        - `state_root` string: The tree hash merkle root of the `BeaconState` for the `BeaconBlock`.
        - `body_root` string: The tree hash merkle root of the `BeaconBlockBody` for the `BeaconBlock`
      - `block_roots` string[]
      - `state_roots` string[]
      - `historical_roots` string[]
      - `eth1_data` object: The [`Eth1Data`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#eth1data) object from the CL spec.
        - `deposit_root` string: Root of the deposit tree.
        - `deposit_count` string: Total number of deposits.
        - `block_hash` string: Ethereum 1.x block hash.
      - `eth1_data_votes` object[]
        - `deposit_root` string: Root of the deposit tree.
        - `deposit_count` string: Total number of deposits.
        - `block_hash` string: Ethereum 1.x block hash.
      - `eth1_deposit_index` string
      - `validators` object[]
        - `pubkey` string: The validator's BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._
        - `withdrawal_credentials` string: Root of withdrawal credentials
        - `effective_balance` string: Balance at stake in Gwei.
        - `slashed` boolean: Was validator slashed (not longer active).
        - `activation_eligibility_epoch` string: When criteria for activation were met.
        - `activation_epoch` string: Epoch when validator activated. 'FAR_FUTURE_EPOCH' if not activated
        - `exit_epoch` string: Epoch when validator exited. 'FAR_FUTURE_EPOCH' if not exited.
        - `withdrawable_epoch` string: When validator can withdraw or transfer funds. 'FAR_FUTURE_EPOCH' if not defined
      - `balances` string[]: Validator balances in gwei
      - `randao_mixes` string[]
      - `slashings` string[]: Per-epoch sums of slashed effective balances
      - `previous_epoch_attestations` object[]
        - `aggregation_bits` string: Attester aggregation bits.
        - `data` object: The [`AttestationData`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#attestationdata) object from the CL spec.
          - `slot` string
          - `index` string
          - `beacon_block_root` string: LMD GHOST vote.
          - `source` object: The [`Checkpoint`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#checkpoint
            - `epoch` string
            - `root` string
          - `target` object: The [`Checkpoint`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#checkpoint
            - `epoch` string
            - `root` string
        - `inclusion_delay` string
        - `proposer_index` string
      - `current_epoch_attestations` object[]
        - `aggregation_bits` string: Attester aggregation bits.
        - `data` object: The [`AttestationData`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#attestationdata) object from the CL spec.
          - `slot` string
          - `index` string
          - `beacon_block_root` string: LMD GHOST vote.
          - `source` object: The [`Checkpoint`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#checkpoint
            - `epoch` string
            - `root` string
          - `target` object: The [`Checkpoint`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#checkpoint
            - `epoch` string
            - `root` string
        - `inclusion_delay` string
        - `proposer_index` string
      - `justification_bits` string: Bit set for every recent justified epoch
      - `previous_justified_checkpoint` object: The [`Checkpoint`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#checkpoint
        - `epoch` string
        - `root` string
      - `current_justified_checkpoint` object: The [`Checkpoint`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#checkpoint
        - `epoch` string
        - `root` string
      - `finalized_checkpoint` object: The [`Checkpoint`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#checkpoint
        - `epoch` string
        - `root` string
    - object: The [`BeaconState`](https://github.com/ethereum/consensus-specs/blob/v1.1.0-alpha.3/specs/altair/beacon-chain.md#beaconstate) object from the CL Altair spec.
      - `genesis_time` string
      - `genesis_validators_root` string
      - `slot` string
      - `fork` object: The [`Fork`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#fork) object from the CL spec.
        - `previous_version` string: a fork version number
        - `current_version` string: a fork version number
        - `epoch` string
      - `latest_block_header` object: The [`BeaconBlockHeader`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#beaconblockheader) object from the CL spec.
        - `slot` string: The slot to which this block corresponds.
        - `proposer_index` string: Index of validator in validator registry.
        - `parent_root` string: The signing merkle root of the parent `BeaconBlock`.
        - `state_root` string: The tree hash merkle root of the `BeaconState` for the `BeaconBlock`.
        - `body_root` string: The tree hash merkle root of the `BeaconBlockBody` for the `BeaconBlock`
      - `block_roots` string[]
      - `state_roots` string[]
      - `historical_roots` string[]
      - `eth1_data` object: The [`Eth1Data`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#eth1data) object from the CL spec.
        - `deposit_root` string: Root of the deposit tree.
        - `deposit_count` string: Total number of deposits.
        - `block_hash` string: Ethereum 1.x block hash.
      - `eth1_data_votes` object[]
        - `deposit_root` string: Root of the deposit tree.
        - `deposit_count` string: Total number of deposits.
        - `block_hash` string: Ethereum 1.x block hash.
      - `eth1_deposit_index` string
      - `validators` object[]
        - `pubkey` string: The validator's BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._
        - `withdrawal_credentials` string: Root of withdrawal credentials
        - `effective_balance` string: Balance at stake in Gwei.
        - `slashed` boolean: Was validator slashed (not longer active).
        - `activation_eligibility_epoch` string: When criteria for activation were met.
        - `activation_epoch` string: Epoch when validator activated. 'FAR_FUTURE_EPOCH' if not activated
        - `exit_epoch` string: Epoch when validator exited. 'FAR_FUTURE_EPOCH' if not exited.
        - `withdrawable_epoch` string: When validator can withdraw or transfer funds. 'FAR_FUTURE_EPOCH' if not defined
      - `balances` string[]: Validator balances in gwei
      - `randao_mixes` string[]
      - `slashings` string[]: Per-epoch sums of slashed effective balances
      - `previous_epoch_participation` string[]
      - `current_epoch_participation` string[]
      - `justification_bits` string: Bit set for every recent justified epoch
      - `previous_justified_checkpoint` object: The [`Checkpoint`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#checkpoint
        - `epoch` string
        - `root` string
      - `current_justified_checkpoint` object: The [`Checkpoint`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#checkpoint
        - `epoch` string
        - `root` string
      - `finalized_checkpoint` object: The [`Checkpoint`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#checkpoint
        - `epoch` string
        - `root` string
      - `inactivity_scores` string[]: Per-validator inactivity scores. New in Altair
      - `current_sync_committee` object
        - `pubkeys` string[]
        - `aggregate_pubkey` string: The validator's BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._
      - `next_sync_committee` object
        - `pubkeys` string[]
        - `aggregate_pubkey` string: The validator's BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._
    - object: The [`BeaconState`](https://github.com/ethereum/consensus-specs/blob/v1.1.9/specs/bellatrix/beacon-chain.md#beaconstate) object from the Eth2.0 Bellatrix spec.
      - `genesis_time` string
      - `genesis_validators_root` string
      - `slot` string
      - `fork` object: The [`Fork`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#fork) object from the CL spec.
        - `previous_version` string: a fork version number
        - `current_version` string: a fork version number
        - `epoch` string
      - `latest_block_header` object: The [`BeaconBlockHeader`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#beaconblockheader) object from the CL spec.
        - `slot` string: The slot to which this block corresponds.
        - `proposer_index` string: Index of validator in validator registry.
        - `parent_root` string: The signing merkle root of the parent `BeaconBlock`.
        - `state_root` string: The tree hash merkle root of the `BeaconState` for the `BeaconBlock`.
        - `body_root` string: The tree hash merkle root of the `BeaconBlockBody` for the `BeaconBlock`
      - `block_roots` string[]
      - `state_roots` string[]
      - `historical_roots` string[]
      - `eth1_data` object: The [`Eth1Data`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#eth1data) object from the CL spec.
        - `deposit_root` string: Root of the deposit tree.
        - `deposit_count` string: Total number of deposits.
        - `block_hash` string: Ethereum 1.x block hash.
      - `eth1_data_votes` object[]
        - `deposit_root` string: Root of the deposit tree.
        - `deposit_count` string: Total number of deposits.
        - `block_hash` string: Ethereum 1.x block hash.
      - `eth1_deposit_index` string
      - `validators` object[]
        - `pubkey` string: The validator's BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._
        - `withdrawal_credentials` string: Root of withdrawal credentials
        - `effective_balance` string: Balance at stake in Gwei.
        - `slashed` boolean: Was validator slashed (not longer active).
        - `activation_eligibility_epoch` string: When criteria for activation were met.
        - `activation_epoch` string: Epoch when validator activated. 'FAR_FUTURE_EPOCH' if not activated
        - `exit_epoch` string: Epoch when validator exited. 'FAR_FUTURE_EPOCH' if not exited.
        - `withdrawable_epoch` string: When validator can withdraw or transfer funds. 'FAR_FUTURE_EPOCH' if not defined
      - `balances` string[]: Validator balances in gwei
      - `randao_mixes` string[]
      - `slashings` string[]: Per-epoch sums of slashed effective balances
      - `previous_epoch_participation` string[]
      - `current_epoch_participation` string[]
      - `justification_bits` string: Bit set for every recent justified epoch
      - `previous_justified_checkpoint` object: The [`Checkpoint`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#checkpoint
        - `epoch` string
        - `root` string
      - `current_justified_checkpoint` object: The [`Checkpoint`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#checkpoint
        - `epoch` string
        - `root` string
      - `finalized_checkpoint` object: The [`Checkpoint`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#checkpoint
        - `epoch` string
        - `root` string
      - `inactivity_scores` string[]: Per-validator inactivity scores. New in Altair
      - `current_sync_committee` object
        - `pubkeys` string[]
        - `aggregate_pubkey` string: The validator's BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._
      - `next_sync_committee` object
        - `pubkeys` string[]
        - `aggregate_pubkey` string: The validator's BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._
      - `latest_execution_payload_header` object: The [`ExecutionPayload`](https://github.com/ethereum/consensus-specs/blob/v1.1.9/specs/bellatrix/beacon-chain.md#executionpayload) object from the CL Bellatrix spec.
        - `parent_hash` string
        - `fee_recipient` string: An address on the execution (Ethereum 1) network.
        - `state_root` string
        - `receipts_root` string
        - `logs_bloom` string
        - `prev_randao` string
        - `block_number` string
        - `gas_limit` string
        - `gas_used` string
        - `timestamp` string
        - `extra_data` string: Extra data on the execution (Ethereum 1) network.
        - `base_fee_per_gas` string
        - `block_hash` string
        - `transactions_root` string

## Other responses

- `400`: Invalid state ID
- `404`: State not found
- `500`: Beacon node internal error.

---

[API](https://skmtc.dev/nodereal/apis/eth-beacon-node-api.md) - [All operations](https://skmtc.dev/nodereal/apis/eth-beacon-node-api/llms.txt) - [OpenAPI document](https://skmtc.dev/nodereal/apis/eth-beacon-node-api/revisions/1878ea8657a1?raw)
