Troubleshooting
Use this page for common ssv-dkg ceremony failures.
Stable ceremony failure code
Treat CEREMONY_FAILED as the stable generic ceremony failure code.
- The operator may intentionally sanitize or redact the underlying internal error
- When you see it, verify inputs, operator metadata, and healthchecks first
Common failures
Symptom: CEREMONY_FAILED
Likely cause
- the operator rejected the ceremony during validation
- the underlying operator-side error was sanitized before being returned
What to verify next
- operator metadata is current
- operator endpoints match the operator RSA public keys in your operators info file
- the same operator set passes
ssv-dkg ping pinguses the same operators info file you plan to use for the ceremony- all operators are on a current
ssv-dkgversion
Symptom: healthcheck signature validation fails
Likely cause
- the endpoint in your operators info file does not belong to the RSA public key you supplied
- the operator metadata is stale
What to verify next
- re-source operator metadata from a current source
- compare the operator ID, endpoint, and RSA public key together
- rerun
pingusing the exact operators info file you will use in the ceremony
Symptom: ceremony fails before it fully starts
Likely cause
- stale or incomplete operator metadata
- mismatched operator IDs and endpoints
- an operator is offline or no longer serving DKG at that address
What to verify next
- each operator endpoint is reachable
- each endpoint returns a valid signed healthcheck response
- each operator ID exists in the operators info file only once
Symptom: timeout-driven failure
Example:
2023-10-11T16:36:26.745937Z FATAL dkg-initiator 😥 Failed to initiate DKG ceremony: {"error": "Post \"http://79.44.117.213:3030/init\": dial tcp 79.44.117.213:3030: i/o timeout"}
Likely cause
- the initiator cannot reach one of the selected operators
- the operator is overloaded or too slow to answer within the stricter timeout window
What to verify next
- operator endpoint reachability from the initiator host
- TLS configuration and CA certificates
- whether the operator host is online and healthy
- whether retrying with a different operator set is necessary
Symptom: cleanup-driven failure or missing instance
Likely cause
- the operator cleaned up a stalled or expired ceremony instance
- the ceremony took too long between phases and the instance timed out
What to verify next
- restart the ceremony from the beginning
- avoid long delays between init and later ceremony phases
- check whether operators were slow, overloaded, or temporarily unavailable
If a ceremony stalls long enough, the operator may remove the instance and later messages will no longer match an active ceremony.
Symptom: [ERROR] failed to validate ceremony proof
2025-02-18T11:46:49.637474Z FATAL dkg-initiator 😥 Failed to initiate DKG ceremony: {"error": "failed to validate ceremony proof: invalid proof validator pubkey"}
Likely cause
- a previous ceremony artifact does not match the validator or operator set you are trying to use
- operator performance or hardware constraints caused proof validation to fail during the ceremony
What to verify next
- the
proofs.jsonfile came from the correct validator and ceremony - the operator set matches the proof set you are using
- operator and initiator hardware meet the DKG requirements
Symptom: [ERROR] invalid URI for request
2023-10-11T16:29:47.226138Z FATAL dkg-initiator 😥 Failed to load operators: {"error": "invalid operator URL parse \"80.181.85.114:3030\": invalid URI for request"}
Likely cause
- an operator endpoint is malformed
What to verify next
- every endpoint includes the correct scheme and host
- the operators info JSON was not manually edited incorrectly
Symptom: [ERROR] connection refused
2023-10-13T15:21:54.597429Z FATAL dkg-initiator 😥 Failed to initiate DKG ceremony: {"error": "Post \"http://80.181.85.114:3030/init\": dial tcp 80.181.85.114:3030: connect: connection refused"}
Likely cause
- the operator host is reachable, but the DKG service is not accepting connections
What to verify next
- the operator still exposes the DKG endpoint
- the endpoint port is correct
- the operator is not down or restarting
Symptom: [ERROR] Please provide either operator info string or path
2023-10-18T12:14:52.667985Z FATAL dkg-initiator 😥 Please provide either operator info string or path, not both
Likely cause
- you supplied both
operatorsInfoandoperatorsInfoPath
What to verify next
- keep only one of those inputs in your YAML file or command
Practical recovery checklist
When a ceremony fails, check these in order:
- rerun
ssv-dkg pingusing the same operators info file you plan to use for the ceremony - confirm that file still contains the correct operator IDs, endpoints, and RSA public keys
- refresh operator metadata from a current source
- confirm the operator IDs, endpoints, and RSA public keys still match
- confirm
proofs.jsonbelongs to the validator and operator set you expect - retry with healthy operators if a timeout or connectivity issue persists