Polygon PoS finality: milestones and confirmations
Last updated:
Endpoint and plans: Polygon RPC endpoint.
At a glance
| Property | Value |
|---|---|
| Finality mechanism | Milestones: validator agreement on Bor block hashes |
| Threshold | More than two-thirds agreement |
| After finality | No reorganization is possible |
| How to read it | eth_getBlockByNumber with the finalized tag |
What you see
A transaction you saw in a recent Polygon block is later in a different block, or gone. Rules of thumb about how many confirmations to wait for disagree with each other.
Why this happens
Blocks near the head can still be replaced before they are finalized. Polygon's documentation says "milestones provide fast deterministic finality on the Polygon chain itself, without waiting for a checkpoint to be submitted to Ethereum": validators propose Bor block hashes, and a sequence that reaches more than two-thirds agreement becomes finalized. It also says "deterministic finality means there is no chance of a reorganization once a block is finalized". The documentation recommends reading the most recently finalized block with eth_getBlockByNumber and the finalized tag, and comparing a transaction's block number against it.
What to do
- Read eth_getBlockByNumber("finalized") and treat your transaction as final once its block number is at or below it.
- Use latest only for tentative display, and be ready for recent blocks to change.
- Key stored blocks and logs by block hash so a replaced block is detectable.
When this is not our problem
Finality on Polygon PoS is decided by its validators through milestones, identically on every node, whoever operates it, Triport included. The finalized tag reports it; no provider can make an unfinalized block final.
FAQ
- How many confirmations should I wait for on Polygon?
- Rather than a fixed count, wait until the transaction's block number is at or below the block returned for the finalized tag.
- Can a finalized Polygon block be reorganized?
- No. Polygon's documentation states there is no chance of a reorganization once a block is finalized.