diff --git a/modules/net/dap_chain_net.c b/modules/net/dap_chain_net.c
index dca16fe7ba5e8bba495307716e91ca0a235f7227..6ecae51021edac29b2e63fb84cffd604c5ecd846 100644
--- a/modules/net/dap_chain_net.c
+++ b/modules/net/dap_chain_net.c
@@ -1877,7 +1877,7 @@ static int s_cli_net(int argc, char **argv, char **a_str_reply)
                 DAP_DELETE(l_network_fee_addr_str);
 
                 //Get validators fee
-                dap_chain_net_srv_stake_get_fee_validators(l_net, l_str);
+                dap_chain_net_srv_stake_get_fee_validators_str(l_net, l_str);
                 //Get services fee
                 dap_string_append_printf(l_str, "Services fee: \n");
                 dap_chain_net_srv_xchange_print_fee(l_net, l_str); //Xchaneg fee
diff --git a/modules/service/stake_pos_delegate/dap_chain_net_srv_stake_pos_delegate.c b/modules/service/stake_pos_delegate/dap_chain_net_srv_stake_pos_delegate.c
index cbadc37d6399235933a9ea50dff6ebe713290c5a..25c0b59bace78f30a149c7c0696b9d5c3306b902 100644
--- a/modules/service/stake_pos_delegate/dap_chain_net_srv_stake_pos_delegate.c
+++ b/modules/service/stake_pos_delegate/dap_chain_net_srv_stake_pos_delegate.c
@@ -1694,17 +1694,16 @@ static int s_cli_srv_stake(int a_argc, char **a_argv, char **a_str_reply)
     return 0;
 }
 
-void dap_chain_net_srv_stake_get_fee_validators(dap_chain_net_t *a_net, dap_string_t *a_string_ret)
-{
-    if (!a_net || !a_string_ret)
-        return;
+bool dap_chain_net_srv_stake_get_fee_validators(dap_chain_net_t *a_net,
+                                                uint256_t *a_max_fee, uint256_t *a_average_fee, uint256_t *a_min_fee) {
+    if (!a_net)
+        return false;
     char * l_gdb_group_str = dap_chain_net_srv_order_get_gdb_group(a_net);
     size_t l_orders_count = 0;
     dap_global_db_obj_t * l_orders = dap_global_db_get_all_sync(l_gdb_group_str, &l_orders_count);
     uint256_t l_max = {0};
     uint256_t l_min = {0};
     uint256_t l_average = {0};
-//    bool setMinimal = false;
     uint64_t l_order_fee_count = 0;
     for (size_t i = 0; i < l_orders_count; i++) {
         dap_chain_net_srv_order_t *l_order = (dap_chain_net_srv_order_t *)l_orders[i].value;
@@ -1731,13 +1730,30 @@ void dap_chain_net_srv_stake_get_fee_validators(dap_chain_net_t *a_net, dap_stri
     if (!IS_ZERO_256(l_average)) DIV_256(l_average, dap_chain_uint256_from(l_order_fee_count), &t);
     dap_global_db_objs_delete(l_orders, l_orders_count);
     DAP_DELETE( l_gdb_group_str);
+    if (a_min_fee)
+        *a_min_fee = l_min;
+    if (a_average_fee)
+        *a_average_fee = l_average;
+    if (a_max_fee)
+        *a_max_fee = l_max;
+    return true;
+}
+
+void dap_chain_net_srv_stake_get_fee_validators_str(dap_chain_net_t *a_net, dap_string_t *a_string_ret)
+{
+    if (!a_net || !a_string_ret)
+        return;
+    uint256_t l_min = {0};
+    uint256_t l_average = {0};
+    uint256_t  l_max = {0};
+    dap_chain_net_srv_stake_get_fee_validators(a_net, &l_max, &l_average, &l_min);
     const char *l_native_token  =  a_net->pub.native_ticker;
     char *l_min_balance = dap_chain_balance_print(l_min);
     char *l_min_coins = dap_chain_balance_to_coins(l_min);
     char *l_max_balance = dap_chain_balance_print(l_max);
     char *l_max_coins = dap_chain_balance_to_coins(l_max);
-    char *l_average_balance = dap_chain_balance_print(t);
-    char *l_average_coins = dap_chain_balance_to_coins(t);
+    char *l_average_balance = dap_chain_balance_print(l_average);
+    char *l_average_coins = dap_chain_balance_to_coins(l_average);
     dap_string_append_printf(a_string_ret, "Validator fee: \n"
                                            "\t MIN: %s (%s) %s\n"
                                            "\t MAX: %s (%s) %s\n"
diff --git a/modules/service/stake_pos_delegate/include/dap_chain_net_srv_stake_pos_delegate.h b/modules/service/stake_pos_delegate/include/dap_chain_net_srv_stake_pos_delegate.h
index 9750aa74f01100e11b1ca6a21d2402671f70c72d..f7365f76b89358fa20e8fcede53bcc1189cb6b78 100644
--- a/modules/service/stake_pos_delegate/include/dap_chain_net_srv_stake_pos_delegate.h
+++ b/modules/service/stake_pos_delegate/include/dap_chain_net_srv_stake_pos_delegate.h
@@ -72,7 +72,10 @@ bool dap_chain_net_srv_stake_key_delegated(dap_chain_addr_t *a_addr);
 int dap_chain_net_srv_stake_verify_key_and_node(dap_chain_addr_t* a_signing_addr, dap_chain_node_addr_t* a_node_addr);
 dap_list_t *dap_chain_net_srv_stake_get_validators(dap_chain_net_id_t a_net_id);
 
-void dap_chain_net_srv_stake_get_fee_validators(dap_chain_net_t *a_net, dap_string_t *a_string);
+bool dap_chain_net_srv_stake_get_fee_validators(dap_chain_net_t *a_net,
+                                                uint256_t *a_max_fee, uint256_t *a_average_fee, uint256_t *a_min_fee);
+
+void dap_chain_net_srv_stake_get_fee_validators_str(dap_chain_net_t *a_net, dap_string_t *a_string);
 
 int dap_chain_net_srv_stake_load_cache(dap_chain_net_t *a_net);
 void dap_chain_net_srv_stake_cache_purge(dap_chain_net_t *a_net);