For AI agents: an LLM-friendly Markdown version of every page is available by appending .md to its URL or by sending an Accept: text/markdown request header. The full documentation index is at https://www.ankr.com/docs/llms.txt
Skip to main content

Ethereum Beacon — Beacon (1/3)

API reference for Ethereum Beacon. All methods ->

Part 1 of 3: 1 · 2 · 3

GET /eth/v2/beacon/blocks/{block_id}

Retrieves a block.

Retrieves block details for given block id. Depending on Accept header it can be returned either as json or as bytes serialized by SSZ

Parameters

  • block_id (string; path; required): a block identifier. Can be one of: head (canonical head in node's view), genesis, finalized, <slot>, <hex encoded blockRoot with 0x prefix>.

Request example

curl -X GET "https://rpc.ankr.com/premium-http/eth_beacon/YOUR_ANKR_API_KEY/eth/v2/beacon/blocks/{block_id}" \
-H "Accept: application/json"

Responses

  • Code 200: Success.

Note: The Eth-Consensus-Version header is required in response so client can deserialize returned json or ssz data more effectively.

{
"version": "phase0",
"execution_optimistic": false,
"finalized": false,
"data": {
"message": {
"slot": "1",
"proposer_index": "1",
"parent_root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
"state_root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
"body": {
"randao_reveal": "0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505",
"eth1_data": {
"deposit_root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
"deposit_count": "1",
"block_hash": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2"
},
"graffiti": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
"proposer_slashings": [
{
"signed_header_1": {
"message": {
"slot": "1",
"proposer_index": "1",
"parent_root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
"state_root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
"body_root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2"
},
"signature": "0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505"
},
"signed_header_2": {
"message": {
"slot": "1",
"proposer_index": "1",
"parent_root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
"state_root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
"body_root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2"
},
"signature": "0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505"
}
}
],
"attester_slashings": [
{
"attestation_1": {
"attesting_indices": [
"1"
],
"signature": "0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505",
"data": {
"slot": "1",
"index": "1",
"beacon_block_root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
"source": {
"epoch": "1",
"root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2"
},
"target": {
"epoch": "1",
"root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2"
}
}
},
"attestation_2": {
"attesting_indices": [
"1"
],
"signature": "0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505",
"data": {
"slot": "1",
"index": "1",
"beacon_block_root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
"source": {
"epoch": "1",
"root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2"
},
"target": {
"epoch": "1",
"root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2"
}
}
}
}
],
"attestations": [
{
"aggregation_bits": "0x01",
"signature": "0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505",
"data": {
"slot": "1",
"index": "1",
"beacon_block_root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
"source": {
"epoch": "1",
"root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2"
},
"target": {
"epoch": "1",
"root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2"
}
}
}
],
"deposits": [
{
"proof": [
"0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
"0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
"0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
"0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
"0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
"0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
"0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
"0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
"0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
"0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
"0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
"0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
"0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
"0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
"0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
"0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
"0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
"0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
"0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
"0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
"0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
"0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
"0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
"0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
"0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
"0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
"0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
"0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
"0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
"0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
"0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
"0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2"
],
"data": {
"pubkey": "0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a",
"withdrawal_credentials": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
"amount": "1",
"signature": "0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505"
}
}
],
"voluntary_exits": [
{
"message": {
"epoch": "1",
"validator_index": "1"
},
"signature": "0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505"
}
]
}
},
"signature": "0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505"
}
}
  • Code 400: The block ID supplied could not be parsed.
{
"code": 400,
"message": "Invalid block ID: current"
}
  • Code 404: Block not found.
{
"code": 404,
"message": "Block not found"
}
  • Code 500: Beacon node internal error.
{
"code": 500,
"message": "Internal server error"
}

GET /eth/v1/beacon/blocks/{block_id}/root

Retrieves a block root.

Retrieves hashTreeRoot of BeaconBlock/BeaconBlockHeader

Parameters

  • block_id (string; path; required): a block identifier. Can be one of: head (canonical head in node's view), genesis, finalized, <slot>, <hex encoded blockRoot with 0x prefix>.

Request example

curl -X GET "https://rpc.ankr.com/premium-http/eth_beacon/YOUR_ANKR_API_KEY/eth/v1/beacon/blocks/{block_id}/root" \
-H "Accept: application/json"

Responses

  • Code 200: Success.
{
"execution_optimistic": false,
"finalized": false,
"data": {
"root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2"
}
}
  • Code 400: The block ID supplied could not be parsed.
{
"code": 400,
"message": "Invalid block ID: current"
}
  • Code 404: Block not found.
{
"code": 404,
"message": "Block not found"
}
  • Code 500: Beacon node internal error.
{
"code": 500,
"message": "Internal server error"
}

GET /eth/v1/beacon/blocks/{block_id}/attestations

Retrieves block attestations.

Retrieves attestation included in requested block.

Parameters

  • block_id (string; path; required): a block identifier. Can be one of: head (canonical head in node's view), genesis, finalized, <slot>, <hex encoded blockRoot with 0x prefix>.

Request example

curl -X GET "https://rpc.ankr.com/premium-http/eth_beacon/YOUR_ANKR_API_KEY/eth/v1/beacon/blocks/{block_id}/attestations" \
-H "Accept: application/json"

Responses

  • Code 200: Success.
{
"execution_optimistic": false,
"finalized": false,
"data": [
{
"aggregation_bits": "0x01",
"signature": "0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505",
"data": {
"slot": "1",
"index": "1",
"beacon_block_root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
"source": {
"epoch": "1",
"root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2"
},
"target": {
"epoch": "1",
"root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2"
}
}
}
]
}
  • Code 400: The block ID supplied could not be parsed.
{
"code": 400,
"message": "Invalid block ID: current"
}
  • Code 404: Block not found.
{
"code": 404,
"message": "Block not found"
}
  • Code 500: Beacon node internal error.
{
"code": 500,
"message": "Internal server error"
}

GET /eth/v1/beacon/blob_sidecars/{block_id}

Retrieves blob sidecars.

Retrieves blob sidecars for a given block id. Depending on Accept header it can be returned either as json or as bytes serialized by SSZ.

If the indices parameter is specified, only the blob sidecars with the specified indices will be returned. There are no guarantees for the returned blob sidecars in terms of ordering.

Parameters

  • block_id (string; path; required): a block identifier. Can be one of: head (canonical head in node's view), genesis, finalized, <slot>, <hex encoded blockRoot with 0x prefix>.

  • indices (array; string; query): an array of indices for blob sidecars to request for in the specified block. Returns all blob sidecars in the block if not specified.

Request example

curl -X GET "https://rpc.ankr.com/premium-http/eth_beacon/YOUR_ANKR_API_KEY/eth/v1/beacon/blob_sidecars/{block_id}" \
-H "Accept: application/json"

Responses

  • 200: Successful response.
{
"data": [
{
"index": "1",
"blob": "0x4aad0Fad1Efb9D9825Cde0846cabc4323312ABAA63fE5435824F8d7D8c89B43Bcfce42BBF8BFe6A4D89Ede1ADa060a8AC2e8cb425Af0b8f30cD89BFaB0b51aDd0BAdcE8cAB69F3E8DcB76709a78D4Eb9D4d2D71f02beea8f3E01DEBeeEbb583...",
"kzg_commitment": "0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a",
"kzg_proof": "0xAD18a6a4A3EECfb6eba0A36236e74a00BE86B44d925fabAcbc2c4B78920Baf3dFEeb5Bff3794A5cC8F1d48EBc0921AB2",
"signed_block_header": {
"message": {
"slot": "1",
"proposer_index": "1",
"parent_root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
"state_root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
"body_root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2"
},
"signature": "0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505"
},
"kzg_commitment_inclusion_proof": [
"0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
"0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
"0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
"0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
"0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
"0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2"
]
}
]
}
  • 400: The block ID supplied could not be parsed.
{
"code": 400,
"message": "Invalid block ID: current"
}
  • 404: Block not found.
{
"code": 404,
"message": "Block not found"
}
  • 500: Beacon node internal error.
{
"code": 500,
"message": "Internal server error"
}

POST /eth/v1/beacon/rewards/sync_committee/{block_id}

Retrieves sync committee rewards.

Retrieves the rewards info for sync committee members specified by array of public keys or validator index. If no array is provided, return reward info for every committee member.

Parameters

  • block_id (string; path; required): a block identifier. Can be one of: head (canonical head in node's view), genesis, finalized, <slot>, <hex encoded blockRoot with 0x prefix>.

  • <Request body>: An array of either hex encoded public key (any bytes48 with 0x prefix) or validator index.

[
"string"
]

Request example

curl -X POST "https://rpc.ankr.com/premium-http/eth_beacon/YOUR_ANKR_API_KEY/eth/v1/beacon/rewards/sync_committee/{block_id}" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{your_request_body}'

Responses

  • 200: Success.
{
"execution_optimistic": false,
"finalized": false,
"data": [
{
"validator_index": "0",
"reward": "2000"
}
]
}
  • 400: Invalid get sync committee rewards request.
{
"code": 400,
"message": "Invalid request to retrieve sync committee rewards info"
}
  • 404: Block not found.
{
"code": 404,
"message": "Block not found"
}
  • 500: Beacon node internal error.
{
"code": 500,
"message": "Internal server error"
}

GET /eth/v1/beacon/deposit_snapshot

Retrieves deposit tree snapshot.

Retrieve EIP-4881 Deposit Tree Snapshot. Depending on Accept header it can be returned either as json or as bytes serialized by SSZ.

Parameters

None.

Request example

curl -X GET "https://rpc.ankr.com/premium-http/eth_beacon/YOUR_ANKR_API_KEY/eth/v1/beacon/deposit_snapshot" \
-H "Accept: application/json"

Responses

  • 200: Success.
{
"data": {
"finalized": [
"0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2"
],
"deposit_root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
"deposit_count": "1",
"execution_block_hash": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
"execution_block_height": "1"
}
}
  • 404: No Finalized Snapshot Available.
{
"code": 404,
"message": "No Finalized Snapshot Available"
}
  • 500: Beacon node internal error.
{
"code": 500,
"message": "Internal server error"
}

GET /eth/v1/beacon/rewards/blocks/{block_id}

Retrieves block rewards.

Retrieve block reward info for a single block.

Parameters

  • block_id (string; path; required): a block identifier. Can be one of: head (canonical head in node's view), genesis, finalized, <slot>, <hex encoded blockRoot with 0x prefix>.

Request example

curl -X GET "https://rpc.ankr.com/premium-http/eth_beacon/YOUR_ANKR_API_KEY/eth/v1/beacon/rewards/blocks/{block_id}" \
-H "Accept: application/json"

Responses

  • 200: Success.
{
"execution_optimistic": false,
"finalized": false,
"data": {
"proposer_index": "123",
"total": "123",
"attestations": "123",
"sync_aggregate": "123",
"proposer_slashings": "123",
"attester_slashings": "123"
}
}
  • 400: Invalid get block rewards request.
{
"code": 400,
"message": "Invalid request to retrieve block rewards info"
}
  • 404: The block or required state not found.
{
"code": 404,
"message": "Block or required state not found"
}
  • 500: Beacon node internal error.
{
"code": 500,
"message": "Internal server error"
}

POST /eth/v1/beacon/rewards/attestations/{epoch}

Retrieves attestations rewards.

Retrieve attestation reward info for validators specified by array of public keys or validator index. If no array is provided, return reward info for every validator.

Parameters

  • epoch (string; path; required): the epoch to get rewards info from.
  • <request body>: an array of either hex encoded public key (any bytes48 with 0x prefix) or validator index.
[
"string"
]

Request example

curl -X POST "https://rpc.ankr.com/premium-http/eth_beacon/YOUR_ANKR_API_KEY/eth/v1/beacon/rewards/attestations/{epoch}" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{request body}'

Responses

  • 200: Success.
{
"execution_optimistic": false,
"finalized": false,
"data": {
"ideal_rewards": [
{
"effective_balance": "1000000000",
"head": "2500",
"target": "5000",
"source": "5000",
"inclusion_delay": "5000",
"inactivity": "5000"
}
],
"total_rewards": [
{
"validator_index": "0",
"head": "2000",
"target": "2000",
"source": "4000",
"inclusion_delay": "2000",
"inactivity": "2000"
}
]
}
}
  • 400: Invalid get attestations rewards request.
{
"code": 400,
"message": "Invalid request to retrieve attestations rewards info"
}
  • 404: Epoch not known or required data not available.
{
"code": 404,
"message": "Epoch not known or required data not available"
}
  • 500: Beacon node internal error.
{
"code": 500,
"message": "Internal server error"
}