Ethereum Beacon
Available for Premium users only.
Ethereum Beacon API is available on Web3 API platform upon switching on the Beacon toggle.
The Beacon Chain is a consensus layer that introduced a proof-of-stake to Ethereum. The Beacon Chain mechanism is responsible for creating new blocks, making sure those new blocks are valid, and rewarding validators with ETH for keeping the network secure.
In order for your Web3 application to interact with the Beacon Chain — either by reading blockchain data or sending transactions to the network — it must connect to a Beacon node. Developers interact with the blockchain using the methods provided by the API.
Beacon API uses the REST interface for querying, responses come in JSON format.
Methods supported
Beacon:
GET /eth/v1/beacon/genesis— retrieves the details of the chain's genesis.GET /eth/v1/beacon/states/{state_id}/root— retrieves the state SSZ HashTreeRoot.GET /eth/v1/beacon/states/{state_id}/fork— retrieves the Fork object for a requested state.GET /eth/v1/beacon/states/{state_id}/finality_checkpoints— retrieves state finality checkpoints.GET /eth/v1/beacon/states/{state_id}/validators— retrieves validators from state.POST /eth/v1/beacon/states/{state_id}/validators— retrieves validators from state.GET /eth/v1/beacon/states/{state_id}/validators/{validator_id}— retrieves the validator from state by ID.GET /eth/v1/beacon/states/{state_id}/validator_balances— retrieves validator balances from state.GET /eth/v1/beacon/states/{state_id}/committees— retrieves all committees for a state.GET /eth/v1/beacon/states/{state_id}/sync_committees— retrieves sync committees for a state.GET /eth/v1/beacon/headers— retrieves block headers.GET /eth/v1/beacon/headers/{block_id}— retrieves a block header.POST /eth/v1/beacon/blocks— publishes a signed block.POST /eth/v1/beacon/blinded_blocks— publishes a signed block.GET /eth/v2/beacon/blocks/{block_id}— retrieves a block.GET /eth/v1/beacon/blocks/{block_id}/root— retrieves a block root.GET /eth/v1/beacon/blocks/{block_id}/attestations— retrieves block attestations.GET /eth/v1/beacon/pool/attestations— retrieves attestations from the operations pool.POST /eth/v1/beacon/pool/attestations— submits attestation objects to the node.GET /eth/v1/beacon/pool/attester_slashings— retrieves attester slashings from the operations pool.POST /eth/v1/beacon/pool/attester_slashings— submits the AttesterSlashing object to the node's pool.GET /eth/v1/beacon/pool/proposer_slashings— retrieves proposer slashings from the operations pool.POST /eth/v1/beacon/pool/proposer_slashings— submits the ProposerSlashing object to the node's pool.POST /eth/v1/beacon/pool/sync_committees— submits sync committee signatures to the node.GET /eth/v1/beacon/pool/voluntary_exits— retrieves SignedVoluntaryExit from the operations pool.POST /eth/v1/beacon/pool/voluntary_exits— submits the SignedVoluntaryExit object to the node's pool.
Builder:
GET /eth/v1/builder/states/{state_id}/expected_withdrawals— retrieves the withdrawals that are to be included for the block built on the specified state.
Config:
GET /eth/v1/config/fork_schedule— retrieves scheduled upcoming forks.GET /eth/v1/config/spec— retrieves spec parameters.GET /eth/v1/config/deposit_contract— retrieves a deposit contract address.
Debug:
GET /eth/v2/debug/beacon/states/{state_id}— retrieves the full BeaconState object.GET /eth/v2/debug/beacon/heads— retrieves fork choice leaves.GET /eth/v1/debug/fork_choice— retrieves fork choice array.
Events:
GET /eth/v1/events— subscribes to Beacon node events.
Node:
GET /eth/v1/node/identity— retrieves node network identity.GET /eth/v1/node/peers— retrieves node network peers.GET /eth/v1/node/peers/{peer_id}— retrieves a peer.GET /eth/v1/node/peer_count— retrieves peer count.GET /eth/v1/node/version— retrieves a version string of the running Beacon node.GET /eth/v1/node/syncing— retrieves a node syncing status.GET /eth/v1/node/health— retrieves health check.
Validator:
POST /eth/v1/validator/duties/attester/{epoch}— retrieves attester duties.GET /eth/v1/validator/duties/proposer/{epoch}— retrieves block proposer duties.POST /eth/v1/validator/duties/sync/{epoch}— retrieves sync committee duties.GET /eth/v3/validator/blocks/{slot}— produces a new block, without signature.GET /eth/v1/validator/attestation_data— produces attestation data.GET /eth/v1/validator/aggregate_attestation— retrieves aggregated attestation.POST /eth/v1/validator/aggregate_and_proofs— publishes multiple aggregate and proofs.POST /eth/v1/validator/beacon_committee_subscriptions— signals the Beacon node to prepare for a committee subnet.POST /eth/v1/validator/sync_committee_subscriptions— subscribes to sync committee subnets.POST /eth/v1/validator/beacon_committee_selections— determines if a distributed validator has been selected to aggregate attestations.GET /eth/v1/validator/sync_committee_contribution— produces a sync committee contribution.POST /eth/v1/validator/sync_committee_selections— determines if a distributed validator has been selected to make a sync committee contribution.POST /eth/v1/validator/contribution_and_proofs— publishes multiple contribution and proofs.POST /eth/v1/validator/prepare_beacon_proposer— provides the Beacon node with proposals for the given validators.POST /eth/v1/validator/register_validator— provides the Beacon node with registrations for the given validators to the external builder network.POST /eth/v1/validator/liveness/{epoch}— indicates if a validator has been observed on the network.
ValidatorRequiredApi:
GET /eth/v1/beacon/genesis— retrieves details of the chain's genesis.GET /eth/v1/beacon/states/{state_id}/fork— retrieves the Fork object for a requested state.GET /eth/v1/beacon/states/{state_id}/validators/{validator_id}— retrieves the validator from state by ID.POST /eth/v1/beacon/blocks— publishes a signed block.POST /eth/v2/beacon/blocks— publishes a signed block.POST /eth/v1/beacon/blinded_blocks— publishes a signed block.POST /eth/v2/beacon/blinded_blocks— publishes a signed block.POST /eth/v1/beacon/pool/attestations— submits attestation objects to the node.POST /eth/v1/beacon/pool/sync_committees— submits sync committee signatures to the node.GET /eth/v1/node/syncing— retrieves a node syncing status.GET /eth/v1/config/spec— retrieves spec parameters.POST /eth/v1/validator/duties/attester/{epoch}— retrieves attester duties.GET /eth/v1/validator/duties/proposer/{epoch}— retrieves block proposer duties.POST /eth/v1/validator/duties/sync/{epoch}— retrieves sync committee duties.GET /eth/v3/validator/blocks/{slot}— produces a new block, without signature.GET /eth/v1/validator/attestation_data— produces attestation data.GET /eth/v1/validator/aggregate_attestation— retrieves aggregated attestation.POST /eth/v1/validator/aggregate_and_proofs— publishes multiple aggregate and proofs.POST /eth/v1/validator/beacon_committee_subscriptions— signals the Beacon node to prepare for a committee subnet.POST /eth/v1/validator/sync_committee_subscriptions— subscribes to sync committee subnets.GET /eth/v1/validator/sync_committee_contribution— produces a sync committee contribution.POST /eth/v1/validator/contribution_and_proofs— publishes multiple contribution and proofs.POST /eth/v1/validator/prepare_beacon_proposer— provides the Beacon node with proposals for the given validators.GET /eth/v1/events— subscribes to Beacon node events.
Rewards:
POST /eth/v1/beacon/rewards/sync_committee/{block_id}— retrieves sync committee rewards.GET /eth/v1/beacon/rewards/blocks/{block_id}— retrieves sync committee rewards.POST /eth/v1/beacon/rewards/attestations/{epoch}— retrieves attestations rewards.
Methods
Beacon
GET /eth/v1/beacon/genesisGET /eth/v1/beacon/states/{state_id}/rootGET /eth/v1/beacon/states/{state_id}/forkGET /eth/v1/beacon/states/{state_id}/finality_checkpointsGET /eth/v1/beacon/states/{state_id}/validatorsPOST /eth/v1/beacon/states/{state_id}/validatorsGET /eth/v1/beacon/states/{state_id}/validators/{validator_id}GET /eth/v1/beacon/states/{state_id}/validator_balancesPOST /eth/v1/beacon/states/{state_id}/validator_balancesGET /eth/v1/beacon/states/{state_id}/committeesGET /eth/v1/beacon/states/{state_id}/sync_committeesGET /eth/v1/beacon/states/{state_id}/randaoGET /eth/v1/beacon/headersGET /eth/v1/beacon/headers/{block_id}ResponsesPOST /eth/v1/beacon/blinded_blocksPOST /eth/v2/beacon/blinded_blocksPOST /eth/v1/beacon/blocksPOST /eth/v2/beacon/blocks
Beacon
GET /eth/v2/beacon/blocks/{block_id}GET /eth/v1/beacon/blocks/{block_id}/rootGET /eth/v1/beacon/blocks/{block_id}/attestationsGET /eth/v1/beacon/blob_sidecars/{block_id}POST /eth/v1/beacon/rewards/sync_committee/{block_id}GET /eth/v1/beacon/deposit_snapshotGET /eth/v1/beacon/rewards/blocks/{block_id}POST /eth/v1/beacon/rewards/attestations/{epoch}GET /eth/v1/beacon/blinded_blocks/{block_id}GET /eth/v1/beacon/light_client/bootstrap/{block_root}GET /eth/v1/beacon/light_client/updatesGET /eth/v1/beacon/light_client/finality_updateGET /eth/v1/beacon/light_client/optimistic_updateGET /eth/v1/beacon/pool/attestationsPOST /eth/v1/beacon/pool/attestationsGET /eth/v1/beacon/pool/attester_slashingsPOST /eth/v1/beacon/pool/attester_slashingsGET /eth/v1/beacon/pool/proposer_slashingsPOST /eth/v1/beacon/pool/proposer_slashingsPOST /eth/v1/beacon/pool/sync_committeesGET /eth/v1/beacon/pool/voluntary_exitsPOST /eth/v1/beacon/pool/voluntary_exitsGET /eth/v1/beacon/pool/bls_to_execution_changesPOST /eth/v1/beacon/pool/bls_to_execution_changes
Builder, Config, Debug, Events, Node, Validator
GET /eth/v1/builder/states/{state_id}/expected_withdrawalsGET /eth/v1/config/fork_scheduleGET /eth/v1/config/specGET /eth/v1/config/deposit_contractGET /eth/v2/debug/beacon/states/{state_id}GET /eth/v2/debug/beacon/headsGET /eth/v1/debug/fork_choiceGET /eth/v1/eventsGET /eth/v1/node/identityGET /eth/v1/node/peersGET /eth/v1/node/peers/{peer_id}GET /eth/v1/node/peer_countGET /eth/v1/node/versionGET /eth/v1/node/syncingGET /eth/v1/node/healthPOST /eth/v1/validator/duties/attester/{epoch}GET /eth/v1/validator/duties/proposer/{epoch}POST /eth/v1/validator/duties/sync/{epoch}GET /eth/v3/validator/blocks/{slot}GET /eth/v1/validator/attestation_dataGET /eth/v1/validator/aggregate_attestation
Validator, ValidatorRequiredApi
POST /eth/v1/validator/aggregate_and_proofsPOST /eth/v1/validator/beacon_committee_subscriptionsPOST /eth/v1/validator/sync_committee_subscriptionsPOST /eth/v1/validator/beacon_committee_selectionsGET /eth/v1/validator/sync_committee_contributionPOST /eth/v1/validator/sync_committee_selectionsPOST /eth/v1/validator/contribution_and_proofsPOST /eth/v1/validator/prepare_beacon_proposerPOST /eth/v1/validator/register_validatorPOST /eth/v1/validator/liveness/{epoch}GET /eth/v1/beacon/genesisGET /eth/v1/beacon/states/{state_id}/forkGET /eth/v1/beacon/states/{state_id}/validators/{validator_id}POST /eth/v1/beacon/blocksPOST /eth/v2/beacon/blocks
ValidatorRequiredApi
POST /eth/v1/beacon/blinded_blocksPOST /eth/v2/beacon/blinded_blocksPOST /eth/v1/beacon/pool/attestationsPOST /eth/v1/beacon/pool/sync_committeesGET /eth/v1/node/syncingGET /eth/v1/config/specPOST /eth/v1/validator/duties/attester/{epoch}GET /eth/v1/validator/duties/proposer/{epoch}POST /eth/v1/validator/duties/sync/{epoch}GET /eth/v3/validator/blocks/{slot}GET /eth/v1/validator/attestation_dataGET /eth/v1/validator/aggregate_attestationPOST /eth/v1/validator/aggregate_and_proofsPOST /eth/v1/validator/beacon_committee_subscriptionsPOST /eth/v1/validator/sync_committee_subscriptionsGET /eth/v1/validator/sync_committee_contributionPOST /eth/v1/validator/contribution_and_proofsPOST /eth/v1/validator/prepare_beacon_proposer