Group of developers pairing on Solidity code at a communal table, laptops open, whiteboards in background, tech bootcamp collaboration.
Protocols

CometBFT ABCI 2.0 (ADR-060, ADR-101)

A technical standard overhauling the Application Blockchain Interface to give appchains sovereign control over mempool ordering and block construction via PrepareProposal and ProcessProposal methods.
introduction
APPLICATION BLOCKCHAIN INTERFACE OVERHAUL

What is ABCI 2.0?

A fundamental redesign of the interface between the CometBFT consensus engine and the state machine, giving appchain developers unprecedented control over block construction and transaction ordering.

ABCI 2.0, defined across ADR-060 and ADR-101, is the most significant architectural change to the Application Blockchain Interface since the inception of the Cosmos SDK. It replaces the single, linear DeliverTx flow with a two-phase block construction process: PrepareProposal and ProcessProposal. This redesign moves the Cosmos stack from a model where the consensus engine dictates a block to the application, to one where the application actively builds and validates the block. For appchain developers, this is the new standard for customizing mempool logic, implementing application-specific MEV strategies, and enforcing deterministic transaction ordering.

The PrepareProposal phase allows the application to construct an ordered list of transactions from its local mempool, replacing the consensus engine's default block building. This is where an appchain can implement priority ordering, inject oracle price updates, or censor transactions according to its own rules. The subsequent ProcessProposal phase requires the application to deterministically validate the block proposed by a validator. If the application rejects the proposal, consensus will move to the next round, making this a critical security boundary. A non-deterministic or buggy ProcessProposal implementation can cause a chain halt, as different validators may disagree on a block's validity.

The operational impact is substantial. Validator operators must now manage and monitor application-side logic that directly influences consensus liveness. A misconfiguration in a custom PrepareProposal handler can lead to a validator building empty or invalid blocks, while a bug in ProcessProposal can cause a node to fall out of consensus. For teams building on the Cosmos SDK, migrating to ABCI 2.0 is not optional for new chains and requires a careful rewrite of mempool and block acceptance logic. Chainscore Labs can review custom PrepareProposal and ProcessProposal implementations to ensure they are deterministic, secure against MEV manipulation, and will not cause liveness failures under edge-case transaction loads.

APPLICATION BLOCKCHAIN INTERFACE OVERHAUL

ABCI 2.0 Quick Facts

Operational impact and migration requirements for the shift from ABCI 1.0 to the PrepareProposal/ProcessProposal model in CometBFT.

AreaWhat changesWho is affectedAction

Block Construction

Validators gain explicit PrepareProposal logic to build blocks, replacing the legacy mempool-reaping behavior.

Appchain developers, Validator operators

Review custom PrepareProposal implementations for correctness and performance.

Block Validation

Full nodes execute ProcessProposal to accept or reject a proposed block before voting, enabling application-level validation.

Appchain developers, Full node operators

Ensure ProcessProposal logic is deterministic and does not introduce state divergence.

Mempool Interaction

The application can maintain its own mempool (e.g., for order-flow auctions) and supply transactions directly to the consensus engine.

Appchain developers, MEV searchers, Validator operators

Verify that custom mempool logic integrates correctly with PrepareProposal.

FinalizeBlock

DeliverTx, BeginBlock, and EndBlock are consolidated into a single FinalizeBlock call, simplifying state transitions.

Appchain developers, Module maintainers

Migrate module logic from legacy lifecycle methods to the FinalizeBlock handler.

Vote Extensions

Validators can attach arbitrary data to precommit votes, enabling oracle data submission or immediate execution confirmations.

Appchain developers, Oracle providers, Validator operators

Assess the security of data included in vote extensions and verify size limits.

Deterministic Execution

ProcessProposal must be deterministic; non-determinism leads to consensus failure.

Appchain developers, Auditors

Audit ProcessProposal for any reliance on non-deterministic state (e.g., timestamps, map iteration).

Compatibility

ABCI 2.0 is not backward compatible with ABCI 1.0 applications.

All node operators, Chain upgrade coordinators

Coordinate a coordinated network upgrade; verify all nodes run a compatible version.

technical-context
ABCI 2.0 MEMPOOL AND BLOCK CONSTRUCTION

The PrepareProposal and ProcessProposal Flow

The most impactful change in ABCI 2.0, giving appchain developers direct control over block building and verification for the first time.

The PrepareProposal and ProcessProposal methods, introduced by ADR-060 and refined by ADR-101, represent a fundamental shift in the Application Blockchain Interface (ABCI) for CometBFT. They replace the legacy BeginBlock-DeliverTx-EndBlock flow with a model where the application is a first-class participant in consensus. PrepareProposal allows the application to deterministically construct the canonical block from the proposer's mempool, enabling custom ordering, transaction injection, and pre-execution. ProcessProposal then requires every validator to verify that the proposed block is a valid output of the application's PrepareProposal logic, rejecting the block if it deviates.

