Skip to main content
This page lists every environment variable read by the qc-custody binary, with its default and a one-line description. Source of truth: custody/config/config.go. All variables are prefixed CUSTODY_. They may be set in the process environment, in a .env file, or via your orchestrator’s secret-injection mechanism.

Server

Database

Quantum Chain node

Chain

Authentication and SSO

Webhooks

Signer

CUSTODY_SIGNER_* variables also accept CUSTODY_ENQLAVE_* aliases. If both are set, CUSTODY_SIGNER_* wins.

RBAC

Rate limiting

Telemetry (OpenTelemetry)

Secrets provider

Compliance / AML

Validation rules

The service refuses to start if:
  • CUSTODY_DB_PASSWORD is empty and CUSTODY_DB_IAM_AUTH=false.
  • CUSTODY_NODE_RPC_URL is empty.
  • CUSTODY_SSO_ENABLED=true and CUSTODY_SSO_JWT_SIGNING_KEY is empty.
  • CUSTODY_COMPLIANCE_PROVIDER=shuftipro and either CUSTODY_SHUFTIPRO_CLIENT_ID or CUSTODY_SHUFTIPRO_SECRET_KEY is empty.
  • CUSTODY_COMPLIANCE_PROVIDER=chainalysis and CUSTODY_CHAINALYSIS_API_KEY is empty.
  • CUSTODY_SIGNER_TYPE=grpc and CUSTODY_SIGNER_GRPC_TARGET is empty.
  • CUSTODY_SIGNER_BACKEND is not enqlave or qey.
  • CUSTODY_SIGNER_BACKEND=qey and CUSTODY_SIGNER_TYPE is not grpc.
  • CUSTODY_SIGNER_KEYGEN_MODE is not local or qey.
  • CUSTODY_SIGNER_KEYGEN_MODE=qey and CUSTODY_SIGNER_BACKEND is not qey.
  • CUSTODY_WEBHOOK_ENCRYPTION_KEY is set but is not exactly 64 hex chars.