diff --git a/dap_chain_net.c b/dap_chain_net.c
index 2e18f1a0700f60e4a5871aad321da65460ba2e90..319779716d19f0539c85e16f1372b45a209e2144 100644
--- a/dap_chain_net.c
+++ b/dap_chain_net.c
@@ -539,6 +539,18 @@ int dap_chain_net_load(const char * a_net_name)
                     dap_config_get_item_str_default(l_cfg , "general" , "gdb_groups_prefix","" ) );
 
 
+        // Add network to the list
+        dap_chain_net_item_t * l_net_item = DAP_NEW_Z( dap_chain_net_item_t);
+        dap_chain_net_item_t * l_net_item2 = DAP_NEW_Z( dap_chain_net_item_t);
+        snprintf(l_net_item->name,sizeof (l_net_item->name),"%s"
+                     ,dap_config_get_item_str(l_cfg , "general" , "name" ));
+        l_net_item->chain_net = l_net;
+        l_net_item->net_id.uint64 = l_net->pub.id.uint64;
+        HASH_ADD_STR(s_net_items,name,l_net_item);
+
+        memcpy( l_net_item2,l_net_item,sizeof (*l_net_item));
+        HASH_ADD(hh,s_net_items_ids,net_id,sizeof ( l_net_item2->net_id),l_net_item2);
+
         // LEDGER model
         uint16_t l_ledger_flags = 0;
         switch ( PVT( l_net )->node_role.enums ) {
@@ -554,6 +566,8 @@ int dap_chain_net_load(const char * a_net_name)
             case NODE_ROLE_LIGHT:
                 l_ledger_flags |= DAP_CHAIN_LEDGER_CHECK_LOCAL_DS;
         }
+        // init LEDGER model
+        l_net->pub.ledger = dap_chain_ledger_create(l_ledger_flags);
 
         // Check if seed nodes are present in local db alias
         PVT(l_net)->seed_aliases = dap_config_get_array_str( l_cfg , "general" ,"seed_nodes_aliases"
@@ -671,20 +685,6 @@ int dap_chain_net_load(const char * a_net_name)
         if (s_seed_mode) { // If we seed we do everything manual. First think - prefil list of node_addrs and its aliases
             PVT(l_net)->state_target = NET_STATE_OFFLINE;
         }
-        // Add network to the list
-        dap_chain_net_item_t * l_net_item = DAP_NEW_Z( dap_chain_net_item_t);
-        dap_chain_net_item_t * l_net_item2 = DAP_NEW_Z( dap_chain_net_item_t);
-        snprintf(l_net_item->name,sizeof (l_net_item->name),"%s"
-                     ,dap_config_get_item_str(l_cfg , "general" , "name" ));
-        l_net_item->chain_net = l_net;
-        l_net_item->net_id.uint64 = l_net->pub.id.uint64;
-        HASH_ADD_STR(s_net_items,name,l_net_item);
-
-        memcpy( l_net_item2,l_net_item,sizeof (*l_net_item));
-        HASH_ADD(hh,s_net_items_ids,net_id,sizeof ( l_net_item2->net_id),l_net_item2);
-
-        // init LEDGER model
-        l_net->pub.ledger = dap_chain_ledger_create(l_ledger_flags);
 
         // Start the proc thread
         s_net_proc_thread_start(l_net);
diff --git a/dap_chain_node_cli_cmd.c b/dap_chain_node_cli_cmd.c
index 07d6dcb64752a5d829a7ee9c068a8d69636d51cf..1ffb7ca139fae8f5e856fe28f12a48c55ddd1d48 100644
--- a/dap_chain_node_cli_cmd.c
+++ b/dap_chain_node_cli_cmd.c
@@ -2110,6 +2110,7 @@ int com_token_emit(int argc, const char ** argv, char ** str_reply)
     // First calc summary sign size
     size_t l_token_emission_signs_size =0;
     for ( size_t i=0 ; i < l_certs_size ; i++) {
+        // TODO Here must be added serialized size!
         l_token_emission_signs_size += dap_chain_cert_sign_output_size(l_certs[i],0);
     }
 
@@ -2119,7 +2120,7 @@ int com_token_emit(int argc, const char ** argv, char ** str_reply)
             sizeof (l_token_emission->data.type_auth.signs_count) +
             l_token_emission_signs_size;
 
-    l_token_emission = DAP_NEW_Z(dap_chain_datum_token_emission_t);
+    l_token_emission = DAP_NEW_Z_SIZE(dap_chain_datum_token_emission_t, l_token_emission_size);
     strncpy(l_token_emission->hdr.ticker, l_ticker, sizeof(l_token_emission->hdr.ticker));
     l_token_emission->hdr.value = l_emission_value;