This flow has profound operational and economic implications for appchain developers and validators. It is the primary interface for implementing application-specific MEV strategies, such as top-of-block arbitrage, batch auctions, or fair ordering protocols. The application's logic in PrepareProposal is not merely a suggestion; it is a consensus-critical function. A non-deterministic or buggy implementation will cause chain halts as validators disagree on the validity of proposed blocks. The ProcessProposal method must be a pure, deterministic function that mirrors the PrepareProposal logic, verifying the block's correctness without re-executing complex state transitions that could introduce non-determinism.

For teams building on the Cosmos SDK, this is the most significant change to the consensus interface since the launch of IBC. Customizing these methods requires deep integration with the SDK's PrepareProposalHandler and ProcessProposalHandler. A review must ensure that the application's block construction logic is deterministic, its verification logic is efficient, and that no state mutations occur during ProcessProposal that could cause a fork. Chainscore Labs can perform a targeted review of a custom ABCI 2.0 implementation to verify correctness, assess performance under load, and ensure that the handler logic does not introduce liveness or safety risks to the chain.

ACTOR IMPACT ANALYSIS

Who Is Affected by ABCI 2.0?

Appchain Developers

This is the most heavily impacted group. ABCI 2.0 introduces PrepareProposal and ProcessProposal, moving block construction and validation logic into the application layer. Teams must implement these methods to customize mempool ordering, inject or reorder transactions, and enforce application-specific validity rules before a block is committed.

Action Steps:

  • Audit existing BeginBlock/EndBlock logic for migration to PrepareProposal.
  • Implement deterministic transaction ordering to avoid apphash divergence.
  • Review MEV strategies: ABCI 2.0 gives the proposer significant control over block contents.
  • Test with FinalizeBlock to ensure state transitions remain atomic.

Chainscore can review custom PrepareProposal implementations for correctness, determinism, and MEV exposure.

implementation-impact
ABCI 2.0 MIGRATION

Implementation Impact and Migration

The shift to ABCI 2.0 is not a simple upgrade; it fundamentally alters the mempool, block construction, and consensus interaction model. Appchain teams must re-architect custom logic for PrepareProposal and ProcessProposal, while validators must reconfigure their nodes for the new lifecycle.

05

Node Configuration and Upgrade Path

Operators must update config.toml to disable the legacy mempool and enable ABCI 2.0 features. The upgrade must be coordinated with a specific block height to switch the protocol version. Running a mixed network of ABCI 1.0 and 2.0 nodes will cause a consensus failure. A coordinated testnet rehearsal is essential to verify the migration procedure and configuration.

ABCI 2.0 IMPACT ASSESSMENT

Risk and Compatibility Matrix

Evaluates the operational, security, and integration risks introduced by the PrepareProposal and ProcessProposal methods for validators, appchain developers, and MEV-sensitive protocols.

AreaWhat changesWho is affectedAction

Block Construction

Validators gain deterministic control over block contents via PrepareProposal, replacing opaque mempool-gathering logic.

Validator operators, Appchain developers

Review custom PrepareProposal logic for correctness; ensure it does not violate application fairness assumptions.

Block Validity

Full nodes re-execute ProcessProposal to verify block validity before committing state, shifting validation from consensus-time to application-time.

Validator operators, Full node operators

Verify that ProcessProposal is deterministic and matches PrepareProposal logic exactly to prevent chain halts from mismatched state roots.

Mempool Semantics

Application-defined ordering and filtering in PrepareProposal overrides CometBFT's internal mempool priority, changing transaction inclusion guarantees.

Appchain developers, MEV searchers

Audit custom mempool logic for censorship vectors or unintentional transaction exclusion; document new inclusion policies for users.

MEV Strategy

PrepareProposal enables in-protocol block space auctions and ordering rules, formalizing MEV extraction paths that were previously off-chain.

MEV searchers, DeFi protocols, Validator operators

Assess whether custom ordering logic creates extractable value leaks; implement monitoring for validator misbehavior in block construction.

Consensus Safety

ProcessProposal rejection by honest validators can delay rounds; incorrect implementations risk liveness failures or accidental equivocation.

Validator operators, Protocol security teams

Test ProcessProposal under Byzantine conditions; ensure rejection logic does not open denial-of-service vectors or stall consensus indefinitely.

State Machine Migration

Existing ABCI 1.0 chains must rewrite BeginBlock/EndBlock logic into PrepareProposal/ProcessProposal handlers, a breaking change to application architecture.

Appchain developers, Upgrade coordinators

Plan coordinated upgrade with full integration testing; Chainscore can review migration path for state transition correctness.

IBC and Cross-Chain

ABCI 2.0 changes the timing of packet inclusion within a block, potentially affecting relayers that assume specific transaction ordering.

Relayer operators, IBC app developers

Validate relayer behavior under new block construction timing; ensure packet acknowledgements are not delayed by custom ordering rules.

Light Client Verification

ADR-101 formalizes light client verification against ABCI 2.0 block structures, a critical dependency for IBC connection security.

IBC client maintainers, Bridge operators

Audit light client implementations against the formal spec; verify that ProcessProposal results are correctly reflected in light client proofs.

