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

# Slot

> Returns detailed information about a specific consensus layer slot.

In Ethereum, "slots" are data containers on the consensus layer where validator duties are scheduled and blocks may be proposed. Each slot may reference a block, but a slot can also be missed.

This endpoint provides an overview of the requested slot, including its status (proposed, missed, scheduled), assigned proposer, participation metrics, protocol events (deposits, withdrawals, slashings), and other relevant details. 

You can query by slot number, block root hash, or use "latest" / "finalized" for the most recent or finalized slot.




## OpenAPI

````yaml /v3/bundled.yaml post /api/v2/ethereum/slot
openapi: 3.0.4
info:
  title: External Service API
  version: 1.0.3
servers:
  - url: https://beaconcha.in
    description: Production API
security:
  - ApiKeyAuth: []
paths:
  /api/v2/ethereum/slot:
    post:
      tags:
        - Slot
      summary: Slot
      description: >
        Returns detailed information about a specific consensus layer slot.


        In Ethereum, "slots" are data containers on the consensus layer where
        validator duties are scheduled and blocks may be proposed. Each slot may
        reference a block, but a slot can also be missed.


        This endpoint provides an overview of the requested slot, including its
        status (proposed, missed, scheduled), assigned proposer, participation
        metrics, protocol events (deposits, withdrawals, slashings), and other
        relevant details. 


        You can query by slot number, block root hash, or use "latest" /
        "finalized" for the most recent or finalized slot.
      operationId: GetSlotOverview
      requestBody:
        $ref: '#/components/requestBodies/SlotAndChain'
      responses:
        '200':
          $ref: '#/components/responses/SlotOverview'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '405':
          $ref: '#/components/responses/MethodNotAllowed'
        '429':
          $ref: '#/components/responses/RateLimitExceeded'
        '500':
          $ref: '#/components/responses/InternalServerError'
        default:
          $ref: '#/components/responses/DefaultError'
