{"record":{"id":"9437173a9a7fd3f9","repo":"juspay/hyperswitch","slug":"failed-to-decode-master-key-from-hex","errorCode":null,"errorMessage":"Failed to decode master key from hex","messagePattern":"Failed to decode master key from hex","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/router/src/services.rs","lineNumber":72,"sourceCode":"    config: &Settings,\n    tenant: &dyn TenantConfig,\n    master_config: Database,\n    accounts_config: Database,\n    cache_store: Arc<RedisStore>,\n    test_transaction: bool,\n    key_manager_state: keymanager::KeyManagerState,\n) -> StorageResult<Store> {\n    let database_event_emitter = Arc::clone(&key_manager_state.event_emitter);\n    // Reads are served off a single replica pool regardless of tenant/accounts/global role.\n    #[cfg(feature = \"olap\")]\n    let replica_config = config.replica_database.clone().into_inner();\n    #[cfg(feature = \"olap\")]\n    let accounts_replica_config = replica_config.clone();\n\n    #[allow(clippy::expect_used)]\n    let master_enc_key = hex::decode(config.secrets.get_inner().master_enc_key.clone().expose())\n        .map(StrongSecret::new)\n        .expect(\"Failed to decode master key from hex\");\n\n    #[cfg(not(feature = \"olap\"))]\n    let conf = (master_config.into(), accounts_config.into());\n    #[cfg(feature = \"olap\")]\n    // this would get abstracted, for all cases\n    #[allow(clippy::useless_conversion)]\n    let conf = (\n        master_config.into(),\n        replica_config.into(),\n        accounts_config.into(),\n        accounts_replica_config.into(),\n    );\n\n    let store: RouterStore<StoreType> = if test_transaction {\n        RouterStore::test_store(\n            conf,\n            tenant,\n            &config.redis,","sourceCodeStart":54,"sourceCodeEnd":90,"githubUrl":"https://github.com/juspay/hyperswitch/blob/806ec7dcc036d895b93313d5e8eaa2374e25bcdf/crates/router/src/services.rs#L54-L90","documentation":"Error \"Failed to decode master key from hex\" thrown in juspay/hyperswitch.","triggerScenarios":"Thrown at crates/router/src/services.rs:71 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Ensure the master key in configuration is valid hex of the expected length (32/64 bytes)"],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"806ec7dcc036d895b93313d5e8eaa2374e25bcdf","analyzedAt":"2026-08-19T10:36:43.745Z","contentChangedAt":"2026-08-19T10:36:43.745Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}