Common Options

Common options (env var → type — default / notes):

  • FIGCHAIN_URL → string — default https://app.figchain.io/api/ (base API URL)
  • FIGCHAIN_LONG_POLLING_URL → string — optional (long-polling endpoint)
  • FIGCHAIN_CLIENT_SECRET → string — optional (shared secret auth)
  • FIGCHAIN_ENVIRONMENT_ID → string/UUID — required
  • FIGCHAIN_NAMESPACES → string (comma-separated) — optional (namespaces to fetch)
  • FIGCHAIN_POLLING_INTERVAL_MS → integer (ms) — default ~60000 (60s)
  • FIGCHAIN_MAX_RETRIES → integer — default 3
  • FIGCHAIN_RETRY_DELAY_MS → integer (ms) — default ~1000 (1s)
  • FIGCHAIN_AS_OF_TIMESTAMP → string — optional (bootstrap as-of)
  • FIGCHAIN_BOOTSTRAP_STRATEGY / FIGCHAIN_BOOTSTRAP_MODE → string — values: server, server-first, backup, hybrid (or Java enum names like SERVER_FIRST)

S3 Resilience (Backups) options:

  • FIGCHAIN_BACKUP_ENABLED → bool — default false
  • FIGCHAIN_BACKUP_BUCKET → string
  • FIGCHAIN_BACKUP_PREFIX → string
  • FIGCHAIN_BACKUP_REGION → string — default us-east-1
  • FIGCHAIN_BACKUP_ENDPOINT → string — optional (custom endpoint, e.g., MinIO)
  • FIGCHAIN_BACKUP_PATH_STYLE_ACCESS → bool — optional (path-style addressing)
  • FIGCHAIN_BACKUP_PRIVATE_KEY_PATH → string — path to backup decryption private key

Encryption / auth keys:

  • FIGCHAIN_ENCRYPTION_PRIVATE_KEY_PATH → string — path to encryption private key (for decrypting envelopes)
  • FIGCHAIN_AUTH_PRIVATE_KEY_PATH → string — path to auth private key (PEM file)
  • FIGCHAIN_AUTH_PRIVATE_KEY_PEM → string — auth private key PEM content (alternate to path)
  • FIGCHAIN_AUTH_CLIENT_ID → string — service account / client id
  • FIGCHAIN_AUTH_CREDENTIAL_ID → string — credential id / key id
  • FIGCHAIN_TENANT_ID → string — tenant identifier

Behavioral notes: - Java and Python clients expect polling interval and retry delays in milliseconds (FIGCHAIN_POLLING_INTERVAL_MS, FIGCHAIN_RETRY_DELAY_MS). - The Go client accepts canonical FIGCHAIN_* env vars (compatibility aliases) and also supports duration-style values (e.g. 60s) when configured via files. - All clients support config files (YAML/JSON) and programmatic options; precedence is generally: programmatic > env vars > config file > defaults.