/eth/v1/validator/duties/proposer/{epoch}

Get block proposers duties

Request beacon node to provide all validators that are scheduled to propose a block in the given epoch. Duties should only need to be checked once per epoch, however a chain reorganization could occur that results in a change of duties. For full safety, you should monitor head events and confirm the dependent root in this response matches:

  • event.current_duty_dependent_root when compute_epoch_at_slot(event.slot) == epoch
  • event.block otherwise

The dependent_root value is get_block_root_at_slot(state, compute_start_slot_at_epoch(epoch) - 1) or the genesis block root in the case of underflow.

Parameters

NameRequiredTypeDetail
epochString (Query)Should only be allowed 1 epoch ahead

Result

Return all validators that are scheduled to propose a block in the given epoch

Example

Request

curl <your-endpoint>/eth/v1/validator/duties/proposer/1 

Return

On success

{
    "dependent_root": "0xde3224c4d6c3d9d4d79a1a7b5f2defc5cf87066f29786d463b5cbbac05002b27",
    "data": [
        {
            "pubkey": "0x94c7a3eb04af1652393b2e45ba9b9cc2de691dd1673d5fea543a2a4b5efd3169b319f5c9ebc0ae757fdb14cd267989af",
            "validator_index": "8072",
            "slot": "32"
        },
        {
            "pubkey": "0xaf970ae250be1c2f832c9a4e32ae8d448dc1e40c3b04904772239170ed455fb3fc032e1415218999a560204506e9f847",
            "validator_index": "15162",
            "slot": "33"
        },
        ...
        {
            "pubkey": "0xb50b0428e49a082d1b8ab58dc43b3867c26ba85738a51a617e1043a945d8d43c417ef35a85d31f1aa332a052e157f775",
            "validator_index": "9237",
            "slot": "63"
        }
    ],
    "execution_optimistic": false
}