TriportRPC

Get Polygon checkpoint

GEThttps://api.triport.io/v1/polygon/bor/checkpoint/12345

Fetch Heimdall checkpoint metadata for a single Polygon checkpoint by its numeric id.

Polygon— (tier-gated, no per-scope grant)basic and above; RPS governed by your plan's polygon_bor category budget (with 2× burst)

Returns the metadata for a single Polygon checkpoint as recorded by the Heimdall consensus layer. A checkpoint is the periodic snapshot of a contiguous range of Bor (Polygon PoS) blocks that the validator set proposes and submits to Ethereum; each one carries the block range it covers, a Merkle root_hash of that range, the proposer that submitted it, and the time of submission.

Use this endpoint when you need to confirm that a given range of Polygon blocks has been checkpointed (for example, before treating a Polygon transaction as final against the Ethereum settlement layer), or to look up the proposer and root hash of a specific checkpoint.

Checkpoints are addressed by a monotonically increasing integer id starting at 0. If you request an id that has not been submitted yet — or one that never existed — the endpoint returns 404. To enumerate the latest validators or the spans that feed into checkpoints, see the related validators and span endpoints.

Parameters

Path parameters

checkpoint_idinteger (int64, min 0)required
Numeric id of the checkpoint to fetch.

Response

Response fields

FieldTypeDescription
checkpoint_idinteger (int64)The checkpoint id that was requested.
start_blockinteger (int64)First Bor block included in the checkpoint range.
end_blockinteger (int64)Last Bor block included in the checkpoint range.
root_hashstringMerkle root hash covering the checkpointed block range.
proposerstring0x-prefixed address of the validator that submitted the checkpoint.
submitted_atstring (date-time, RFC 3339)Timestamp when the checkpoint was submitted.

Errors

CodeMeaningWhen it happens
401unauthorized / trial_expired / subscription_expiredMissing or invalid credentials, expired trial, or lapsed subscription.
403tier_insufficient / method_unknownYour API key's tier is below basic, or the method is not part of your product.
404resource not foundNo checkpoint exists with the requested checkpoint_id (not yet submitted, or out of range).
429rate_limitedSustained RPS for the polygon_bor category exceeded; honor the Retry-After header.

All error responses use the shared envelope (error, message, request_id). A 403 adds current_tier / required_tier, and a 429 adds retry_after_sec / limit_rps / current_tier. See the errors reference for the full envelope and code list.

{
  "error": "tier_insufficient",
  "message": "This method requires the basic tier or higher.",
  "request_id": "req_8f3a1c0b",
  "current_tier": "free",
  "required_tier": "basic",
  "category": "polygon_bor"
}

Examples

JavaScript (fetch)

const checkpointId = 12345;
const res = await fetch(
  `https://api.triport.io/v1/polygon/bor/checkpoint/${checkpointId}`,
  { headers: { Authorization: `Bearer ${process.env.TRIPORT_API_KEY}` } }
);


if (res.status === 404) {
  throw new Error(`checkpoint ${checkpointId} not found`);
}
if (!res.ok) {
  throw new Error(`request failed: ${res.status}`);
}


const checkpoint = await res.json();
console.log(checkpoint.start_block, "→", checkpoint.end_block);

TypeScript SDK (@triport/sdk)

import { Triport } from "@triport/sdk";


const client = new Triport({ apiKey: process.env.TRIPORT_API_KEY! });


const checkpoint = await client.polygon.bor.getCheckpoint(12345);
console.log(checkpoint.rootHash, checkpoint.proposer);

Python (triport-sdk)

import os
from triport import Triport


client = Triport(api_key=os.environ["TRIPORT_API_KEY"])


checkpoint = client.polygon.bor.get_checkpoint(12345)
print(checkpoint.start_block, "->", checkpoint.end_block)

Notes

  • checkpoint_id is a non-negative integer; ids increase by one as checkpoints are submitted, so the highest valid id grows over time. Requesting an id above the latest submitted checkpoint returns 404, not an empty body.
  • This endpoint reflects state as recorded by the Heimdall consensus layer, so a checkpoint becomes visible only once it has been submitted — there is a short delay between the end_block being produced on Bor and the corresponding checkpoint appearing here.
  • Related Polygon bor endpoints: current validators and span by id.