CCV Starter Kit
The CCV Starter Kit deploys a Cross-Chain Verifier (CCV) into Kubernetes infrastructure you already run. It has two parts, each in its own repository with its own step-by-step documentation:
- The on-chain contracts kit deploys and governs your verifier contracts.
- The off-chain kit is a Helm chart that runs your verifier and aggregator as a cell: one verifier plus one aggregator, backed by Postgres. Both run as Docker images from the public Amazon ECR gallery.
Versions and releases
The chart and its images are versioned upstream, not in this guide, so these links always show the current releases:
Verifier image
Published tags for the verifier, on the public Amazon ECR gallery.
Aggregator image
Published tags for the aggregator, on the public Amazon ECR gallery.
Chart releases
Releases of the off-chain kit and the ccv-cell Helm chart, on GitHub.
Available on the marketplaces
The CCV Starter Kit is listed on AWS Marketplace and Google Cloud Marketplace. Professional operators deploy by following this guide and the starter kits.
Who this guide is for
You run production Kubernetes and own your networking, TLS and ingress, secret management, and a production database. Cloud-specific dependencies are labeled by cloud (GCP, AWS, Azure, on-premise), and each links the vendor's own documentation. The Helm charts are cloud-agnostic, so the same concepts apply on any other cloud provider too. If you do not yet run this infrastructure, start with Prerequisites and set it up first.
This guide is the operator's install path. For what a CCV is and how it fits CCIP, see the CCV overview.
What you build
The verifier polls source chains and signs message hashes; the aggregator serves those attestations over gRPC; the CCIP indexer reads them, and the executor runs the message on the destination. For the full end-to-end CCIP v2 architecture, see the CCIP architecture overview.
What changes with your infrastructure
The verifier and aggregator run the same containers wherever you deploy them: any cloud (GCP, AWS, Azure, or another provider) or on-premise. Only three things differ, and you own all three: how you inject the configuration secret, how you expose the aggregator, and where Postgres comes from. On a managed cloud you use that cloud's services for each; on-premise you run them yourself. The kit is brownfield: it deploys into infrastructure you already run and provisions none of its own.
Production topology
A single cell is for learning. In production run a committee of cells across independent failure domains, ideally different clouds or regions, each cell fully independent (its own Postgres, secrets, and key custody, never shared). The smallest production committee is four cells with a threshold of three. Scale to a committee explains the sizing and how to grow beyond it.
Policy hook and key custody
The kit adds two operator capabilities on top of the core cell:
- A custom policy hook: an HTTPS endpoint you implement in any language to run your own compliance or risk checks before a node signs. It only has to honor the request/response contract (an OpenAPI spec); the verifier calls it for a PASS/FAIL on each message.
- KMS key custody: the signing key never leaves your cloud KMS. Strongly recommended on a managed cloud.
Start here
Prerequisites
The cluster, database, secret store, and ingress you bring before you deploy.
Deploy your first cell
Deploy the EVM on-chain contracts, then one off-chain cell: config, deploy, expose, register the signer.
Test your setup
Prove the cell end to end with a token transfer and the ccip-cli.
How-to guides
Choose a secret backend
What the cell keeps in its secrets and the backends that provide them.
Signer key custody and KMS
KMS versus the Postgres keystore, per cloud.
Expose the aggregator
Pick a route type for your cluster and point the load balancer health check at readiness.
Scale to a committee
Size and place a committee across failure domains.
Add a custom policy hook
Implement your PASS/FAIL compliance endpoint against the OpenAPI spec.
Operate and reference
Onboard to the CCIP indexer
Register your aggregators with the indexer so the default executor runs your messages.
Logging and monitoring
OTLP telemetry, dashboards, and what to alert on.
Operate: day 2
On-chain and off-chain day-2 operations for both kits, plus troubleshooting.
Reference
Links to both kits' books, the chart values, and the concept pages.