This site requires Javascript to be enabled.
  • Docs
  • Run a node
  • Running a relayer

Running a Relayer

In this section, you will find relevant information and guides in order to run a relayer and forward Inter-Blockchain Communication Protocol (IBC) packets between chains.


In order to run a relayer to forward IBC packets between chains, you need to:

  • Get the information specific to those chains by looking into the Chain Registry. As the IBC protocol relies on light clients, connections, and channels (with ports),you need to make sure to set up the proper paths for the chains you are relaying to.
  • Set up addresses on all those chains. You would need to have a private key and enough funds to pay for transaction fees when submitting IBC messages.
  • Being able to query and submit transactions. The relayer must listen for events related to packet commitments, subscribe to events through the Tendermint WebSocket, and query proofs via the Tendermint RPC endpoint. The relayer must also be able to create and update light clients, connections, and channels. This allows the relayer to submit a notice of misbehavior for validators, and relay packets, acknowledgments, and timeouts.


Not every relayer operator needs to initialize their own channel when starting to relay a certain path.


When it comes to spinning up a relayer, you can either use:

Archway is currently using the IBC Go implementation, and you can have a look at the current active channels. As an additional resource, you can have a look at the Go Relayer Tutorial .

Chain Registry

In order to get reliable information about the chains you are relaying between, you can have a look at the chain-registry Github repository. This repository provides detailed parameters about chains, their assets, and other relevant IBC data.

Operational Costs

Even if the activity of relaying is permissionless, significant hardware requirements and know-how is required. As the volume of RPC calls can be high, relayers operators usually run full nodes for the chains they want to. Because of the single-threaded nature of Tendermint RPC, those large amounts ofqueries may cause the node to run out of sync.

As relaying IBC packets can incur considerable operational costs, relayers operators may want to look into starting validation activities in order to receive delegations and manage their costs.