diff --git a/modules/common/dap_chain_datum_token.c b/modules/common/dap_chain_datum_token.c
index 07118fbc49bf6453f03deb45853990b6c51e645e..ea631e9f33865dfbd683b6b033135861fdd19297 100644
--- a/modules/common/dap_chain_datum_token.c
+++ b/modules/common/dap_chain_datum_token.c
@@ -219,6 +219,31 @@ void dap_chain_datum_token_flags_dump(dap_string_t * a_str_out, uint16_t a_flags
     }
 }
 
+/**
+ * @brief dap_chain_datum_token_flags_dump_to_json
+ * @param json_obj_out
+ * @param a_flags
+ */
+void dap_chain_datum_token_flags_dump_to_json(json_object * json_obj_out, uint16_t a_flags)
+{
+    if(!a_flags){
+        json_object_object_add(json_obj_out, "flags:", json_object_new_string(c_dap_chain_datum_token_flag_str[DAP_CHAIN_DATUM_TOKEN_FLAG_NONE]));
+
+        return;
+    }
+    bool is_first = true;
+    for ( uint16_t i = 0;  BIT(i) <= DAP_CHAIN_DATUM_TOKEN_FLAG_MAX; i++){
+        if(   a_flags &  (1 << i) ){
+            if(is_first)
+                is_first = false;
+
+            json_object_object_add(json_obj_out, "flags:", json_object_new_string(c_dap_chain_datum_token_flag_str[BIT(i)]));
+
+        }
+    }
+}
+
+
 
 /**
  * @brief dap_chain_datum_token_certs_dump
@@ -267,6 +292,58 @@ void dap_chain_datum_token_certs_dump(dap_string_t * a_str_out, byte_t * a_data_
     }
 }
 
+/**
+ * @brief dap_chain_datum_token_certs_dump_to_json
+ * @param a_json_obj_out
+ * @param a_data_n_tsd
+ * @param a_certs_size
+ */
+void dap_chain_datum_token_certs_dump_to_json(json_object *a_json_obj_out, byte_t * a_data_n_tsd, size_t a_certs_size, const char *a_hash_out_type)
+{
+    json_object_object_add(a_json_obj_out, "Signatures", json_object_new_string(""));
+    if (!a_certs_size) {
+        json_object_object_add(a_json_obj_out, "status", json_object_new_string("<NONE>"));
+        return;
+    }
+
+    size_t l_offset = 0;
+    json_object * json_arr_seg = json_object_new_array();
+    for (int i = 1; l_offset < (a_certs_size); i++) {
+        json_object * l_json_obj_out = json_object_new_object();
+        dap_sign_t *l_sign = (dap_sign_t *) (a_data_n_tsd + l_offset);
+        l_offset += dap_sign_get_size(l_sign);
+        if (l_sign->header.sign_size == 0) {
+            json_object_object_add(l_json_obj_out, "status", json_object_new_string("<CORRUPTED - 0 size signature>"));
+            break;
+        }
+
+        if (l_sign->header.sign_size > a_certs_size)
+        {
+            json_object_object_add(l_json_obj_out, "status", json_object_new_string("<CORRUPTED - signature size is greater than a_certs_size>"));
+            continue;
+        }
+
+        dap_chain_hash_fast_t l_pkey_hash = {0};
+        if (dap_sign_get_pkey_hash(l_sign, &l_pkey_hash) == false) {
+            json_object_object_add(l_json_obj_out, "status", json_object_new_string("<CORRUPTED - can't calc hash>"));
+            continue;
+        }
+
+        char *l_hash_str = dap_strcmp(a_hash_out_type, "hex")
+                               ? dap_enc_base58_encode_hash_to_str(&l_pkey_hash)
+                               : dap_chain_hash_fast_to_str_new(&l_pkey_hash);
+
+        json_object_object_add(l_json_obj_out, "line", json_object_new_int(i));
+        json_object_object_add(l_json_obj_out, "hash", json_object_new_string(l_hash_str));
+        json_object_object_add(l_json_obj_out, "sign_type", json_object_new_string(dap_sign_type_to_str(l_sign->header.type)));
+        json_object_object_add(l_json_obj_out, "bytes", json_object_new_int(l_sign->header.sign_size));
+        json_object_array_add(json_arr_seg, l_json_obj_out);
+        DAP_DEL_Z(l_hash_str);
+    }
+    json_object_object_add(a_json_obj_out, "status", json_arr_seg);
+}
+
+
 dap_sign_t ** dap_chain_datum_token_signs_parse(dap_chain_datum_token_t * a_datum_token, size_t a_datum_token_size, size_t *a_signs_total, size_t * a_signs_valid)
 {
     assert(a_datum_token_size);
diff --git a/modules/common/include/dap_chain_datum_token.h b/modules/common/include/dap_chain_datum_token.h
index ebd68caa261e26d5b10f55c2a119cd2bbd267724..4fb52984e1bc6c68a1e32c84da0434cdd57fa4d9 100644
--- a/modules/common/include/dap_chain_datum_token.h
+++ b/modules/common/include/dap_chain_datum_token.h
@@ -505,7 +505,9 @@ extern const char *c_dap_chain_datum_token_emission_type_str[];
 /// TDS op funcs
 dap_tsd_t* dap_chain_datum_token_tsd_get(dap_chain_datum_token_t * a_token,  size_t a_token_size);
 void dap_chain_datum_token_flags_dump(dap_string_t * a_str_out, uint16_t a_flags);
+void dap_chain_datum_token_flags_dump_to_json(json_object * json_obj_out, uint16_t a_flags);
 void dap_chain_datum_token_certs_dump(dap_string_t * a_str_out, byte_t * a_data_n_tsd, size_t a_certs_size, const char *a_hash_out_type);
+void dap_chain_datum_token_certs_dump_to_json(json_object *a_json_obj_out, byte_t * a_data_n_tsd, size_t a_certs_size, const char *a_hash_out_type);
 dap_sign_t ** dap_chain_datum_token_signs_parse(dap_chain_datum_token_t * a_datum_token, size_t a_datum_token_size, size_t *a_signs_count, size_t * a_signs_valid);
 dap_chain_datum_token_t *dap_chain_datum_token_read(const byte_t *a_token_serial, size_t *a_token_size);
 
diff --git a/modules/common/include/dap_chain_datum_tx.h b/modules/common/include/dap_chain_datum_tx.h
index 33d37f51425d481dc73bd713c704941cc6390eb8..cba9ffe2e64400d9def5ff00e245709cb4e90a16 100644
--- a/modules/common/include/dap_chain_datum_tx.h
+++ b/modules/common/include/dap_chain_datum_tx.h
@@ -153,6 +153,6 @@ dap_sign_t *dap_chain_datum_tx_get_sign(dap_chain_datum_tx_t *a_tx, int a_sign_n
  */
 int dap_chain_datum_tx_verify_sign(dap_chain_datum_tx_t *a_tx);
 
-json_object *dap_chain_datum_tx_to_json(dap_chain_datum_tx_t *a_tx);
+//json_object *dap_chain_datum_tx_to_json(dap_chain_datum_tx_t *a_tx);
 
 int dap_chain_datum_tx_get_fee_value (dap_chain_datum_tx_t *a_tx, uint256_t *a_value);
diff --git a/modules/json_rpc/common/dap_json_rpc_chain_datum_tx.c b/modules/json_rpc/common/dap_json_rpc_chain_datum_tx.c
index 043b57b2519d415eb37d79a995c7f3adeead627c..b6377c825eaf4566d31a5d4d17008acd68712b0e 100644
--- a/modules/json_rpc/common/dap_json_rpc_chain_datum_tx.c
+++ b/modules/json_rpc/common/dap_json_rpc_chain_datum_tx.c
@@ -14,7 +14,7 @@
 
 
 
-json_object *dap_chain_datum_tx_to_json(dap_chain_datum_tx_t *a_tx){
+json_object *dap_chain_datum_tx_to_json(dap_chain_datum_tx_t *a_tx,dap_chain_net_id_t *a_net_id){
     json_object *l_obj_items = json_object_new_array();
     if (!l_obj_items) {
         dap_json_rpc_allocation_error;
diff --git a/modules/json_rpc/common/include/dap_json_rpc_chain_datum_tx.h b/modules/json_rpc/common/include/dap_json_rpc_chain_datum_tx.h
index 3c41a9bf0cac21379d8b2de2a6b96fda7c9cc65e..ef472df5f6e70ab8d560df2d15746eb30d6383f3 100644
--- a/modules/json_rpc/common/include/dap_json_rpc_chain_datum_tx.h
+++ b/modules/json_rpc/common/include/dap_json_rpc_chain_datum_tx.h
@@ -28,4 +28,4 @@
 #include "dap_chain_datum_tx.h"
 #include "dap_json_rpc_errors.h"
 
-json_object *dap_chain_datum_tx_to_json(dap_chain_datum_tx_t *a_tx, dap_chain_net_id_t *a_net_id);
+json_object * dap_chain_datum_tx_to_json(dap_chain_datum_tx_t *a_tx, dap_chain_net_id_t *a_net_id);
diff --git a/modules/net/dap_chain_node_cli_cmd_tx.c b/modules/net/dap_chain_node_cli_cmd_tx.c
index 5dade069dcd2e2378f9712c8f93a4da2ad0a11db..687321a91a56413c1b7e56ca3344d0df8310cb2a 100644
--- a/modules/net/dap_chain_node_cli_cmd_tx.c
+++ b/modules/net/dap_chain_node_cli_cmd_tx.c
@@ -100,15 +100,16 @@ static bool s_dap_chain_datum_tx_out_data(dap_chain_datum_tx_t *a_datum,
 {
     dap_time_t l_ts_create = (dap_time_t)a_datum->header.ts_created;
     char l_tx_hash_str[70]={0};
-    char l_tmp_buf[70];
+    char l_tmp_buf[DAP_TIME_STR_SIZE];
     const char *l_ticker = a_ledger
             ? dap_ledger_tx_get_token_ticker_by_hash(a_ledger, a_tx_hash)
             : NULL;
     if (!l_ticker)
         return false;
+    dap_time_to_str_rfc822(l_tmp_buf, DAP_TIME_STR_SIZE, l_ts_create);
     dap_chain_hash_fast_to_str(a_tx_hash,l_tx_hash_str,sizeof(l_tx_hash_str));
     json_object_object_add(json_obj_out, "Datum_tx_hash", json_object_new_string(l_tx_hash_str));
-    json_object_object_add(json_obj_out, "TS_Created", json_object_new_string(dap_ctime_r(&l_ts_create, l_tmp_buf)));
+    json_object_object_add(json_obj_out, "TS_Created", json_object_new_string(l_tmp_buf));
     json_object_object_add(json_obj_out, "Token_ticker", json_object_new_string(l_ticker));
     json_object* datum_tx = dap_chain_datum_tx_to_json(a_datum,&a_ledger->net->pub.id);
     json_object_object_add(json_obj_out, "Datum_tx", datum_tx);