Overview
The CCV Starter Kit lets you run a committee Cross-Chain Verifier (CCV) for Chainlink CCIP v2. A CCV attests to cross-chain messages. In CCIP v2 the security is application-based: the token issuer or application owner mandates which verifier(s) must attest to their messages, and the destination executes only once the required attestation is available. This kit packages the off-chain verifier node and aggregator, plus the on-chain deployment tooling, so an operator can stand up and govern their own CCV.
The kit is delivered as a Helm chart and container images that deploy the verifier node and aggregator into a Kubernetes cluster you already run. Your cluster, networking, database, and secrets stay under your control; the kit deploys the application components and wires them to your managed services. The verifier node signs with a key it holds; the aggregator is the single public endpoint that the CCIP indexer and peer verifiers reach. An accompanying Foundry repository deploys and configures the on-chain verifier contracts (existing, audited Chainlink contracts) so a lane can be verified end to end.
This product requires ongoing connections to external resources: blockchain RPC endpoints for the chains you verify, and the aggregator endpoints of the other verifiers in your committee. It also requires a PostgreSQL database that you provide and operate, such as Amazon RDS. These dependencies do not require any additional payment.
The kit is free and source-available under a Business Source License with a grant for CCIP use. It is aimed at professional operators who want to run a verifier as part of a CCIP v2 committee, either a single organization running an isolated multi-cell committee, or one operator among several independent ones.
Highlights
- Run a committee CCV on CCIP v2. Deploy a verifier node and aggregator that attest to cross-chain messages, built on audited Chainlink committee-verifier components.
- Deploys onto your own Kubernetes cluster. A Helm chart installs the verifier and aggregator into a cluster you already operate; you keep control of the infrastructure, secrets, and governance.
- On-chain tooling available. A Foundry repository deploys and configures the CCV's on-chain contracts, so you can bring a lane from zero to verified end to end.
Details
Introducing multi-product solutions
You can now purchase comprehensive solutions tailored to use cases and industries.
Features and programs
Financing for AWS Marketplace purchases
Pricing
Vendor refund policy
This product is offered at no charge through AWS Marketplace. Because no software fees are incurred, there are no software charges to refund. Buyers remain responsible for any underlying AWS infrastructure costs, which are billed by AWS and governed by AWS's own refund terms.
How can we make this page better?
Legal
Vendor terms and conditions
Content disclaimer
Delivery details
CCV Cell (Helm chart for Amazon EKS)
- Amazon EKS
- Amazon EKS Anywhere
Helm chart
Helm charts are Kubernetes YAML manifests combined into a single package that can be installed on Kubernetes clusters. The containerized application is deployed on a cluster by running a single Helm install command to install the seller-provided Helm chart.
Version release notes
This version deploys Chainlink CCV verifier and aggregator v0.11.0.
Included in this release:
- A JSON schema for the chart values, so misconfiguration is caught at install time rather than at runtime.
- Configuration may now be supplied as secrets, which keeps database credentials, signing key references and RPC endpoints out of plain Helm values.
- Verifier: aggregator retry traffic now uses exponential backoff instead of a fixed retry, which sharply reduces write-path load when a peer aggregator is unavailable.
- Verifier: a latency histogram for the policy endpoint.
- Verifier: an invalid policy-hook configuration is now rejected at startup rather than failing later.
Requirement specific to this version: each JSON-RPC endpoint you configure must serve eth_getLogs over a range of at least 100 blocks. The verifier queries a fixed 100-block window and there is no setting to lower it. Most public and commercial providers allow this; confirm with yours before deploying.
Additional details
Usage instructions
- Prepare the infrastructure
- An Amazon EKS cluster with kubectl access and Helm 3.7.1+.
- Reachable PostgreSQL with two logical databases: verifier state and aggregator storage.
- HTTPS JSON-RPC endpoints for each source blockchain, supporting eth_getLogs ranges of at least 100 blocks.
- A public DNS name and TLS certificate for the aggregator, supporting gRPC over HTTP/2.
- One AWS KMS ECDSA secp256k1 signing key.
- The AWS Secrets Store CSI Driver and AWS provider (ASCP).
- An IRSA or EKS Pod Identity role with kms:Sign and kms:GetPublicKey for the key, plus secretsmanager:GetSecretValue for the secrets below.
- Create four AWS Secrets Manager secrets
Each secret contains a TOML file. Never put credentials in Helm values.
Verifier application: [db] url = "postgres://<user>:<pass>@<host>:5432/<verifier_db>?sslmode=require"
Verifier bootstrap: [keystore] backend = "kms" [keystore.kms] ecdsa_key_id = "arn:aws:kms:<region>:<account>:key/<key-id>"
Aggregator application: [storage] url = "postgres://<user>:<pass>@<host>:5432/<aggregator_db>?sslmode=require"
Verifier EVM repeat the chain block for each source selector: [chains] [chains.<source_selector>] finality_depth = 0 txm_block_time = "2s" [[chains.<source_selector>.nodes]] name = "node-1" order = 1 http_url = "https://<rpc-endpoint>" ws_url = ""
Use finality_depth = 0 for finality-tag mode or a positive value for confirmation depth.
- Authenticate to the Marketplace registry
aws ecr get-login-password --region us-east-1 | helm registry login --username AWS --password-stdin 709825985650.dkr.ecr.us-east-1.amazonaws.com
- Create values.override.yaml
Set these values:
- aggregator.config.committee.quorumConfigs: source verifier, signers, and threshold.
- aggregator.config.committee.destinationVerifiers: verifier keyed by destination selector.
- aggregator.secrets.app: awsSecretStore, secret ARN, and SecretProviderClass name.
- aggregator.ingress: enabled, className, host, TLS enabled, and TLS secretName.
- verifier.config.aggregators[0].useInClusterAggregator: true.
- verifier.config.committee_verifier_addresses and on_ramp_addresses: addresses keyed by source selector.
- verifier.config.evm.config.chains: {}.
- verifier.config.signer_address: auto.
- verifier.serviceAccount.annotations.eks.amazonaws.com/role-arn: IAM role ARN.
- verifier.secrets.app: awsSecretStore and application secret ARN.
- verifier.secrets.bootstrap: keystoreBackend kms, awsSecretStore, and secret ARN.
- verifier.secrets.evm: awsSecretStore and secret ARN.
- aggregator.resources and verifier.resources: production requests and limits.
At least one source selector requires both committee-verifier and OnRamp addresses. Do not set deprecated rmn_remote_addresses. Enable exactly one of ingress, grpcRoute, or httpRoute, with TLS and HTTP/2 gRPC.
- Install
helm install ccv-cell oci://709825985650.dkr.ecr.us-east-1.amazonaws.com/chainlink/ccv-cell --version <CHART_VERSION> -f values.override.yaml --namespace ccv --create-namespace
- Verify the deployment
kubectl -n ccv get pods kubectl -n ccv logs <verifier-pod>
Confirm both pods are Ready and the aggregator is externally reachable over TLS.
- Configure the on-chain contracts
Follow the Foundry repository README to deploy or reference the committee verifier and resolver, register the KMS-derived signer and threshold, and enable the lane. Ensure its addresses match values.override.yaml. Attestations are not accepted until the signer is registered.
- Test the lane
Send a CCIP message. Confirm that the verifier produces an attestation, the aggregator forms quorum, and the destination executes. Verify SUCCESS at https://api.ccip.chain.link/v2/messages/ <messageId> and with getExecutionState on the destination OffRamp.
Resources
Support
Vendor support
Support for the CCV Starter Kit is provided by Chainlink Labs. Email: clusersupport@smartcontract.com Support covers deployment and configuration of the Helm chart and of the verifier and aggregator components, and is the route for questions about onboarding your aggregator endpoint to the CCIP indexer. Support is provided on a best-effort basis.
AWS infrastructure support
AWS Support is a one-on-one, fast-response support channel that is staffed 24x7x365 with experienced and technical support engineers. The service helps customers of all sizes and technical abilities to successfully utilize the products and features provided by Amazon Web Services.
Similar products
