diff --git a/modules/net/dap_chain_node_cli_cmd_tx.c b/modules/net/dap_chain_node_cli_cmd_tx.c
index 64683083f03509808c82724a22f3d7f365c713a4..87b9f7124760b41fef95918c343bcb186d7844ab 100644
--- a/modules/net/dap_chain_node_cli_cmd_tx.c
+++ b/modules/net/dap_chain_node_cli_cmd_tx.c
@@ -71,6 +71,7 @@ void _dap_chain_tx_hash_processed_ht_free(dap_chain_tx_hash_processed_ht_t *l_ha
 }
 
 void _dap_chain_datum_tx_out_data(dap_chain_datum_tx_t *a_datum,
+                                  dap_ledger_t *a_ledger,
                                   dap_string_t *a_str_out,
                                   const char *a_hash_out_type,
                                   bool save_processed_tx,
@@ -96,7 +97,13 @@ void _dap_chain_datum_tx_out_data(dap_chain_datum_tx_t *a_datum,
     else
         l_tx_hash_user_str = dap_enc_base58_from_hex_str_to_str(l_tx_hash_str);
     dap_list_t *l_list_tx_any = dap_chain_datum_tx_items_get(a_datum, TX_ITEM_TYPE_TOKEN, NULL);
-    dap_string_append_printf(a_str_out, "transaction: %s hash: %s\n Items:\n", l_list_tx_any ? "(emit)" : "", l_tx_hash_user_str);
+    if(a_ledger == NULL){
+        dap_string_append_printf(a_str_out, "transaction: %s hash: %s\n Items:\n", l_list_tx_any ? "(emit)" : "", l_tx_hash_user_str);
+    } else {
+        dap_string_append_printf(a_str_out, "transaction: %s hash: %s\n Token ticker: %s\n Items:\n",
+                                 l_list_tx_any ? "(emit)" : "", l_tx_hash_user_str,
+                                 dap_chain_ledger_tx_get_token_ticker_by_hash(a_ledger, &l_tx_hash));
+    }
     DAP_DELETE(l_tx_hash_user_str);
     dap_list_free(l_list_tx_any);
     uint32_t l_tx_items_count = 0;
@@ -885,7 +892,7 @@ static char* dap_db_history_token_list(dap_chain_t * a_chain, const char *a_toke
  *
  * return history string
  */
-static char* dap_db_history_filter(dap_chain_t * a_chain, const char *a_filter_token_name, const char *a_filtr_addr_base58, const char *a_hash_out_type, long a_datum_start, long a_datum_end, long *a_total_datums, dap_chain_tx_hash_processed_ht_t *a_tx_hash_processed)
+static char* dap_db_history_filter(dap_chain_t * a_chain, dap_ledger_t *a_ledger, const char *a_filter_token_name, const char *a_filtr_addr_base58, const char *a_hash_out_type, long a_datum_start, long a_datum_end, long *a_total_datums, dap_chain_tx_hash_processed_ht_t *a_tx_hash_processed)
 {
     dap_string_t *l_str_out = dap_string_new(NULL);
 
@@ -1060,7 +1067,7 @@ static char* dap_db_history_filter(dap_chain_t * a_chain, const char *a_filter_t
             dap_chain_datum_tx_t *l_tx = (dap_chain_datum_tx_t*)l_datum->data;
 //            dap_chain_tx_hash_processed_ht_t *l_tx_hash_processed = a_tx_hash_processed;
             //calc tx hash
-            _dap_chain_datum_tx_out_data(l_tx, l_str_out, a_hash_out_type, true, &a_tx_hash_processed, &l_tx_num);
+            _dap_chain_datum_tx_out_data(l_tx, a_ledger, l_str_out, a_hash_out_type, true, &a_tx_hash_processed, &l_tx_num);
 //            a_tx_hash_processed = l_tx_hash_processed;
 //            l_tx_num++;
 
@@ -1470,9 +1477,10 @@ int com_ledger(int a_argc, char ** a_argv, void *a_arg_func, char **a_str_reply)
 
                 char *l_str_out = NULL;
                 dap_string_append_printf(l_str_ret, "chain: %s\n", l_chain_cur->name);
+                dap_ledger_t *l_ledger = dap_chain_ledger_by_net_name(l_net_str);
                 if(l_is_all) {
                     // without filters
-                    l_str_out = dap_db_history_filter(l_chain_cur, NULL, NULL, l_hash_out_type, -1, 0, NULL, l_list_tx_hash_processd);
+                    l_str_out = dap_db_history_filter(l_chain_cur, l_ledger, NULL, NULL, l_hash_out_type, -1, 0, NULL, l_list_tx_hash_processd);
                     dap_string_append_printf(l_str_ret, "all history:\n%s\n", l_str_out ? l_str_out : " empty");
                 }
                 else {
@@ -1554,7 +1562,7 @@ int com_ledger(int a_argc, char ** a_argv, void *a_arg_func, char **a_str_reply)
             return -2;
         }
         dap_string_t *l_str = dap_string_new("");
-        _dap_chain_datum_tx_out_data(l_datum_tx, l_str, l_hash_out_type, false, NULL, NULL);
+        _dap_chain_datum_tx_out_data(l_datum_tx, l_ledger, l_str, l_hash_out_type, false, NULL, NULL);
         dap_chain_node_cli_set_reply_text(a_str_reply, l_str->str);
         dap_string_free(l_str, true);
         return 0;
@@ -1736,7 +1744,8 @@ int com_token(int a_argc, char ** a_argv, void *a_arg_func, char **a_str_reply)
                 // only selected net
                 if(l_net->pub.id.uint64 == l_chain_cur->net_id.uint64) {
                     long l_chain_datum = l_cur_datum;
-                    char *l_datum_list_str = dap_db_history_filter(l_chain_cur, l_token_name_str, NULL,
+                    dap_ledger_t *l_ledger = dap_chain_ledger_by_net_name(l_net_str);
+                    char *l_datum_list_str = dap_db_history_filter(l_chain_cur, l_ledger, l_token_name_str, NULL,
                             l_hash_out_type, l_page_start * l_page_size, (l_page_start+l_page)*l_page_size, &l_chain_datum, l_list_tx_hash_processd);
                     if(l_datum_list_str) {
                         l_cur_datum += l_chain_datum;