Onboard to the CCIP indexer
Onboarding registers your committee's aggregator endpoints with the CCIP indexer. Once you are onboarded, the indexer reads your attestations and the default executor runs your messages automatically. It is optional, because executing a message on the destination chain is permissionless and you can always execute your own; but until you onboard, that is the only way your messages get executed, since nothing reads your aggregators for you yet.
Onboarding prerequisites
- Size the committee for production. An undersized committee, or one with no redundancy, is not onboarded; see Scale to a committee.
- Expose every aggregator read endpoint publicly, with no authentication: over TLS, on a stable hostname, with no API key and no IP allowlist. Standard WAF or DDoS protection is acceptable if it does not block legitimate public reads. Keep each endpoint responsive: the indexer reads with a 10-second per-request timeout and retries, so answer well under 10 seconds. The off-chain kit's onboarding requirements documentation has the full bar.
- Prove the committee by sending a message that requires your CCV and executing it yourself. For EVM, follow Test your setup. Repeat the execution against each aggregator endpoint you will register, not just one. The off-chain kit's self-execution validation documentation walks through it.
Request onboarding
Email clusersupport@smartcontract.com with:
- a display name for your CCV, and optionally a logo URL,
- a website and a primary contact,
- your resolver address and the chains it is deployed on (the address is the same on every chain),
- every aggregator read endpoint URL in the committee.
Send the endpoint list again whenever you add or remove an aggregator. The indexer identifies each endpoint by its hostname, so keep hostnames stable and re-register any that change. The off-chain kit's onboarding documentation has the full requirements, including the response times the indexer expects.
After onboarding
The indexer reads your aggregators, the default executor runs your messages, and the public CCIP API reports
your verifier entry instead of UNKNOWN. Keep your aggregators reachable: the indexer retries each message for up to one hour, and if all of
your aggregators stay unreachable past that window, it stops and the default executor never runs those messages.
The attestations are still in your aggregators, so recover those messages the same way you tested: execute them
yourself.