Beacon Kit API Reference
Enabling the API
Beacon Kit offers an API that follows the Beacon Node API. This API is default off and must be enabled by revising your installation's app.toml
file, in the beacon-kit.node-api
section. When enabled, the suggested port is 3500.
Note that this is different from CometBFT API endpoint, typically exposed from
API Values
All balance values are returned in Gwei (1 ETH = 10^9 Gwei)
Validator statuses include:
active_ongoing
active_exiting
active_slashed
exited_unslashed
exited_slashed
pending_initialized
pending_queued
withdrawal_possible
withdrawal_done
State IDs can be:
head
genesis
finalized
justified
- A specific slot number
API Methods
Get Block Proposer Proof
Returns the block proposer's public key for the given timestamp ID, along with Merkle proofs for the public key and proposer index, verifiable against the beacon block root. Also returns the beacon block header and root.
GET /bkit/v1/proof/block_proposer/{timestamp_id}
curl -s http://localhost:3500/bkit/v1/proof/block_proposer/{timestamp_id}
Get Blob Sidecars
Retrieves blob sidecars for the specified block ID. Optionally filters by blob indices.
GET /eth/v1/beacon/blob_sidecars/{block_id}
# Get all blob sidecars for a block
curl -s http://localhost:3500/eth/v1/beacon/blob_sidecars/head
# Get specific blob sidecars by indices
curl -s "http://localhost:3500/eth/v1/beacon/blob_sidecars/head?indices=0,1"
Get Chain Genesis Details
Retrieves details of the chain's genesis, including genesis time, validators root, and fork version.
GET /eth/v1/beacon/genesis
curl -s http://localhost:3500/eth/v1/beacon/genesis
Get Block Headers
Retrieves block headers matching the specified slot or parent root.
GET /eth/v1/beacon/headers
# Get headers by slot
curl -s "http://localhost:3500/eth/v1/beacon/headers?slot=12345"
# Get headers by parent root
curl -s "http://localhost:3500/eth/v1/beacon/headers?parent_root=0x..."
Get Block Header by ID
Retrieves the block header for the specified block ID.
GET /eth/v1/beacon/headers/{block_id}
curl -s http://localhost:3500/eth/v1/beacon/headers/head
Get Block Rewards
Retrieves execution layer block rewards for the specified block ID.
GET /eth/v1/beacon/rewards/blocks/{block_id}
curl -s http://localhost:3500/eth/v1/beacon/rewards/blocks/head
Get Fork Information
Retrieves the fork object for the specified state ID, providing information about past and upcoming forks.
GET /eth/v1/beacon/states/{state_id}/fork
curl -s http://localhost:3500/eth/v1/beacon/states/head/fork
Get RANDAO Mix
Retrieves the RANDAO mix for the state ID and optionally a specific epoch. Defaults to genesis epoch if not specified.
GET /eth/v1/beacon/states/{state_id}/randao
curl -s http://localhost:3500/eth/v1/beacon/states/head/randao
Get State Root
Retrieves the hash tree root of the beacon state for the specified state ID.
GET /eth/v1/beacon/states/{state_id}/root
curl -s http://localhost:3500/eth/v1/beacon/states/head/root
Get Validator Balances
Retrieves the balances for the specified validators at the given state ID.
GET /eth/v1/beacon/states/{state_id}/validator_balances
# Get all validator balances
curl -s http://localhost:3500/eth/v1/beacon/states/head/validator_balances
# Get specific validator balances
curl -s "http://localhost:3500/eth/v1/beacon/states/head/validator_balances?id=1,2,3"
Get Validators
Retrieves validators, optionally filtered by ID and status, for the specified state ID.
GET /eth/v1/beacon/states/{state_id}/validators
# Get all validators
curl -s http://localhost:3500/eth/v1/beacon/states/head/validators
# Get specific validators by ID and status
curl -s "http://localhost:3500/eth/v1/beacon/states/head/validators?id=1,2,3&status=active_ongoing"
Get Validator by ID
Retrieves a single validator by its ID for the specified state ID.
GET /eth/v1/beacon/states/{state_id}/validators/{validator_id}
curl -s http://localhost:3500/eth/v1/beacon/states/head/validators/1
Get Chain Specification
Retrieves the chain specification, including deposit contract address, network ID, and various fork-specific parameters.
GET /eth/v1/config/spec
curl -s http://localhost:3500/eth/v1/config/spec
Get Node Syncing Status
Retrieves the node's current sync status. (Currently returns placeholder data indicating the node is synced).
GET /eth/v1/node/syncing
curl -s http://localhost:3500/eth/v1/node/syncing
Get Node Version
Retrieves the version of the node software. (Currently returns a placeholder version).
GET /eth/v1/node/version
curl -s http://localhost:3500/eth/v1/node/version
Get Full Beacon State
Retrieves the full beacon state for the specified state ID, including fork version and finality status.
GET /eth/v2/debug/beacon/states/{state_id}
curl -s http://localhost:3500/eth/v2/debug/beacon/states/head