Releases: ObolNetwork/charon
v1.7.1
v1.7.1 - 2025-10-23
This is recommended, but not required, non-urgent patch release for Charon v1.7.0. Feedback is welcome and appreciated, please use github issues or discord if you have trouble with this release.
Fulu Activation Schedule
Please consult the official Ethereum blog for the latest client versions to run ahead of the hardfork.
| Network | Hardfork Date |
|---|---|
| Holesky | Completed |
| Sepolia | Completed |
| Hoodi | October 28th 2025 18:53:12 UTC |
| Mainnet | December 3rd 2025 (Estimated) |
Warning
Failure to update all your client versions before the hardfork date could cause your validator to go offline, or worse.
Read the rest of the release notes for more:
Full Changelog: v1.7.0..v1.7.1
Bugfixes
- Fix bucket delay values #4029
- Update docker flags and api url in create dkg #4024
- Handle 404 errors gracefully for signed blocks on inclusion check #4041
Compatibility Matrix
This release of Charon is backwards compatible with Charon v1.0.*, v1.1.*, v1.2.0, v1.3.*, v1.4.*, v1.5.*, v1.6.*, v1.7.* Though only v1.3.* and newer are Pectra-ready and only v1.7.* and newer are Fulu-ready.
The below matrix details a combination of beacon node (consensus layer) + validator clients and their corresponding versions the DV Labs team have tested with this Charon release. More validator and consensus client will be added to this list as they are supported in our automated testing framework.
Legend
- ✅: All duties succeed in testing
- 🟡: All duties succeed in testing, except non-penalised aggregation duties
- 🟠: Duties may fail for this combination
- 🔴: One or more duties fails consistently
| Validator 👉 Consensus 👇 | Teku v25.10.0 ❗ | Lighthouse v8.0.0-rc.2 | Lodestar v1.35.0 | Nimbus v25.9.2 | Prysm v6.1.3 | Vouch 1.12.0-beta.3 ❗ |
|---|---|---|---|---|---|---|
| Teku v25.10.0 ❗ | ✅ | ✅ | ✅ | ✅ | ✅ | 🟡 |
| Lighthouse v8.0.0-rc.2 | ✅ | ✅ | ✅ | ✅ | ✅ | 🟡 |
| Lodestar v1.35.0 | ✅ | ✅ | ✅ | ✅ | ✅ | 🟡 |
| Nimbus v25.9.2 | ✅ | ✅ | ✅ | ✅ | ✅ | 🟡 |
| Prysm v6.1.3 | ✅ | ✅ | ✅ | ✅ | ✅ | 🟡 |
| Grandine v2.0.0.rc0 | ✅ | ✅ | ✅ | ✅ | ✅ | 🟡 |
What's Changed
v1.7.0
v1.7.0 - 2025-10-08
This is Charon's first Fulu-ready version. Feedback is welcome and appreciated, please use github issues or discord if you have trouble with this release.
Fulu Activation Schedule
Please consult the official Ethereum blog for the latest client versions to run ahead of the hardfork.
| Network | Hardfork Date |
|---|---|
| Holesky | Completed |
| Sepolia | October 14th 2025 07:36:00 UTC |
| Hoodi | October 28th 2025 18:53:12 UTC |
| Mainnet | December 3rd 2025 (Estimated) |
Warning
Failure to update all your client versions before the hardfork date could cause your validator to go offline, or worse.
Apart from Fulu readiness, there are two major features in this release, both under feature flags:
Chain Split Safety Halt
If the feature flag chain_split_halt is enabled (--feature-set-enable=chain_split_halt), Charon nodes will verify that the target and source votes (FFG) of the attestation a consensus leader proposes to sign matches with their local beacon node's view of the network. If they differ, it means that the nodes are on different chains(forks). Charon will not progress consensus with a leader on a different fork, leading to a timeout and a new leader being chosen.
This means that if more than the fault tolerance of the cluster are on different chains(forks), the cluster will stop attesting until a threshold of nodes are on the same chain. This feature may protect your cluster in worst case slashing situations where a supermajority of nodes attest to the wrong chain. If your cluster does not have those faulty clients as a supermajority amongst its operators, and the opt-in feature is enabled, your cluster will halt rather than incorrectly attest and be doomed to slashing or activity leaking 100% of your principal.
Performance Improvement
Fetch only attestation data with committee index 0 (--feature-set-enable=fetch_only_commidx_0). In Electra the spec for fetching attestation data was changed, hardcoding the committee_index in the request to 0. However, most validator clients continued asking for the specific committee index, while the beacon nodes disregarded this field and returned the data. On Charon we are forced to make both requests in order to accommodate both behaviors in validator clients. Now, most VCs have updated their implementations, and we are releasing opt-in support for the performance improvement, if you confirm your VC supports the behaviour.
If you enable this feature flag you will reduce the amount of requests Charon sends to the beacon node for attestation data. For big clusters that might be as high as 63 requests less per slot. In big clusters with slower beacon nodes turning on this feature flag may improve attestation and efficiency rates.
Confirm in this linked issue for the latest info on whether validator client version is new enough to enable this feature. These release notes may not have the latest status on VC support.
| Validator Client | Supports This Feature Since |
|---|---|
| Lodestar | > v1.33.0 🟢 |
| Nimbus | > v25.3.1 🟢 |
| Prysm | > v6.1.0 🟢 |
| Teku | > 25.9.0 🟢 |
| Lighthouse | Unimplemented. Issue here. 🔴 |
| Vouch | Unimplemented. 🔴 |
Once all VCs request the correct committee index, this feature will be default-on in a future version of Charon.
Read the rest of the release notes for more:
Full Changelog: v1.6.1..v1.7.0
Feature
- Attestation source and target vote consensus - chain split halt #3876 #4011 (#3946)
- Fetcher fetch only attestation data with committee index 0 #3980 (#3989)
- Track SSE events
block_gossipandblock#3877 (#3938) - Add publishing new cluster definition to Obol API with only
--operator-enrs#3993 - Allow beacon node basic auth in URL #3926
Misc
- Turned on feature flag metric #3979 (#3994)
- Add self identification to logs #3919 (#3939)
- Allow pushing metrics to OTLP insecurely #3983
- Remove the
prettykey from JSON logging #3924 (#4005)
Compatibility Matrix
This release of Charon is backwards compatible with Charon v1.0.*, v1.1.*, v1.2.0, v1.3.*, v1.4.*, v1.5.*, v1.6.* Though only v1.3.* and newer are Pectra-ready and none of the previous are Fulu-ready.
The below matrix details a combination of beacon node (consensus layer) + validator clients and their corresponding versions the DV Labs team have tested with this Charon release. More validator and consensus client will be added to this list as they are supported in our automated testing framework.
Legend
- ✅: All duties succeed in testing
- 🟡: All duties succeed in testing, except non-penalised aggregation duties
- 🟠: Duties may fail for this combination
- 🔴: One or more duties fails consistently
| Validator 👉 Consensus 👇 | Teku v25.9.3 ❗ | Lighthouse |
Lodestar |
Nimbus |
Prysm |
Vouch 1.12.0-beta.3 ❗ |
|---|---|---|---|---|---|---|
| Teku v25.9.3 ❗ | ✅ | ✅ | ✅ | ✅ | ✅ | 🟡 |
| Lighthouse |
✅ | ✅ | ✅ | ✅ | ✅ | 🟡 |
| Lodestar |
✅ | ✅ | ✅ | ✅ | ✅ | 🟡 |
| Nimbus |
✅ | ✅ | ✅ | ✅ | ✅ | 🟡 |
| Prysm |
✅ | ✅ | ✅ | ✅ | 🟡 | |
| Grandine v2.0.0.rc0 | ✅ | ✅ | ✅ | ✅ | ✅ | 🟡 |
What's Changed
v1.7.0-rc4
v1.7.0-rc4 - 2025-10-06
This is Charon's first Fulu-ready pre-release version. Feedback is welcome and appreciated, please use github issues or discord if you have trouble with this release.
Fulu Activation Schedule
Please consult the official Ethereum blog for the latest client versions to run ahead of the hardfork.
| Network | Hardfork Date |
|---|---|
| Holesky | Completed |
| Sepolia | October 14th 2025 07:36:00 UTC |
| Hoodi | October 28th 2025 18:53:12 UTC |
| Mainnet | December 3rd 2025 (Estimated) |
Warning
Failure to update all your client versions before the hardfork date could cause your validator to go offline, or worse.
Apart from Fulu readiness, there are two major features in this release, both under feature flags:
Chain Split Safety Halt
If the feature flag chain_split_halt is enabled (--feature-set-enable=chain_split_halt), Charon nodes will verify that the target and source votes (FFG) of the attestation a consensus leader proposes to sign matches with their local beacon node's view of the network. If they differ, it means that the nodes are on different chains(forks). Charon will not progress consensus with a leader on a different fork, leading to a timeout and a new leader being chosen.
This means that if more than the fault tolerance of the cluster are on different chains(forks), the cluster will stop attesting until a threshold of nodes are on the same chain. This feature may protect your cluster in worst case slashing situations where a supermajority of nodes attest to the wrong chain. If your cluster does not have those faulty clients as a supermajority amongst its operators, and the opt-in feature is enabled, your cluster will halt rather than incorrectly attest and be doomed to slashing or activity leaking 100% of your principal.
Performance Improvement
Fetch only attestation data with committee index 0 (--feature-set-enable=fetch_only_commidx_0). In Electra the spec for fetching attestation data was changed, hardcoding the committee_index in the request to 0. However, most validator clients continued asking for the specific committee index, while the beacon nodes disregarded this field and returned the data. On Charon we are forced to make both requests in order to accommodate both behaviors in validator clients. Now, most VCs have updated their implementations, and we are releasing opt-in support for the performance improvement, if you confirm your VC supports the behaviour.
If you enable this feature flag you will reduce the amount of requests Charon sends to the beacon node for attestation data. For big clusters that might be as high as 63 requests less per slot. In big clusters with slower beacon nodes turning on this feature flag may improve attestation and efficiency rates.
Confirm in this linked issue for the latest info on whether validator client version is new enough to enable this feature. These release notes may not have the latest status on VC support.
| Validator Client | Supports This Feature Since |
|---|---|
| Lodestar | > v1.33.0 🟢 |
| Nimbus | > v25.3.1 🟢 |
| Prysm | > v6.1.0 🟢 |
| Teku | > 25.9.0 🟢 |
| Lighthouse | Unimplemented. Issue here. 🔴 |
| Vouch | Unimplemented. 🔴 |
Once all VCs request the correct committee index, this feature will be default-on in a future version of Charon.
Read the rest of the release notes for more:
Full Changelog: v1.6.1..v1.7.0-rc4
Feature
- Attestation source and target vote consensus - chain split halt #3876 #4011 (#3946)
- Fetcher fetch only attestation data with committee index 0 #3980 (#3989)
- Track SSE events
block_gossipandblock#3877 (#3938) - Add publishing new cluster definition to Obol API with only
--operator-enrs#3993 - Allow beacon node basic auth in URL #3926
Misc
- Turned on feature flag metric #3979 (#3994)
- Add self identification to logs #3919 (#3939)
- Allow pushing metrics to OTLP insecurely #3983
- Remove the
prettykey from JSON logging #3924 (#4005)
Compatibility Matrix
This release of Charon is backwards compatible with Charon v1.0.*, v1.1.*, v1.2.0, v1.3.*, v1.4.*, v1.5.*, v1.6.* Though only v1.3.* and newer are Pectra-ready and none of the previous are Fulu-ready.
The below matrix details a combination of beacon node (consensus layer) + validator clients and their corresponding versions the DV Labs team have tested with this Charon release. More validator and consensus client will be added to this list as they are supported in our automated testing framework.
Legend
- ✅: All duties succeed in testing
- 🟡: All duties succeed in testing, except non-penalised aggregation duties
- 🟠: Duties may fail for this combination
- 🔴: One or more duties fails consistently
| Validator 👉 Consensus 👇 | Teku v25.9.3 ❗ | Lighthouse v8.0.0-rc.0 | Lodestar v1.35.0-rc.0 | Nimbus v25.9.1 | Prysm v6.1.0 | Vouch 1.12.0-beta.3 ❗ |
|---|---|---|---|---|---|---|
| Teku v25.9.3 ❗ | ✅ | ✅ | ✅ | ✅ | ✅ | 🟡 |
| Lighthouse v8.0.0-rc.0 | ✅ | ✅ | ✅ | ✅ | ✅ | 🟡 |
| Lodestar v1.35.0-rc.0 | ✅ | ✅ | ✅ | ✅ | ✅ | 🟡 |
| Nimbus v25.9.1 | ✅ | ✅ | ✅ | ✅ | ✅ | 🟡 |
| Prysm v6.1.0 | 🟠 | ✅ | ✅ | ✅ | ✅ | 🟡 |
| Grandine v2.0.0.rc0 | ✅ | ✅ | ✅ | ✅ | ✅ | 🟡 |
What's Changed
v1.7.0-rc3
v1.7.0-rc3 - 2025-10-01
This is Charon's first Fulu-ready pre-release version. Feedback is welcome and appreciated, please use github issues or discord if you have trouble with this release.
Apart from Fulu readiness, there are two major features in this release, both under feature flags:
Attestation source and target vote consensus. If feature flag chain_split_halt is enabled (--feature-set-enable=chain_split_halt), Charon nodes will verify if the target and source votes (FFG) of the attestation they have fetched matches the one proposed from the leader. If not, Charon will not sign the attestation. If no consensus is reached between the nodes, a new leader is chosen. This is a security feature to ensure that in case of a fork in one of the beacon nodes used by the cluster, the rest do not blindly accept. However, head votes (LMD GHOST) are not checked in order not to block attestation signing when beacon node responds slower or receives block later.
Fetch only attestation data with committee index 0 (--feature-set-enable=fetch_only_commidx_0). In Electra the spec for fetching attestation data was changed, hardcoding the committee_index in the request to 0. However, most validator clients continued asking for the specific committee index, while the beacon nodes disregarded this field and returned the data. On Charon we are forced to do both in order to accommodate both behaviors. Now, most VCs updated their implementations, in this issue we link the version at which the VC implemented the code that allows this feature flag to be turned on. If you enable this feature flag you will reduce the amount of requests Charon sends to the beacon node for attestation data. For big clusters that might be as high as 63 requests less per slot. In big clusters with slower beacon nodes turning on this feature flag improve attestation success rate as well. Confirm in the linked issue that your validator client is new enough to enable this feature. After the Fusaka hardfork, once all VCs request the correct committee index, this feature will be default on.
Read the rest of the release notes for more:
Full Changelog: v1.6.1..v1.7.0-rc3
Feature
- Attestation source and target vote consensus - chain split halt #3876 (#3946)
- Fetcher fetch only attestation data with committee index 0 #3980 (#3989)
- Track SSE events
block_gossipandblock#3877 (#3938) - Add publishing new cluster definition to Obol API with only
--operator-enrs#3993 - Allow beacon node basic auth in URL #3926
Misc
- Turned on feature flag metric #3979 (#3994)
- Add self identification to logs #3919 (#3939)
- Allow pushing metrics to OTLP insecurely #3983
- Remove the
prettykey from JSON logging #3924 (#4005)
Compatibility Matrix
This release of Charon is backwards compatible with Charon v1.0.*, v1.1.*, v1.2.0, v1.3.*, v1.4.*, v1.5.*, v1.6.* Though only v1.3.* and newer are Pectra-ready and none of the previous are Fulu-ready.
The below matrix details a combination of beacon node (consensus layer) + validator clients and their corresponding versions the DV Labs team have tested with this Charon release. More validator and consensus client will be added to this list as they are supported in our automated testing framework.
Legend
- ✅: All duties succeed in testing
- 🟡: All duties succeed in testing, except non-penalised aggregation duties
- 🟠: Duties may fail for this combination
- 🔴: One or more duties fails consistently
| Validator 👉 Consensus 👇 | Teku v25.9.3 ❗ | Lighthouse v8.0.0-rc.0 | Lodestar v1.35.0-rc.0 | Nimbus v25.9.1 | Prysm v6.1.0 | Vouch 1.12.0-beta.3 ❗ |
|---|---|---|---|---|---|---|
| Teku v25.9.3 ❗ | ✅ | ✅ | ✅ | ✅ | ✅ | 🟡 |
| Lighthouse v8.0.0-rc.0 | ✅ | ✅ | ✅ | ✅ | ✅ | 🟡 |
| Lodestar v1.35.0-rc.0 | ✅ | ✅ | ✅ | ✅ | ✅ | 🟡 |
| Nimbus v25.9.1 | ✅ | ✅ | ✅ | ✅ | ✅ | 🟡 |
| Prysm v6.1.0 | 🟠 | ✅ | ✅ | ✅ | ✅ | 🟡 |
| Grandine v2.0.0.rc0 | ✅ | ✅ | ✅ | ✅ | ✅ | 🟡 |
What's Changed
v1.7.0-rc2
v1.7.0-rc2 - 2025-09-29
This is Charon's first Fulu-ready pre-release version. Feedback is welcome and appreciated, please use github issues or discord if you have trouble with this release.
Apart from Fulu readiness, there are two major features in this release, both under a feature flag:
Attestation source and target vote consensus. If feature flag chain_split_halt is enabled, Charon nodes will verify if the target and source votes (FFG) of the attestation they have fetched matches the one proposed from the leader. If not, Charon will not sign the attestation. If no consensus is reached between the nodes, a new leader is chosen. This is a security feature to ensure that in case of a fork in one of the beacon nodes used by the cluster, the rest do not blindly accept. However, head votes (LMD GHOST) are not checked in order not to block attestation signing when beacon node responds slower or receives block later.
Fetch only attestation data with committee index 0. In Electra the spec for fetching attestation data was changed, hardcoding the committee_index in the request to 0. However, most validator clients continued asking for the specific committee index, while the beacon nodes disregarded this field and returned the data. On Charon we were forced to do both in order to accommodate both versions. Now most VCs updated their codebase, in this issue we link the version at which the VC implemented the code that allows this feature flag to be turned on. If you enable this feature flag you will reduce the amount of requests Charon sends to the beacon node for attestation data. For big clusters that might be as high as 63 requests less per slot. In big clusters with slower beacon nodes turning on this feature flag improve attestation success rate as well.
Read the rest of the release notes for more:
Full Changelog: v1.6.1..v1.7.0-rc2
Feature
- Attestation source and target vote consensus - chain split halt #3876 (#3946)
- Fetcher fetch only attestation data with committee index 0 #3980 (#3989)
- Track SSE events
block_gossipandblock#3877 (#3938) - Add publishing new cluster definition to Obol API with only
--operator-enrs#3993 - Allow beacon node basic auth in URL #3926
Misc
- Turned on feature flag metric #3979 (#3994)
- Add self identification to logs #3919 (#3939)
- Allow pushing metrics to OTLP insecurely #3983
Compatibility Matrix
This release of Charon is backwards compatible with Charon v1.0.*, v1.1.*, v1.2.0, v1.3.*, v1.4.*, v1.5.*, v1.6.* Though only v1.3.* and newer are Pectra-ready and none of the previous are Fulu-ready.
The below matrix details a combination of beacon node (consensus layer) + validator clients and their corresponding versions the DV Labs team have tested with this Charon release. More validator and consensus client will be added to this list as they are supported in our automated testing framework.
Legend
- ✅: All duties succeed in testing
- 🟡: All duties succeed in testing, except non-penalised aggregation duties
- 🟠: Duties may fail for this combination
- 🔴: One or more duties fails consistently
| Validator 👉 Consensus 👇 | Teku v25.9.3 ❗ | Lighthouse v8.0.0-rc.0 | Lodestar v1.35.0-rc.0 | Nimbus v25.9.1 | Prysm v6.1.0 | Vouch 1.12.0-beta.3 ❗ |
|---|---|---|---|---|---|---|
| Teku v25.9.3 ❗ | ✅ | ✅ | ✅ | ✅ | ✅ | 🟡 |
| Lighthouse v8.0.0-rc.0 | ✅ | ✅ | ✅ | ✅ | ✅ | 🟡 |
| Lodestar v1.35.0-rc.0 | ✅ | ✅ | ✅ | ✅ | ✅ | 🟡 |
| Nimbus v25.9.1 | ✅ | ✅ | ✅ | ✅ | ✅ | 🟡 |
| Prysm v6.1.0 | 🟠 | ✅ | ✅ | ✅ | ✅ | 🟡 |
| Grandine v2.0.0.rc0 | ✅ | ✅ | ✅ | ✅ | ✅ | 🟡 |
What's Changed
v1.7.0-rc1
v1.7.0-rc1 - 2025-09-26
This is Charon's first Fulu-ready pre-release version. Feedback is welcome and appreciated, please use github issues or discord if you have trouble with this release.
Apart from Fulu readiness, there are two major features in this release, both under a feature flag:
Attestation source and target vote consensus. If feature flag chain_split_halt is enabled, Charon nodes will verify if the target and source votes (FFG) of the attestation they have fetched matches the one proposed from the leader. If not, Charon will not sign the attestation. If no consensus is reached between the nodes, a new leader is chosen. This is a security feature to ensure that in case of a fork in one of the beacon nodes used by the cluster, the rest do not blindly accept. However, head votes (LMD GHOST) are not checked in order not to block attestation signing when beacon node responds slower or receives block later.
Fetch only attestation data with committee index 0. In Electra the spec for fetching attestation data was changed, hardcoding the committee_index in the request to 0. However, most validator clients continued asking for the specific committee index, while the beacon nodes disregarded this field and returned the data. On Charon we were forced to do both in order to accommodate both versions. Now most VCs updated their codebase, in this issue we link the version at which the VC implemented the code that allows this feature flag to be turned on. If you enable this feature flag you will reduce the amount of requests Charon sends to the beacon node for attestation data. For big clusters that might be as high as 63 requests less per slot. In big clusters with slower beacon nodes turning on this feature flag improve attestation success rate as well.
Read the rest of the release notes for more:
Full Changelog: v1.6.1..v1.7.0-rc1
Feature
- Attestation source and target vote consensus - chain split halt #3876 (#3946)
- Fetcher fetch only attestation data with committee index 0 #3980 (#3989)
- Track SSE events
block_gossipandblock#3877 (#3938) - Add publishing new cluster definition to Obol API with only
--operator-enrs#3993 - Allow beacon node basic auth in URL #3926
Misc
- Turned on feature flag metric #3979 (#3994)
- Add self identification to logs #3919 (#3939)
- Allow pushing metrics to OTLP insecurely #3983
Compatibility Matrix
This release of Charon is backwards compatible with Charon v1.0.*, v1.1.*, v1.2.0, v1.3.*, v1.4.*, v1.5.*, v1.6.* Though only v1.3.* and newer are Pectra-ready and none of the previous are Fulu-ready.
The below matrix details a combination of beacon node (consensus layer) + validator clients and their corresponding versions the DV Labs team have tested with this Charon release. More validator and consensus client will be added to this list as they are supported in our automated testing framework.
Legend
- ✅: All duties succeed in testing
- 🟡: All duties succeed in testing, except non-penalised aggregation duties
- 🟠: Duties may fail for this combination
- 🔴: One or more duties fails consistently
| Validator 👉 Consensus 👇 | Teku v25.9.3 ❗ | Lighthouse v8.0.0-rc.0 | Lodestar v1.35.0-rc.0 | Nimbus v25.9.1 | Prysm v6.1.0 | Vouch 1.12.0-beta.3 ❗ |
|---|---|---|---|---|---|---|
| Teku v25.9.3 ❗ | 🟠 | ✅ | ✅ | ✅ | ✅ | 🟡 |
| Lighthouse v8.0.0-rc.0 | ✅ | ✅ | ✅ | ✅ | ✅ | 🟡 |
| Lodestar v1.35.0-rc.0 | ✅ | ✅ | ✅ | ✅ | ✅ | 🟡 |
| Nimbus v25.9.1 | ✅ | ✅ | ✅ | ✅ | ✅ | 🟡 |
| Prysm v6.1.0 | 🟠 | ✅ | ✅ | ✅ | 🟠 | 🟡 |
| Grandine v2.0.0.rc0 | ✅ | ✅ | ✅ | ✅ | ✅ | 🟠 |
What's Changed
v1.6.1
v1.6.1 - 2025-09-15
This is Charon's v1.6.1 release. Feedback is welcome and appreciated, please use github issues or discord if you have trouble with this release.
A dutydb bug fix, which impacted only big clusters with slow beacon nodes.
Read the rest of the release notes for more:
Full Changelog: v1.6.0..v1.6.1
Bug
- Check only source and target for commidx 0 (#3974)
Compatibility Matrix
This release of Charon is backwards compatible with Charon v1.0.*, v1.1.*, v1.2.0, v1.3.*, v1.4.*, v1.5.*, v1.6.* Though only v1.3.* and newer are Pectra-ready.
The below matrix details a combination of beacon node (consensus layer) + validator clients and their corresponding versions the DV Labs team have tested with this Charon release. More validator and consensus client will be added to this list as they are supported in our automated testing framework.
Legend
- ✅: All duties succeed in testing
- 🟡: All duties succeed in testing, except non-penalised aggregation duties
- 🟠: Duties may fail for this combination
- 🔴: One or more duties fails consistently
| Validator 👉 Consensus 👇 | Teku v25.7.1 ❗ | Lighthouse v7.1.0 ❗ | Lodestar v1.33.0 | Nimbus v25.7.1 | Prysm v6.0.4 ❗ | Vouch v1.10.3 ❗ |
|---|---|---|---|---|---|---|
| Teku v25.7.1 ❗ | ✅ | 🟡 | ✅ | ✅ | ✅ | 🟡 |
| Lighthouse v7.1.0 | ✅ | 🟡 | ✅ | ✅ | ✅ | 🟡 |
| Lodestar v1.33.0 | ✅ | 🟡 | ✅ | ✅ | ✅ | 🟡 |
| Nimbus v25.7.1 | ✅ | 🟡 | ✅ | ✅ | ✅ | 🟡 |
| Prysm v6.0.4 | ✅ | 🟡 | ✅ | ✅ | ✅ | 🟡 |
| Grandine v1.1.2 | ✅ | 🟡 | ✅ | ✅ | ✅ | 🟡 |
What's Changed
v1.6.0
v1.6.0 - 2025-08-27
This is Charon's v1.6.0 release. Feedback is welcome and appreciated, please use github issues or discord if you have trouble with this release.
Read the rest of the release notes for more:
Full Changelog: v1.5.2..v1.6.0
Notable features
This release ships with opt-in support for the QUIC transport protocol. QUIC aims to improve performance in large, distant clusters. This may become a default feature in future versions once proven stable and well-incorporated across our stack.
To enable this feature, make the following additions:
- Add
https://4.relay.obol.dev/to your obol relay list, e.g.CHARON_P2P_RELAYS:-https://0.relay.obol.tech,https://2.relay.obol.dev,https://1.relay.obol.tech,https://4.relay.obol.dev/ - Add
CHARON_FEATURESET_ENABLE=quicas an env variable - Add
CHARON_P2P_QUIC_ADDRESS=0.0.0.0:3610as an env variable - Allow UDP traffic on your port 3610. If you're using our docker-compose examples, your ports section should be like
ports: - ${CHARON_PORT_P2P_TCP:-3610}:3610/tcp # P2P TCP libp2p - ${CHARON_PORT_P2P_QUIC:-3610}:3610/udp # P2P QUIC libp2p
This release also introduces new ways of modifying existing cluster which are still in alpha version and are not recommended for Mainnet usage:
addvalidatorcommand which adds N validators to an existing cluster. This requires a new deposit for newly added validators.node_merge.shscript which helps combining validator keys and configuration for single pair of nodes by merging two nodes' folders.cluster_merge.shscript which helps expand an existing cluster with new validators by merging two existing clusters, given the same operators set and cluster configuration.
Feature
- Launchpad link per network (#3886)
charon --split-existing-keyssupport multiple formats (#3872)- cluster-lock merge script (#3847)
- Support deleting partial exits (#3838)
- Add
add-validatorscommand (#3857) - Replace go-eth2-client with in-house solution (#3862)
- Put QUIC behind a feature flag (#3814)
- Add zipped flag to DKG (#3903)
- Add hostname verification (#3901)
Bug
- Invalid UUIDs are generated (#3887)
- Memory leak under attestation_inclusion feature flag (#3867)
- Increased duty timeout margin (#3800)
- Set content type in alpha test (#3808)
- Fixed vapi monitoring code (#3812)
- Fix attestation committee index (#3820)
- Remove fulu from fork schedule (#3822)
- Add missing encoding types (#3853)
- Fix flaky test (#3888)
Refactor
- Added sse_head_delay buckets (#3795)
- Changed reorg gauge to historgram (#3796)
- Changed sse-head-delay buckets (#3816)
- Replace HasPrefix+TrimPrefix with CutPrefix (#3824)
- Use maps.Copy for cleaner map handling (#3856)
- Improve fallback beacon node logic and metric (#3870)
- Batch duplicate logs (#3835)
combinedefault input should align withcreate clusterdefault output. (#3815)
Compatibility Matrix
This release of Charon is backwards compatible with Charon v1.0.*, v1.1.*, v1.2.0, v1.3.*, v1.4.*, v1.5.* Though only v1.3.* and newer are Pectra-ready.
The below matrix details a combination of beacon node (consensus layer) + validator clients and their corresponding versions the DV Labs team have tested with this Charon release. More validator and consensus client will be added to this list as they are supported in our automated testing framework.
Legend
- ✅: All duties succeed in testing
- 🟡: All duties succeed in testing, except non-penalised aggregation duties
- 🟠: Duties may fail for this combination
- 🔴: One or more duties fails consistently
| Validator 👉 Consensus 👇 | Teku v25.7.1 ❗ | Lighthouse v7.1.0 ❗ | Lodestar v1.33.0 | Nimbus v25.7.1 | Prysm v6.0.4 ❗ | Vouch v1.10.3 ❗ |
|---|---|---|---|---|---|---|
| Teku v25.7.1 ❗ | ✅ | 🟡 | ✅ | ✅ | ✅ | 🟡 |
| Lighthouse v7.1.0 | ✅ | 🟡 | ✅ | ✅ | ✅ | 🟡 |
| Lodestar v1.33.0 | ✅ | 🟡 | ✅ | ✅ | ✅ | 🟡 |
| Nimbus v25.7.1 | ✅ | 🟡 | ✅ | ✅ | ✅ | 🟡 |
| Prysm v6.0.4 | ✅ | 🟡 | ✅ | ✅ | ✅ | 🟡 |
| Grandine v1.1.2 | ✅ | 🟡 | ✅ | ✅ | ✅ | 🟡 |
What's Changed
v1.6.0-rc5
v1.6.0-rc5 - 2025-08-26
This is a release candidate for Charon's v1.6.0 release. Feedback is welcome and appreciated, please use github issues or discord if you have trouble with this release.
Read the rest of the release notes for more:
Full Changelog: v1.5.2..v1.6.0-rc5
Notable features
This release ships with opt-in support for the QUIC transport protocol. QUIC aims to improve performance in large, distant clusters. This may become a default feature in future versions once proven stable and well-incorporated across our stack.
To enable this feature, make the following additions:
- Add
https://4.relay.obol.dev/to your obol relay list, e.g.CHARON_P2P_RELAYS:-https://0.relay.obol.tech,https://2.relay.obol.dev,https://1.relay.obol.tech,https://4.relay.obol.dev/ - Add
CHARON_FEATURESET_ENABLE=quicas an env variable - Add
CHARON_P2P_QUIC_ADDRESS=0.0.0.0:3610as an env variable - Allow UDP traffic on your port 3610. If you're using our docker-compose examples, your ports section should be like
ports: - ${CHARON_PORT_P2P_TCP:-3610}:3610/tcp # P2P TCP libp2p - ${CHARON_PORT_P2P_QUIC:-3610}:3610/udp # P2P QUIC libp2p
This release also introduces new ways of modifying existing cluster which are still in alpha version and are not recommended for Mainnet usage:
addvalidatorcommand which adds N validators to an existing cluster. This requires a new deposit for newly added validators.node_merge.shscript which helps combining validator keys and configuration for single pair of nodes by merging two nodes' folders.cluster_merge.shscript which helps expand an existing cluster with new validators by merging two existing clusters, given the same operators set and cluster configuration.
Feature
- Launchpad link per network (#3886)
charon --split-existing-keyssupport multiple formats (#3872)- cluster-lock merge script (#3847)
- Support deleting partial exits (#3838)
- Add
add-validatorscommand (#3857) - Replace go-eth2-client with in-house solution (#3862)
- Put QUIC behind a feature flag (#3814)
- Add zipped flag to DKG (#3903)
- Add hostname verification (#3901)
Bug
- Invalid UUIDs are generated (#3887)
- Memory leak under attestation_inclusion feature flag (#3867)
- Increased duty timeout margin (#3800)
- Set content type in alpha test (#3808)
- Fixed vapi monitoring code (#3812)
- Fix attestation committee index (#3820)
- Remove fulu from fork schedule (#3822)
- Add missing encoding types (#3853)
- Fix flaky test (#3888)
Refactor
- Added sse_head_delay buckets (#3795)
- Changed reorg gauge to historgram (#3796)
- Changed sse-head-delay buckets (#3816)
- Replace HasPrefix+TrimPrefix with CutPrefix (#3824)
- Use maps.Copy for cleaner map handling (#3856)
- Improve fallback beacon node logic and metric (#3870)
- Batch duplicate logs (#3835)
combinedefault input should align withcreate clusterdefault output. (#3815)
Compatibility Matrix
This release of Charon is backwards compatible with Charon v1.0.*, v1.1.*, v1.2.0, v1.3.*, v1.4.*, v1.5.* Though only v1.3.* and newer are Pectra-ready.
The below matrix details a combination of beacon node (consensus layer) + validator clients and their corresponding versions the DV Labs team have tested with this Charon release. More validator and consensus client will be added to this list as they are supported in our automated testing framework.
Legend
- ✅: All duties succeed in testing
- 🟡: All duties succeed in testing, except non-penalised aggregation duties
- 🟠: Duties may fail for this combination
- 🔴: One or more duties fails consistently
| Validator 👉 Consensus 👇 | Teku v25.7.1 ❗ | Lighthouse v7.1.0 ❗ | Lodestar v1.33.0 | Nimbus v25.7.1 | Prysm v6.0.4 ❗ | Vouch v1.10.3 ❗ |
|---|---|---|---|---|---|---|
| Teku v25.7.1 ❗ | ✅ | 🟡 | ✅ | ✅ | ✅ | 🟡 |
| Lighthouse v7.1.0 | ✅ | 🟡 | ✅ | ✅ | ✅ | 🟡 |
| Lodestar v1.33.0 | ✅ | 🟡 | ✅ | ✅ | ✅ | 🟡 |
| Nimbus v25.7.1 | ✅ | 🟡 | ✅ | ✅ | ✅ | 🟡 |
| Prysm v6.0.4 | ✅ | 🟡 | ✅ | ✅ | ✅ | 🟡 |
| Grandine v1.1.2 | ✅ | 🟡 | ✅ | ✅ | ✅ | 🟡 |
What's Changed
v1.6.0-rc4
v1.6.0-rc4 - 2025-08-26
This is a release candidate for Charon's v1.6.0 release. Feedback is welcome and appreciated, please use github issues or discord if you have trouble with this release.
Read the rest of the release notes for more:
Full Changelog: v1.5.2..v1.6.0-rc4
Notable features
This release ships with opt-in support for the QUIC transport protocol. QUIC aims to improve performance in large, distant clusters. This may become a default feature in future versions once proven stable and well-incorporated across our stack.
To enable this feature, make the following additions:
- Add
https://4.relay.obol.dev/to your obol relay list, e.g.CHARON_P2P_RELAYS:-https://0.relay.obol.tech,https://2.relay.obol.dev,https://1.relay.obol.tech,https://4.relay.obol.dev/ - Add
CHARON_FEATURESET_ENABLE=quicas an env variable - Add
CHARON_P2P_QUIC_ADDRESS=0.0.0.0:3610as an env variable - Allow UDP traffic on your port 3610. If you're using our docker-compose examples, your ports section should be like
ports: - ${CHARON_PORT_P2P_TCP:-3610}:3610/tcp # P2P TCP libp2p - ${CHARON_PORT_P2P_QUIC:-3610}:3610/udp # P2P QUIC libp2p
This release also introduces new ways of modifying existing cluster which are still in alpha version and are not recommended for Mainnet usage:
addvalidatorcommand which adds N validators to an existing cluster. This requires a new deposit for newly added validators.node_merge.shscript which helps combining validator keys and configuration for single pair of nodes by merging two nodes' folders.cluster_merge.shscript which helps expand an existing cluster with new validators by merging two existing clusters, given the same operators set and cluster configuration.
Feature
- Launchpad link per network (#3886)
charon --split-existing-keyssupport multiple formats (#3872)- cluster-lock merge script (#3847)
- Support deleting partial exits (#3838)
- Add
add-validatorscommand (#3857) - Replace go-eth2-client with in-house solution (#3862)
- Put QUIC behind a feature flag (#3814)
- Add zipped flag to DKG (#3903)
- Add hostname verification (#3901)
Bug
- Invalid UUIDs are generated (#3887)
- Memory leak under attestation_inclusion feature flag (#3867)
- Increased duty timeout margin (#3800)
- Set content type in alpha test (#3808)
- Fixed vapi monitoring code (#3812)
- Fix attestation committee index (#3820)
- Remove fulu from fork schedule (#3822)
- Add missing encoding types (#3853)
- Fix flaky test (#3888)
Refactor
- Added sse_head_delay buckets (#3795)
- Changed reorg gauge to historgram (#3796)
- Changed sse-head-delay buckets (#3816)
- Replace HasPrefix+TrimPrefix with CutPrefix (#3824)
- Use maps.Copy for cleaner map handling (#3856)
- Improve fallback beacon node logic and metric (#3870)
- Batch duplicate logs (#3835)
combinedefault input should align withcreate clusterdefault output. (#3815)
Compatibility Matrix
This release of Charon is backwards compatible with Charon v1.0.*, v1.1.*, v1.2.0, v1.3.*, v1.4.*, v1.5.* Though only v1.3.* and newer are Pectra-ready.
The below matrix details a combination of beacon node (consensus layer) + validator clients and their corresponding versions the DV Labs team have tested with this Charon release. More validator and consensus client will be added to this list as they are supported in our automated testing framework.
Legend
- ✅: All duties succeed in testing
- 🟡: All duties succeed in testing, except non-penalised aggregation duties
- 🟠: Duties may fail for this combination
- 🔴: One or more duties fails consistently
| Validator 👉 Consensus 👇 | Teku v25.7.1 ❗ | Lighthouse v7.1.0 ❗ | Lodestar v1.33.0 | Nimbus v25.7.1 | Prysm v6.0.4 ❗ | Vouch v1.10.3 ❗ |
|---|---|---|---|---|---|---|
| Teku v25.7.1 ❗ | ✅ | 🟡 | ✅ | ✅ | ✅ | 🟡 |
| Lighthouse v7.1.0 | ✅ | 🟡 | ✅ | ✅ | ✅ | 🟡 |
| Lodestar v1.33.0 | ✅ | 🟡 | ✅ | ✅ | ✅ | 🟡 |
| Nimbus v25.7.1 | ✅ | 🟡 | ✅ | ✅ | ✅ | 🟡 |
| Prysm v6.0.4 | ✅ | 🟡 | ✅ | ✅ | ✅ | 🟡 |
| Grandine v1.1.2 | ✅ | 🟡 | ✅ | ✅ | ✅ | 🟡 |
