> ## Documentation Index
> Fetch the complete documentation index at: https://docs.chainstack.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Proposer duties

> The /eth/v1/validator/duties/proposer/{epoch} method is a crucial API endpoint in the Ethereum Beacon Chain, specifically designed for validators.

<Note>
  **Get the non-pruned state**

  To get a correct response from the interactive API example, make sure you provide the latest or close to latest epoch. For the latest epoch number, see [https://beaconcha.in/](https://beaconcha.in/)
</Note>

The `/eth/v1/validator/duties/proposer/{epoch}` method is a crucial API endpoint in the Ethereum Beacon Chain, specifically designed for validators. It provides information about which validators are scheduled to propose blocks during a specified epoch. An epoch in Ethereum is a set period during which certain blockchain activities, including block proposals, take place.

<Check>
  **Get your own node endpoint today**

  [Start for free](https://console.chainstack.com/) and get your app to production levels immediately. No credit card required.

  You can sign up with your GitHub, X, Google, or Microsoft account.
</Check>

This method is particularly important for validators to understand their responsibilities in the upcoming epochs and prepare for block proposal duties accordingly.

### Parameters

* `{epoch}`: The specific epoch for which the proposer duties are being queried. This is a required parameter and must be specified as a part of the URL.

### Response

* `array` — list of proposer duty objects.
  * Each `object` in the array represents a proposer duty for a specific validator, containing:
    * `pubkey` — the public key of the validator who is assigned the proposer duty. This key uniquely identifies the validator within the Beacon Chain network.
    * `validator_index` — the index of the validator within the validator registry of the Beacon Chain.
    * `slot` — the specific slot during the epoch at which the validator is expected to propose a block. Slots are subdivisions of an epoch, and each slot provides an opportunity for a block to be added to the Beacon Chain.

The `/eth/v1/validator/duties/proposer/{epoch}` method is a vital tool for validators to effectively participate in the block proposal process, which is a key component of the consensus mechanism in Ethereum. By providing clear and timely information about their upcoming duties, validators can ensure the smooth operation and ongoing security of the Beacon Chain.


## OpenAPI

````yaml /openapi/ethereum_beacon_chain_api/validatiors_info/proposer_duties.json GET /validator/duties/proposer/{epoch}
openapi: 3.0.0
info:
  title: Ethereum Validator Proposer Duties API
  version: 1.0.0
servers:
  - url: >-
      https://beacon-nd-422-757-666.p2pify.com/0a9d79d93fb2f4a4b1e04695da2b77a7/eth/v1
security: []
paths:
  /validator/duties/proposer/{epoch}:
    get:
      summary: Get proposer duties
      operationId: getProposerDuties
      parameters:
        - name: epoch
          in: path
          description: Epoch for which to get the proposer duties
          required: true
          schema:
            type: integer
            format: int64
            default: 1
      responses:
        '200':
          description: Successfully retrieved proposer duties
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProposerDuties'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    ProposerDuties:
      type: array
      items:
        type: object
        properties:
          pubkey:
            type: string
          validator_index:
            type: integer
            format: int64
          slot:
            type: integer
            format: int64
        required:
          - pubkey
          - validator_index
          - slot
    Error:
      type: object
      properties:
        code:
          type: integer
          format: int32
        message:
          type: string
      required:
        - code
        - message

````