Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content

Concero V2 Relayers

In Concero V2, relayer choice is per message via messageRequest.relayerLib.

There is no single protocol-level global relayer set.

What a relayerLib controls

A relayer module defines:

  • Pricing via IRelayerLib.getFee(...).
  • Submitter authorization via IRelayerLib.validate(...).

If a relayer is not authorized by the selected module, destination submission fails.

Relayer responsibilities

When users select your relayer module, relayer operators are expected to:

  1. watch ConceroMessageSent for that relayerLib,
  2. gather verifier outputs required by selected verifier modules,
  3. submit destination message with proofs/check inputs,
  4. handle retries for retryable submissions.

What relayers do not decide

Relayer does not have final say on app-level message acceptance.

Destination app policy still decides whether checks are sufficient.

Current status

  • Current Concero-run relayer is admin-gated via allowlisted submitters.
  • Apps can select custom relayer modules, including permissionless implementations.