# Overview
ABCI is the interface between Tendermint (a state-machine replication engine)
and your application (the actual state machine). It consists of a set of
methods, where each method has a corresponding Request
and Response
message type. Tendermint calls the ABCI methods on the ABCI application by sending the Request*
messages and receiving the Response*
messages in return.
All message types are defined in a protobuf file. This allows Tendermint to run applications written in any programming language.
This specification is split as follows:
- Methods and Types - complete details on all ABCI methods and message types
- Applications - how to manage ABCI application state and other details about building ABCI applications
- Client and Server - for those looking to implement their own ABCI application servers