components:
  requestBodies:
    SlotAndChain:
      content:
        application/json:
          schema:
            allOf:
              - $ref: '#/components/schemas/NamedChain'
              - $ref: '#/components/schemas/NamedSlotSelector'
            required:
              - slot
          example:
            slot:
              view: latest
            chain: mainnet
  responses:
    SlotOverview:
      description: Successful response.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/SlotOverview.Container'
    BadRequest:
      description: Bad Request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: Bad request. Please check your input and try again.
    Unauthorized:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: Unauthorized. Please provide a valid API key.
    Forbidden:
      description: Forbidden
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: >-
              endpoint not allowed for your subscription tier. upgrade your
              subscription at https://beaconcha.in/pricing.
    NotFound:
      description: Not Found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: The requested resource was not found.
    MethodNotAllowed:
      description: Method Not Allowed
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: 'method not allowed: GET. all public API endpoints use POST.'
    RateLimitExceeded:
      description: Rate Limit Exceeded
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: Rate limit exceeded. Please try again later.
    InternalServerError:
      description: Internal Server Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: internal server error. please try again later.
    DefaultError:
      description: An unexpected error response.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: An unexpected error occurred.
  schemas:
    NamedChain:
      type: object
      properties:
        chain:
          $ref: '#/components/schemas/Chain'
    NamedSlotSelector:
      type: object
      properties:
        slot:
          $ref: '#/components/schemas/SlotSelector'
      required:
        - slot
    SlotOverview.Container:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/SlotOverview.Data'
      description: Response containing basic information about the slot.
      required:
        - data
    Error:
      type: object
      properties:
        error:
          type: string
    Chain:
      type: string
      enum:
        - mainnet
        - hoodi
      default: mainnet
      description: The Ethereum chain to query.
    SlotSelector:
      description: |
        Specify a slot using one of the following methods.
        - Slot number
        - Consensus layer block root
        - View: "latest", "finalized" 
      oneOf:
        - $ref: '#/components/schemas/SlotByNumber'
        - $ref: '#/components/schemas/SlotByConsensusLayerBlockRoot'
        - $ref: '#/components/schemas/SlotByChainView'
      default: latest
    SlotOverview.Data:
      type: object
      description: >
        Overview statistics for a specific slot on the consensus layer.


        Note that a missed slot will be returned with minimal data (only slot
        number, epoch, timestamp, sync_committee_period and status).
      properties:
        slot:
          $ref: '#/components/schemas/Slot'
        epoch:
          $ref: '#/components/schemas/Epoch'
        timestamp:
          $ref: '#/components/schemas/timestamp'
        execution_reference:
          allOf:
            - $ref: '#/components/schemas/ExecutionLayerReference'
          nullable: true
        proposer:
          allOf:
            - $ref: '#/components/schemas/validator'
          nullable: true
        status:
          $ref: '#/components/schemas/ProposalDutyStatus'
        block_root:
          nullable: true
          allOf:
            - $ref: '#/components/schemas/ConsensusLayerBlockRoot'
        parent_root:
          nullable: true
          allOf:
            - $ref: '#/components/schemas/ConsensusLayerBlockRoot'
          description: >
            The block_root of the parent block for the block proposed in this
            slot.
        state_root:
          nullable: true
          description: |
            Hash-tree-root of the beaconchain state after processing this slot.
          allOf:
            - $ref: '#/components/schemas/Hash'
        graffiti:
          $ref: '#/components/schemas/graffiti'
          nullable: true
        randao_reveal:
          nullable: true
          description: |
            RANDAO entropy contribution 
          allOf:
            - $ref: '#/components/schemas/BLSSignature'
        signature:
          nullable: true
          description: |
            BLS signature of the block proposed in this slot.
          allOf:
            - $ref: '#/components/schemas/BLSSignature'
        sync_committee_period:
          nullable: true
          allOf:
            - $ref: '#/components/schemas/SyncCommitteePeriod'
        sync_participation:
          type: object
          nullable: true
          description: >
            Statistics showing sync committee participation for this slot.


            Note: This represents participation by validators assigned to the
            sync committee for this period.
          allOf:
            - $ref: '#/components/schemas/ValidatorSyncCommitteeDutyParticipation'
        attestation_participation:
          type: object
          nullable: true
          description: >
            Statistics showing attestation vote participation for this slot.


            Note: This represents participation by validators assigned
            attestation duties for this slot.
          allOf:
            - $ref: '#/components/schemas/ValidatorAttestationDutyParticipation'
        queue_events:
          $ref: '#/components/schemas/QueueEvents'
        bls_credential_changes_count:
          type: integer
          nullable: true
          description: >
            Number of BLS withdrawal credential changes included in this slot.

            A BLS withdrawal credential change allows a validator to update its
            withdrawal credentials from a BLS key to an execution address.
        included_slashing_count:
          $ref: '#/components/schemas/IncludedSlashingCounts'
        included_blob_commitment_count:
          type: integer
          nullable: true
          description: >
            The count of data blobs commitments (kzg commitments) included in
            this slot, if present.


            Data blobs are introduced by EIP-4844 (Proto-Danksharding) as part
            of the data availability layer in the Pectra hardfork.

            This field is null for slots prior to the hardfork activation.
        finality:
          $ref: '#/components/schemas/FinalityParams'
      required:
        - slot
        - epoch
        - sync_committee_period
        - timestamp
        - status
    SlotByNumber:
      title: Number
      type: object
      properties:
        number:
          $ref: '#/components/schemas/Slot'
      required:
        - number
    SlotByConsensusLayerBlockRoot:
      title: Root
      type: object
      properties:
        root:
          $ref: '#/components/schemas/ConsensusLayerBlockRoot'
      required:
        - root
    SlotByChainView:
      title: View
      type: object
      properties:
        view:
          allOf:
            - $ref: '#/components/schemas/ChainView'
          description: >
            - "latest": Refers to the most recent slot, which may be subject to
            reorganization.

            - "finalized": Refers to the latest slot that has been finalized and
            is not subject to change.
      required:
        - view
    Slot:
      type: integer
      minimum: 0
      description: Slot by number.
    Epoch:
      type: integer
      minimum: 0
    timestamp:
      type: integer
      minimum: 0
    ExecutionLayerReference:
      type: object
      description: |
        Reference to an execution layer block if one exists for the given slot.
        This will be null for missed slots.
      properties:
        block:
          $ref: '#/components/schemas/Block'
        hash:
          $ref: '#/components/schemas/ExecutionLayerBlockHash'
      required:
        - block
        - hash
    validator:
      type: object
      properties:
        index:
          allOf:
            - $ref: '#/components/schemas/validatorIndex'
          nullable: true
        public_key:
          $ref: '#/components/schemas/validatorPublicKey'
    ProposalDutyStatus:
      type: string
      enum:
        - success
        - missed
        - orphaned
        - scheduled
    ConsensusLayerBlockRoot:
      type: string
      pattern: ^0x[a-fA-F0-9]{64}$
      description: A 32-byte block root represented as a hex string with 0x prefix.
    Hash:
      type: string
      pattern: ^0x[a-fA-F0-9]{64}$
    graffiti:
      type: string
      nullable: true
      pattern: ^0x[a-fA-F0-9]{0,64}$
      description: >
        Validators can include an optional message called "graffiti" in proposed
        blocks.

        The graffiti is limited to 32 bytes and is returned as a hex-encoded
        string here.

        If no graffiti was included, this field will be null.
    BLSSignature:
      type: string
      pattern: ^0x[a-fA-F0-9]{192}$
      description: A BLS signature represented as a hex string with 0x prefix.
    SyncCommitteePeriod:
      description: >
        The sync committee period number.


        Each sync committee period spans 256 epochs (approximately 27.3 hours
        with 6.4 minute epochs).

        The first sync committee period (period 290 on Ethereum Mainnet) started
        at the Altair hard fork on Oct 27, 2021, 10:56:23am UTC (epoch 74240).
      type: integer
      minimum: 0
    ValidatorSyncCommitteeDutyParticipation:
      type: object
      properties:
        successful:
          type: integer
          description: >-
            Number of times the validator successfully participated in the sync
            committee.
          minimum: 0
        assigned:
          type: integer
          description: >-
            Number of times the validator has been assigned to participate in
            the sync committee, excluding missed slots.
          minimum: 0
        missed:
          type: integer
          description: >
            Number of times the validator missed participation in the sync
            committee, excluding missed network slots.


            The `missed` is always less than or equal to your actual
            `missed_including_missed_slots`.
          minimum: 0
        missed_including_missed_slots:
          type: integer
          description: >
            Number of times the validator missed participation in the sync
            committee, including missed network slots.


            Missed network slots are beyond your control. If this value is
            significantly higher than `missed`, it indicates that your validator
            is generally performing well, and most missed rewards are due to
            network issues rather than validator faults. 


            However, if both `missed` and `missed_including_missed_slots` are
            high, it suggests potential issues with your validator's setup or
            connectivity, leading to missed sync committee messages.
          minimum: 0
        scheduled:
          type: integer
          description: >-
            Number of scheduled sync committee votes for active and upcoming
            sync committees.
          minimum: 0
      required:
        - successful
        - assigned
        - missed
        - missed_including_missed_slots
        - scheduled
    ValidatorAttestationDutyParticipation:
      type: object
      properties:
        successful:
          type: integer
          description: Number of validators that successfully attested on this slot.
          minimum: 0
        assigned:
          type: integer
          description: Number of validators that were assigned to attest on this slot.
          minimum: 0
        missed:
          type: integer
          description: Number of validators that missed attesting on this slot.
          minimum: 0
      required:
        - successful
        - assigned
        - missed
    QueueEvents:
      type: object
      nullable: true
      properties:
        queued:
          $ref: '#/components/schemas/QueueEvents.Queued'
        processed:
          $ref: '#/components/schemas/QueueEvents.Processed'
      required:
        - queued
        - processed
    IncludedSlashingCounts:
      type: object
      nullable: true
      description: >
        Statistics about slashing proofs included in this slot.

        A slashing proof provides cryptographic evidence that one or more
        validators have committed a slashable offense.
      properties:
        proposer:
          $ref: '#/components/schemas/validatorIndex'
          description: >
            Number of slashing proofs included in this slot where a proposer
            submitted two different blocks for the same slot.
          nullable: true
        attestation:
          $ref: '#/components/schemas/validatorIndex'
          description: >
            Number of slashing proofs included in this slot where one or more
            previous attesters committed a slashable offense such as:
              - double voting (submitting two conflicting attestations for the same target epoch)
              - surround voting (submitting two attestations where one surrounds the other in terms of source and target epochs)
          nullable: true
    FinalityParams:
      type: string
      description: |
        Indicates the finality status of the data provided. 
          - Finalized data cannot be changed without slashing at least one-third of all validators, providing strong economic guarantees.
          - Data marked as not_finalized does not have this guarantee and may still change.
      enum:
        - not_finalized
        - finalized
    ChainView:
      type: string
      enum:
        - latest
        - finalized
      description: >
        - "latest": Refers to the most recent block, which may be subject to
        reorganization.

        - "finalized": Refers to the latest block that has been finalized and is
        not subject to change.
    Block:
      type: integer
      minimum: 0
      description: Block by number.
    ExecutionLayerBlockHash:
      type: string
      pattern: ^0x[a-fA-F0-9]{64}$
      description: A 32-byte block hash represented as a hex string with 0x prefix.
    validatorIndex:
      description: Validator Index
      type: integer
      minimum: 0
    validatorPublicKey:
      type: string
      description: Public key of a validator
      pattern: ^0x[a-fA-F0-9]{96}$
    QueueEvents.Queued:
      type: object
      description: >
        Statistics about consensus layer events that were added to the queue in
        this slot.
      properties:
        deposit:
          $ref: '#/components/schemas/clEventDetails'
        withdrawal_manual:
          $ref: '#/components/schemas/clEventDetails'
        consolidation:
          $ref: '#/components/schemas/clEventDetails'
      required:
        - deposit
        - withdrawal_manual
        - consolidation
    QueueEvents.Processed:
      type: object
      description: >
        Statistics about consensus layer events that were processed from the
        queue in this slot.
      properties:
        deposit:
          $ref: '#/components/schemas/clEventDetails'
        withdrawal_sweep:
          $ref: '#/components/schemas/clEventDetails'
        withdrawal_manual:
          $ref: '#/components/schemas/clEventDetails'
        consolidation:
          $ref: '#/components/schemas/clEventDetails'
        voluntary_exit_count:
          type: integer
          description: >-
            Number of voluntary exit requests that were processed from the exit
            queue in this slot.
          minimum: 0
      required:
        - deposit
        - withdrawal_sweep
        - withdrawal_manual
        - consolidation
        - voluntary_exit_count
    clEventDetails:
      type: object
      properties:
        count:
          type: integer
          minimum: 0
        amount:
          $ref: '#/components/schemas/wei'
      required:
        - count
        - amount
    wei:
      type: string
      description: Amount in wei (1 ETH = 10^18 wei)
      pattern: ^(0|-?[1-9][0-9]*)$
  securitySchemes:
    ApiKeyAuth:
      type: http
      scheme: bearer
      description: >-
        Authorization header with value: Bearer YOUR_TOKEN. Refer to the [API
        Keys](/api/overview#api-keys) section to create your API key.

````