Skip to content

The Interoperable State Machine Protocol

The Interoperable State Machine Protocol (ISMP) is a lightweight, unopinionated messaging protocol designed to enable the development of cryptographically secure cross-chain applications. It employs the use of consensus and state proofs to authorize cross-chain request execution, providing a level of security equivalent to that of the underlying blockchains it connects.

ISMP is designed to have a very minimal API surface area. Its lightweight design means that ISMP is economically feasible even within expensive environments such as Ethereum. In addition, it offers a familiar and easy-to-understand message-passing mechanism that mimcs the already standardized HTTP protocol.


The core of ISMP lies in its use of Consensus clients. These clients enable the protocol to obtain the finalized, irreversible state of a connected blockchain. Another key component is the State machine client, which allows it to read the outgoing messages stored in the state trie of a connected blockchain. The system also uses a Router to direct messages to their destination modules on a host chain.


The flow of an incoming request
The flow of an incoming request

For modules that need to send cross-chain requests, they can utilize the Dispatcher to send both POST and GET requests.


The flow of an outgoing request
The flow of an outgoing request

Let's explore each individual component in greater detail