What is IBC (Inter-Blockchain Communication)?
A protocol for moving assets and data between independent blockchains — using light clients and on-chain proofs instead of a trusted intermediary.
Inter-Blockchain Communication (IBC) is an open protocol that lets independent blockchains send tokens, messages and arbitrary data to each other without a trusted intermediary. Each chain runs a light client of the other and accepts a transfer only when it can check a cryptographic proof that the transfer really happened on the source chain.
The first IBC transaction was sent on 2 April 2021, between IRISnet and the Cosmos Hub. According to the IBC protocol site, more than 115 chains now use it, with over 35 million cross-chain transactions a year.
Key takeaways: IBC replaces the custodian in a bridge with light clients and proofs. Off-chain relayers carry the messages but cannot forge them. Token transfers work by escrowing on one chain and minting a voucher on the other. IBC began in Cosmos and has since been extended to Polkadot, Kusama, Ethereum and Solana.
How is IBC different from a normal bridge?
Most bridges ask you to trust someone. You lock tokens with a custodian or a multisig committee, and it mints a wrapped copy on the destination chain. If that committee is hacked, colludes or disappears, the locked funds are at risk. IBC removes that party:
| Aspect | Typical custodial bridge | IBC |
|---|---|---|
| Who confirms a transfer | A multisig or validator committee | The destination chain, using a light client |
| Who holds funds in transit | The bridge operator | An escrow account controlled by chain logic |
| What a message carrier can do | Sign off on transfers | Only deliver packets; forged packets fail the proof check |
| Failure refund | Depends on the operator | Built in: timed-out packets are refunded |
What are the parts of the IBC protocol?
IBC is specified as a set of Interchain Standards (ICS) in the cosmos/ibc repository. The pieces you meet most often are:
- Light clients (ICS-2, ICS-7) track the other chain's block headers and validator set, so proofs about its state can be checked on-chain. ICS-7 is the client for Tendermint-based chains.
- Connections (ICS-3) pair two light clients, one on each chain, after a four-step handshake.
- Channels and packets (ICS-4) run over a connection. A channel links one application on each chain, and packets are the messages sent through it.
- Relayers (ICS-18) are off-chain processes that watch both chains and submit packets, proofs and acknowledgements. Hermes, written in Rust, is a widely used relayer.
- Applications sit on top. ICS-20 handles fungible token transfers, ICS-721 NFTs and ICS-27 interchain accounts (controlling an account on another chain).
The split matters: the lower layers only guarantee that a packet is authentic, delivered once and in the right order. What the packet means is left to the application.
How does an IBC token transfer work, step by step?
Here is what happens when you send tokens from chain A to chain B with ICS-20:
- You submit a transfer on chain A. Chain A moves your tokens into an escrow account for that channel and records a packet commitment.
- A relayer sees the packet and submits it to chain B, together with a proof that chain A committed it.
- Chain B checks the proof against its light client of chain A. If it is valid, chain B mints a voucher token to your address.
- Chain B writes an acknowledgement, and a relayer carries it back to chain A to close the loop.
- If the packet is not received before its timeout, a relayer proves the timeout to chain A and your escrowed tokens are refunded.
Sending the voucher back reverses the process: chain B burns the voucher and chain A releases the original tokens from escrow.
Why do IBC tokens have names like ibc/27394F…?
The voucher's name records where it came from. Chain B builds a denomination from the port and channel path plus the original token name, then shortens it to ibc/ followed by a SHA-256 hash. The chain keeps a lookup table from the hash back to the full path. This is also why the same token reaching you over two different routes shows up as two different ibc/ assets.
Is IBC only for Cosmos?
No, although it started there. IBC went live with the Cosmos Hub's Stargate upgrade in February 2021 and spread across Cosmos SDK chains first, because they share the Tendermint consensus that the original light client understands. Reaching other ecosystems means writing light clients for very different consensus systems. That is the work Composable took on:
- 2023: Polkadot and Kusama. Composable's Centauri bridge opened the first IBC connection outside Cosmos, from the Picasso parachain on Kusama. By June 2023 it linked Polkadot, Kusama and Cosmos.
- April 2024: Ethereum. The Ethereum IBC connection went live on mainnet on 3 April 2024.
- 2024: Solana. Solana cannot run a light client in the usual way, so Composable added a "guest blockchain" on top of Solana that provides the state proofs IBC needs.
The wider IBC project moved the same way. IBC v2 launched in 2025, and IBC Eureka, a product built on it, went live on 10 April 2025 with a Cosmos Hub to Ethereum route.
Where does IBC fit in the Composable stack?
IBC is the transport. Centauri implements it across ecosystems, the Picasso parachain is where those connections settle, and the Cross-Chain Virtual Machine (XCVM) sits on top to coordinate an action that spans several chains, such as a swap on one chain paid for with assets from another. The ideas behind it come out of Composable Research.
Common misconceptions about IBC
- "Relayers can steal funds." They cannot. A relayer only delivers data; the receiving chain rejects anything that fails the proof check. A relayer going offline delays packets, and timeouts refund them.
- "IBC is a token." It is a protocol. Tokens named ibc/… are vouchers for assets that came from another chain.
- "Trustless means risk-free." IBC removes the custodian, but you still rely on the security of both chains and on correct light-client code.
Frequently asked questions
What does IBC stand for in crypto?
IBC stands for Inter-Blockchain Communication. It is an open protocol that lets independent blockchains send tokens and data to each other, verified by light clients instead of a trusted bridge operator.
Is IBC a bridge?
IBC does the job of a bridge, but it is a protocol rather than a company or a custodian. Each chain verifies the other with a light client, so no third party holds the funds in transit or signs off on transfers.
Is IBC only for Cosmos chains?
No. IBC started in the Cosmos ecosystem in 2021, but Composable connected Polkadot and Kusama in 2023 and Ethereum and Solana in 2024, and IBC v2 was built to make non-Cosmos connections easier.
What happens if an IBC transfer times out?
Every IBC packet carries a timeout. If it is not received on the destination chain before that height or time, a relayer submits proof of the timeout to the source chain and the escrowed tokens are refunded.
What is an ibc/ token denomination?
When a token arrives over IBC, the receiving chain mints a voucher named ibc/ followed by a SHA-256 hash of the transfer path and the original denomination. The hash keeps the name short while the chain stores the full path.