> ## 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.

# Finality checkpoints for a given state

The `/eth/v1/beacon/states/{state_id}/finality_checkpoints` endpoint retrieves the finality checkpoints of a specified Beacon Chain state. These checkpoints are critical in understanding the finality status of various epochs in the Ethereum PoS mechanism.

<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>

## Parameters

* `state_id` — the state identifier for which finality checkpoint information is requested. Acceptable values for `state_id` include:
  * `head` — represents the current head of the chain from the node's perspective.
  * `genesis` — the genesis state of the Beacon Chain.
  * `finalized` — the most recent state that has been finalized and is unlikely to undergo any further changes.
  * `justified` — the most recent state that has been justified, which is a stage preceding finalization.
  * `<slot>` — a specific time slot in the Ethereum protocol.
  * `<hex encoded stateRoot with 0x prefix>` — the specific state root, encoded in hexadecimal.

## Response

The response includes an object with the following properties:

* `data` — an object containing finality checkpoint information for the specified state:
  * `previous_justified` — an object representing the last justified checkpoint before the current epoch. It contains:
    * `epoch` — the epoch number of this justified checkpoint.
    * `root` — the block root of this justified checkpoint.
  * `current_justified` — an object representing the current justified checkpoint. It contains:
    * `epoch` — the epoch number of the current justified checkpoint.
    * `root` — the block root of the current justified checkpoint.
  * `finalized` — an object representing the current finalized checkpoint. It contains:
    * `epoch` — the epoch number of the finalized checkpoint.
    * `root` — the block root of the finalized checkpoint.


## OpenAPI

````yaml /openapi/ethereum_beacon_chain_api/state/getFinalityCheckpoints.json GET /0a9d79d93fb2f4a4b1e04695da2b77a7/eth/v1/beacon/states/{state_id}/finality_checkpoints
openapi: 3.0.0
info:
  title: Ethereum Beacon Chain API
  version: 1.0.0
  description: API for interacting with the Ethereum 2.0 Beacon Chain
servers:
  - url: https://beacon-nd-422-757-666.p2pify.com
security: []
paths:
  /0a9d79d93fb2f4a4b1e04695da2b77a7/eth/v1/beacon/states/{state_id}/finality_checkpoints:
    get:
      tags:
        - Beacon
      summary: Get finality checkpoints for a given state
      operationId: getFinalityCheckpoints
      parameters:
        - name: state_id
          in: path
          required: true
          description: >-
            State identifier which can be a slot number, an epoch number, a
            block root, or 'genesis', 'head'  (default is 'head').
          schema:
            type: string
            default: head
      responses:
        '200':
          description: Successful response with finality checkpoints information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FinalityCheckpoints'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    FinalityCheckpoints:
      type: object
      properties:
        previous_justified:
          type: object
          properties:
            epoch:
              type: integer
              description: Epoch number of the previous justified checkpoint.
            root:
              type: string
              format: byte
              description: Root of the previous justified checkpoint.
        current_justified:
          type: object
          properties:
            epoch:
              type: integer
              description: Epoch number of the current justified checkpoint.
            root:
              type: string
              format: byte
              description: Root of the current justified checkpoint.
        finalized:
          type: object
          properties:
            epoch:
              type: integer
              description: Epoch number of the finalized checkpoint.
            root:
              type: string
              format: byte
              description: Root of the finalized checkpoint.
    Error:
      type: object
      properties:
        code:
          type: integer
          format: int32
        message:
          type: string

````