ABCI 2.0 MIGRATION PREPARATION

Appchain Developer Readiness Checklist

A practical checklist for appchain development teams preparing to integrate or migrate to ABCI 2.0 (ADR-060, ADR-101). This covers the critical path items for `PrepareProposal` and `ProcessProposal` implementations, which fundamentally change how the application interacts with the consensus engine during block construction and validation. Teams should validate each item against their specific CometBFT and Cosmos SDK version compatibility.

Confirm that your node binary and SDK dependency versions support the ABCI 2.0 methods (PrepareProposal and ProcessProposal).

  • What to check: The CometBFT version must be v0.37.x or later, and the Cosmos SDK version must be v0.47.x or later to support the new ABCI 2.0 interface natively.
  • Why it matters: Attempting to use ABCI 2.0 methods on an incompatible CometBFT version will cause a consensus failure at startup. The SDK's baseapp wiring must correctly route these new requests.
  • Readiness signal: The node starts successfully and the application logs confirm that the ABCI connection is using PrepareProposal and ProcessProposal without any gRPC method-not-found errors.
Chains We Build On

Looking to build on a specific blockchain?

We build smart contracts, DeFi applications, wallets, tokenization platforms, and blockchain infrastructure across the major ecosystems teams choose today. That includes Ethereum, Arbitrum, Optimism, Polygon, Avalanche, Solana, Sui, Aptos, Hedera, Stellar, and NEAR, with support for additional EVM and non-EVM networks based on your product requirements.

EVM ecosystems

  • Ethereum logo
    Ethereum
  • Arbitrum logo
    Arbitrum
  • Optimism logo
    Optimism
  • Polygon logo
    Polygon
  • Avalanche logo
    Avalanche
  • Cronos logo
    Cronos

Non-EVM ecosystems

  • Solana logo
    Solana
  • Sui logo
    Sui
  • Aptos logo
    Aptos
  • Hedera logo
    Hedera
  • Stellar logo
    Stellar
  • NEAR logo
    NEAR

Additional ecosystems

  • Polkadot logo
    Polkadot
  • Cosmos logo
    Cosmos
  • TON logo
    TON
  • Cardano logo
    Cardano
  • Algorand logo
    Algorand
  • Tempo logo
    Tempo

Also available for Base, appchains, custom EVM networks, and cross-chain product architecture.

ABCI 2.0 IMPLEMENTATION FAQ

Frequently Asked Questions

Common questions from appchain developers and validator operators about the impact, migration, and operational requirements of the ABCI 2.0 overhaul introduced by ADR-060 and ADR-101.

ABCI 2.0 replaces the single BeginBlock-DeliverTx-EndBlock-Commit flow with a new lifecycle: PrepareProposal and ProcessProposal.

  • PrepareProposal: The application receives a set of raw transactions from the consensus engine's mempool and returns a fully ordered, possibly modified or injected, transaction list for the proposed block.
  • ProcessProposal: Before a proposed block is accepted by a validator, the application can accept or reject the entire block based on the validity of its contents.

This shifts block construction logic from the consensus engine to the state machine, giving appchains programmatic control over mempool ordering, transaction injection, and block validity rules.

Trusted by Industry Leaders

Delivering blockchain solutions for 5+ years.

We have partnered with 50+ leading DeFi protocols, NFT ecosystems, and fintech innovators to build secure, scalable, and capital-efficient blockchain products.

Selected Partners & Clients

ChainVote logo
Reax logo
Sokail logo
Swapsicle logo
SyntheX logo
Tekika logo
Telos logo
Zexe logo
ChainVote logo
Reax logo
Sokail logo
Swapsicle logo
SyntheX logo
Tekika logo
Telos logo
Zexe logo
ChainVote logo
Reax logo
Sokail logo
Swapsicle logo
SyntheX logo
Tekika logo
Telos logo
Zexe logo
ChainVote logo
Reax logo
Sokail logo
Swapsicle logo
SyntheX logo
Tekika logo
Telos logo
Zexe logo
I've been working with Chainscore Labs for last 3+ years, they've consistently delivered with strong ownership across multiple projects. The team is reliable and detail-oriented.
L
Lee Erswell
CEO, Telos Foundation
how to get started

How to get started?

If you're looking for blockchain integration, ChainScore Labs has 5+ years of experience helping teams build and integrate exchanges, wallets, smart contracts, tokenization solutions, and protocol-connected products, we can help you choose the right path, integrate securely, and get to production faster. Our team consists of experienced blockchain developers and architects who can help you with your blockchain integration needs.

01

Exploration & Strategy

Define your product goals and choose the right blockchain architecture for your use case.

02

Architecture & Design

Design the smart contracts, tokenomics, and security parameters of your system.

03

Development & Integration

Build and integrate with wallets, oracles, and front-end dApps for a seamless experience.

04

Security & Launch

Comprehensive audits followed by a risk-managed mainnet deployment to protect your users.

Start a build

Need a blockchain engineering team?

Send the project context and we will respond with next steps, scope questions, and a practical path to delivery.