Getting Started (15 minutes)
This page is the fastest path to your first working message flow.
You will complete a minimal setup in this order:
- Deploy a receiver contract that inherits
ConceroClient. - Configure trusted relayer and verifier modules.
- Send a message from a source chain.
- Verify delivery with API tracking and destination-chain logs.
Before you begin
- Solidity project ready (
foundryorhardhat). - One source chain and one destination chain from Supported Networks.
- Native gas token funded on both chains.
- Router + module addresses copied for your target networks.
Step 1: Understand the flow
Read Integration Overview first. It explains who does what at source vs destination.
Step 2: Set up the destination receiver
Follow Set up ConceroClient:
- inherit
ConceroClient, - configure relayer/verifier allowlists,
- set required verifier assertions,
- implement
_conceroReceive(bytes).
Step 3: Send from source chain
Follow Send a Cross-Chain Message:
- build
MessageRequest, - quote fee with
getMessageFee, - call
conceroSendwith native fee.
Step 4: Confirm delivery on destination chain
Follow Receive a Message to validate receiver policy and payload decoding.
Step 5: Track status end to end
Use Track a Message with the returned messageId.
What the protocol enforces vs what you enforce
| Layer | Enforced by protocol/contracts | Enforced by your app |
|---|---|---|
| Router auth | Router controls submitMessage flow and relayer authorization through relayerLib.validate | N/A |
| Receiver auth | ConceroClientBase requires router-only caller and relayer allowlist | N/A |
| Verifier checks | Router computes validationChecks from selected verifier libs | Your app decides verification policy in ConceroClient or custom _validateMessageSubmission |
| Business logic | N/A | _conceroReceive implementation |
Next steps
- If this is your first integration, continue with Set up ConceroClient.
- If you need operations and rollout guidance, read Infrastructure Deployment Pipeline.
- For common failures, use Troubleshooting.