---
title: "Retrieve checkpoint"
method: GET
path: "/consensus/checkpoint/{id}"
tags: ["consensus"]
---

# Retrieve checkpoint

`GET /consensus/checkpoint/{id}`

Returns the consensus state and block for a given block ID.

## Path parameters

- `id` string, required — 256-bit blake2b hash.

## Response `200`

Matching checkpoint.

- ConsensusCheckpointResponse
  - `state` ConsensusState, required — Snapshot of consensus state at a given tip.
    - `index` ChainIndex, required
      - `height` integer, required — Block height.
      - `id` string, required — 256-bit blake2b hash.
    - `prevTimestamps` string[], required — Recent block timestamps from newest to oldest.
    - `depth` string, required — 256-bit blake2b hash.
    - `childTarget` string, required — 256-bit blake2b hash.
    - `siafundTaxRevenue` string, required — Hastings (1 Siacoin = 10^24 Hastings).
    - `oakTime` string, required — Oak target window as a Go duration string.
    - `oakTarget` string, required — 256-bit blake2b hash.
    - `foundationSubsidyAddress` string, required — Human-readable Sia address.
    - `foundationManagementAddress` string, required — Human-readable Sia address.
    - `totalWork` string, required — Quantity of work encoded as a decimal string.
    - `difficulty` string, required — Quantity of work encoded as a decimal string.
    - `oakWork` string, required — Quantity of work encoded as a decimal string.
    - `elements` ElementAccumulator, required — Sparse Merkle forest tracking consensus elements.
      - `numLeaves` integer, required — Number of leaves represented by the accumulator.
      - `trees` Hash256[], required — Merkle roots for the populated accumulator trees in ascending height order.
    - `attestations` integer, required
  - `block` object, required — Full block at the specified block ID.

## Other responses

- `404` — Block not found.

## Changes

> 8 revisions in range; 1 could not be searched.

- **2025-10-22** `4780f06511f2` — 14 info
  - added the required property `state/attestations` to the response with the `200` status
  - added the required property `state/childTarget` to the response with the `200` status
  - added the required property `state/depth` to the response with the `200` status
  - added the required property `state/difficulty` to the response with the `200` status
  - …10 more
- **2025-10-08** `103993fc0091` — 14 breaking
  - removed the required property `state/attestations` from the response with the `200` status
  - removed the required property `state/childTarget` from the response with the `200` status
  - removed the required property `state/depth` from the response with the `200` status
  - removed the required property `state/difficulty` from the response with the `200` status
  - …10 more

[Change history](https://skmtc.dev/siafoundation/apis/hostd-api/changes/consensus/checkpoint/:id/get.md)

---

[API](https://skmtc.dev/siafoundation/apis/hostd-api.md) · [All operations](https://skmtc.dev/siafoundation/apis/hostd-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/siafoundation/hostd-api/revisions/08ff756929fc/schema)
