Ethereum Beacon — Beacon (1/3)
API reference for Ethereum Beacon. All methods ->
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"
}