---
title: "POST /tendermint.abci.ABCI/FinalizeBlock"
method: POST
path: "/tendermint.abci.ABCI/FinalizeBlock"
tags: ["ABCI"]
---

# POST /tendermint.abci.ABCI/FinalizeBlock

`POST /tendermint.abci.ABCI/FinalizeBlock`

## Request body

- TendermintAbciRequestFinalizeBlock
  - `decided_last_commit` TendermintAbciCommitInfo
    - `round` integer
    - `votes` TendermintAbciVoteInfo[]
      - `block_id_flag` 'BLOCK_ID_FLAG_UNKNOWN' | 'BLOCK_ID_FLAG_ABSENT' | 'BLOCK_ID_FLAG_COMMIT' | 'BLOCK_ID_FLAG_NIL' — - BLOCK_ID_FLAG_UNKNOWN: indicates an error condition - BLOCK_ID_FLAG_ABSENT: the vote was not received - BLOCK_ID_FLAG_COMMIT: voted for the block that received the majority - BLOCK_ID_FLAG_NIL: voted for nil
      - `validator` TendermintAbciValidator
        - `address` string, byte
        - `power` string, int64 — The voting power
  - `hash` string, byte — hash is the merkle root hash of the fields of the decided block.
  - `height` string, int64
  - `misbehavior` TendermintAbciMisbehavior[]
    - `height` string, int64
    - `time` string, date-time
    - `total_voting_power` string, int64
    - `type` 'UNKNOWN' | 'DUPLICATE_VOTE' | 'LIGHT_CLIENT_ATTACK'
    - `validator` TendermintAbciValidator
      - `address` string, byte
      - `power` string, int64 — The voting power
  - `next_validators_hash` string, byte
  - `proposer_address` string, byte — proposer_address is the address of the public key of the original proposer of the block.
  - `time` string, date-time
  - `txs` string[]

## Response `200`

A successful response.

- TendermintAbciResponseFinalizeBlock
  - `app_hash` string, byte — app_hash is the hash of the applications' state which is used to confirm that execution of the transactions was deterministic. It is up to the application to decide which algorithm to use.
  - `consensus_param_updates` TendermintTypesConsensusParams — ConsensusParams contains consensus critical parameters that determine the validity of blocks.
    - `abci` TendermintTypesABCIParams — ABCIParams configure functionality specific to the Application Blockchain Interface.
      - `vote_extensions_enable_height` string, int64 — vote_extensions_enable_height configures the first height during which vote extensions will be enabled. During this specified height, and for all subsequent heights, precommit messages that do not contain valid extension data will be considered invalid. Prior to this height, vote extensions will not be used or accepted by validators on the network. Once enabled, vote extensions will be created by the application in ExtendVote, passed to the application for validation in VerifyVoteExtension and given to the application to use when proposing a block during PrepareProposal.
    - `block` TendermintTypesBlockParams — BlockParams contains limits on the block size.
      - `max_bytes` string, int64
      - `max_gas` string, int64
    - `evidence` TendermintTypesEvidenceParams — EvidenceParams determine how we handle evidence of malfeasance.
      - `max_age_duration` string — Max age of evidence, in time. It should correspond with an app's "unbonding period" or other similar mechanism for handling [Nothing-At-Stake attacks](https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQ#what-is-the-nothing-at-stake-problem-and-how-can-it-be-fixed).
      - `max_age_num_blocks` string, int64 — Max age of evidence, in blocks. The basic formula for calculating this is: MaxAgeDuration / {average block time}.
      - `max_bytes` string, int64
    - `validator` TendermintTypesValidatorParams — ValidatorParams restrict the public key types validators can use. NOTE: uses ABCI pubkey naming, not Amino names.
      - `pub_key_types` string[]
    - `version` TendermintTypesVersionParams — VersionParams contains the ABCI application version.
      - `app` string, uint64
  - `events` TendermintAbciEvent[]
    - `attributes` TendermintAbciEventAttribute[]
      - `index` boolean
      - `key` string
      - `value` string
    - `type` string
  - `tx_results` TendermintAbciExecTxResult[]
    - `code` integer
    - `codespace` string
    - `data` string, byte
    - `events` TendermintAbciEvent[]
      - `attributes` TendermintAbciEventAttribute[]
        - `index` boolean
        - `key` string
        - `value` string
      - `type` string
    - `gas_used` string, int64
    - `gas_wanted` string, int64
    - `info` string
    - `log` string
  - `validator_updates` TendermintAbciValidatorUpdate[] — a list of updates to the validator set. These will reflect the validator set at current height + 2.
    - `power` string, int64
    - `pub_key` TendermintCryptoPublicKey
      - `ed25519` string, byte
      - `secp256k1` string, byte

## Other responses

- `default` — An unexpected error response.

## Changes

- **2025-02-05** `de0653d8a73d` — 1 info
  - api operation id `EvidenceABCI_FinalizeBlock` removed and replaced with `CircuitABCI_FinalizeBlock`
- **2024-08-14** `21c607e4fa20` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/pokt-network/apis/http-api-console/changes/tendermint.abci.ABCI/FinalizeBlock/post.md)

---

[API](https://skmtc.dev/pokt-network/apis/http-api-console.md) · [All operations](https://skmtc.dev/pokt-network/apis/http-api-console/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/pokt-network/http-api-console/revisions/de0653d8a73d/schema)
