diff --git a/modules/net/dap_chain_node_cli_cmd.c b/modules/net/dap_chain_node_cli_cmd.c
index 4cd02cc2c805548b9b8e0681f627adf1fc1e9b87..97612190c44b66dc6e4ad3dc351891e007951716 100644
--- a/modules/net/dap_chain_node_cli_cmd.c
+++ b/modules/net/dap_chain_node_cli_cmd.c
@@ -1870,7 +1870,7 @@ int l_arg_index = 1, l_rc, cmd_num = CMD_NONE;
                     l_rc = l_ttl_str ? strtoul(l_ttl_str, NULL, 10) : 60;
 
                     l_rc = cmd_num == CMD_WALLET_ACTIVATE
-                            ? dap_chain_wallet_activate(l_wallet_name, strlen(l_wallet_name), l_pass_str, strlen(l_pass_str), l_rc)
+                            ? dap_chain_wallet_activate(l_wallet_name, strlen(l_wallet_name), NULL, l_pass_str, strlen(l_pass_str), l_rc)
                             : dap_chain_wallet_deactivate (l_wallet_name, strlen(l_wallet_name));
 
                     switch (l_rc) {
diff --git a/modules/wallet/dap_chain_wallet.c b/modules/wallet/dap_chain_wallet.c
index 80ceebb0c45224b9a831caa75743ca1be987ae75..8851d31c0f5c1433a50d31e8ad378a0452dc2aef 100644
--- a/modules/wallet/dap_chain_wallet.c
+++ b/modules/wallet/dap_chain_wallet.c
@@ -140,6 +140,7 @@ dap_list_t* dap_chain_wallet_get_local_addr(){
 int     dap_chain_wallet_activate   (
                     const   char    *a_name,
                         ssize_t      a_name_len,
+                    const   char    *a_path,
                     const   char    *a_pass,
                         ssize_t      a_pass_len,
                         unsigned     a_ttl
@@ -197,7 +198,7 @@ char *c_wallets_path;
     /*
      * Check password by open/close BMF Wallet file
     */
-    if ( !(c_wallets_path = (char *) dap_chain_wallet_get_path(g_config)) ) /* No path to wallets - nothing to do */
+    if ( !(c_wallets_path = a_path ? (char *)a_path : (char *) dap_chain_wallet_get_path(g_config)) ) /* No path to wallets - nothing to do */
     {
         memset(l_prec->pass, 0, l_prec->pass_len), l_prec->pass_len = 0;
         return  log_it(L_ERROR, "Wallet's path has been not configured"), -EINVAL;
diff --git a/modules/wallet/include/dap_chain_wallet.h b/modules/wallet/include/dap_chain_wallet.h
index bb156cacc9370ccf918800041f3f59533cdb9757..0f1daa51e92ed205ff3905759b6b952ff73d3c3c 100644
--- a/modules/wallet/include/dap_chain_wallet.h
+++ b/modules/wallet/include/dap_chain_wallet.h
@@ -88,7 +88,7 @@ uint256_t dap_chain_wallet_get_balance(dap_chain_wallet_t *a_wallet, dap_chain_n
 
 int dap_chain_wallet_save_file( dap_chain_wallet_t * a_wallet);
 
-int dap_chain_wallet_activate   (const char *a_name, ssize_t a_name_len, const char *a_pass, ssize_t a_pass_len, unsigned a_ttl);
+int dap_chain_wallet_activate   (const char *a_name, ssize_t a_name_len, const char *a_path, const char *a_pass, ssize_t a_pass_len, unsigned a_ttl);
 int dap_chain_wallet_deactivate   (const char *a_name, ssize_t a_name_len);
 
 const char* dap_chain_wallet_check_sign(dap_chain_wallet_t *a_wallet);
@@ -103,4 +103,4 @@ dap_list_t* dap_chain_wallet_get_local_addr();
 
 #ifdef __cplusplus
 }
-#endif
\ No newline at end of file
+#endif