juspay/hyperswitch · error

Failed to decrypt master database configuration

Error message

Failed to decrypt master database configuration

What it means

Error "Failed to decrypt master database configuration" thrown in juspay/hyperswitch.

Source

Thrown at crates/router/src/configs/secrets_transformers.rs:459

            .convert_to_raw_secret(secret_management_client)
            .await?;

        Ok(value.transition_state(|_| Self::Juspay(juspay)))
    }
}

/// # Panics
///
/// Will panic even if kms decryption fails for at least one field
pub(crate) async fn fetch_raw_secrets(
    conf: Settings<SecuredSecret>,
    secret_management_client: &dyn SecretManagementInterface,
) -> Settings<RawSecret> {
    #[allow(clippy::expect_used)]
    let master_database =
        settings::Database::convert_to_raw_secret(conf.master_database, secret_management_client)
            .await
            .expect("Failed to decrypt master database configuration");

    #[allow(clippy::expect_used)]
    let accounts_database = if let Some(accounts_database) = conf.accounts_database {
        Some(
            settings::Database::convert_to_raw_secret(accounts_database, secret_management_client)
                .await
                .expect("Failed to decrypt accounts database configuration"),
        )
    } else {
        None
    };

    #[allow(clippy::expect_used)]
    let global_database = if let Some(global_database) = conf.global_database {
        Some(
            settings::Database::convert_to_raw_secret(global_database, secret_management_client)
                .await
                .expect("Failed to decrypt global database configuration"),

View on GitHub (pinned to 3093f22cc4)

Solutions

  1. Verify the master key/KMS configuration used to decrypt the master database credentials

When it happens

Trigger: Thrown at crates/router/src/configs/secrets_transformers.rs:481 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of juspay/hyperswitch@3093f22cc4 (2026-08-19). Data as JSON: /api/errors/1a74a4c434b60241. Report an issue: GitHub.