diff --git a/modules/net/dap_chain_node_client.c b/modules/net/dap_chain_node_client.c
index 9127bc8f4deec964acbc3dac7af182d2703593ef..3cd0783c9278dcd446a9c1702f5148d2bc5bac8a 100644
--- a/modules/net/dap_chain_node_client.c
+++ b/modules/net/dap_chain_node_client.c
@@ -492,7 +492,7 @@ static void s_ch_chain_callback_notify_packet_R(dap_stream_ch_chain_net_srv_t* a
     switch (a_pkt_type) {
     // get new generated current node address
     case DAP_STREAM_CH_CHAIN_NET_SRV_PKT_TYPE_CHECK_RESPONSE: {
-            dap_stream_ch_chain_net_srv_pkt_test_t *l_request = (dap_stream_ch_chain_net_srv_pkt_request_t *) a_pkt->data;
+            dap_stream_ch_chain_net_srv_pkt_test_t *l_request = (dap_stream_ch_chain_net_srv_pkt_test_t *) a_pkt->data;
             size_t l_request_size = l_request->data_size + sizeof(dap_stream_ch_chain_net_srv_pkt_test_t);
             if(a_pkt->hdr.size != l_request_size) {
                 log_it(L_WARNING, "Wrong request size, less or more than required");
@@ -626,7 +626,7 @@ int dap_chain_node_client_send_ch_pkt(dap_chain_node_client_t *a_client, uint8_t
     dap_stream_ch_t * l_ch = dap_client_get_stream_ch(a_client->client, a_ch_id);
     if(l_ch) {
 //        dap_stream_ch_chain_net_t * l_ch_chain = DAP_STREAM_CH_CHAIN_NET(l_ch);
-        dap_stream_ch_pkt_write_mt(l_ch->stream->esocket, l_ch->stream->session->key, a_type, a_pkt_data, a_pkt_data_size);
+        dap_stream_ch_pkt_write_mt(l_ch->stream_worker , l_ch , a_type, a_pkt_data, a_pkt_data_size);
         return 0;
     } else
         return -1;
diff --git a/modules/service/vpn/dap_chain_net_srv_vpn.c b/modules/service/vpn/dap_chain_net_srv_vpn.c
index dc817eaa149d10669aec53b1b0773c84bdbea57e..ba8c7c7e92b2a3e33e42c1b01cdb9239b7853b08 100644
--- a/modules/service/vpn/dap_chain_net_srv_vpn.c
+++ b/modules/service/vpn/dap_chain_net_srv_vpn.c
@@ -1803,7 +1803,7 @@ void m_es_tun_read(dap_events_socket_t * a_es, void * arg)
             l_pkt_out->header.usage_id = l_ch_vpn->usage_id;
             l_pkt_out->header.op_data.data_size = l_read_ret;
             memcpy(l_pkt_out->data, l_tmp_buf, l_read_ret);
-            dap_stream_ch_pkt_write_mt(l_usage->client->esocket , l_usage->client->stream_key, DAP_STREAM_CH_PKT_TYPE_NET_SRV_VPN_DATA, l_pkt_out,
+            dap_stream_ch_pkt_write_mt(l_usage->client->ch->stream_worker , l_usage->client->ch, DAP_STREAM_CH_PKT_TYPE_NET_SRV_VPN_DATA, l_pkt_out,
                     l_pkt_out->header.op_data.data_size + sizeof(l_pkt_out->header));
             s_update_limits(l_ch_vpn->ch,l_srv_session,l_usage, l_read_ret);
         }
diff --git a/modules/service/vpn/dap_chain_net_vpn_client_tun.c b/modules/service/vpn/dap_chain_net_vpn_client_tun.c
index b5012c6ece160f246a5a991268dd409687533206..45c6dfcbff3b19c3b2fd44e41bcbafe2dcec9317 100644
--- a/modules/service/vpn/dap_chain_net_vpn_client_tun.c
+++ b/modules/service/vpn/dap_chain_net_vpn_client_tun.c
@@ -318,8 +318,8 @@ static void* thread_read_tun(void *arg)
                     //                  HASH_ADD_INT(CH_SF(ch)->socks, id, sf_sock );
                     //                  HASH_DEL(CH_SF(ch)->socks,sf_sock);
 //                    if(l_stream) { // Is present in hash table such destination address
-                    dap_stream_ch_t *l_stream = dap_chain_net_vpn_client_get_stream_ch();
-                    if(l_stream) {
+                    dap_stream_ch_t *l_ch = dap_chain_net_vpn_client_get_stream_ch();
+                    if(l_ch) {
                         // form packet to vpn-server
                         ch_vpn_pkt_t *pkt_out = (ch_vpn_pkt_t*) calloc(1, sizeof(pkt_out->header) + read_ret);
                         pkt_out->header.op_code = VPN_PACKET_OP_CODE_VPN_SEND; //VPN_PACKET_OP_CODE_VPN_RECV
@@ -329,7 +329,7 @@ static void* thread_read_tun(void *arg)
 
                         pthread_mutex_lock(&s_clients_mutex);
                         // sent packet to vpn server
-                        dap_stream_ch_pkt_write_mt(l_stream->stream->esocket,l_stream->stream->session->key , DAP_STREAM_CH_PKT_TYPE_NET_SRV_VPN_DATA, pkt_out,
+                        dap_stream_ch_pkt_write_mt(l_ch->stream_worker,l_ch , DAP_STREAM_CH_PKT_TYPE_NET_SRV_VPN_DATA, pkt_out,
                                 pkt_out->header.op_data.data_size + sizeof(pkt_out->header));
                         pthread_mutex_unlock(&s_clients_mutex);
 
@@ -403,8 +403,8 @@ static void m_client_tun_read(dap_events_socket_t * a_es, void * arg)
             dap_snprintf(str_saddr, sizeof(str_saddr), "%s",inet_ntoa(in_saddr) );
             dap_snprintf(str_daddr, sizeof(str_daddr), "%s",inet_ntoa(in_daddr) );
 
-            dap_stream_ch_t *l_stream = dap_chain_net_vpn_client_get_stream_ch();
-            if(l_stream) {
+            dap_stream_ch_t *l_ch = dap_chain_net_vpn_client_get_stream_ch();
+            if(l_ch) {
                 // form packet to vpn-server
                 ch_vpn_pkt_t *pkt_out = (ch_vpn_pkt_t*) calloc(1, sizeof(pkt_out->header) + l_read_ret);
                 pkt_out->header.op_code = VPN_PACKET_OP_CODE_VPN_SEND; //VPN_PACKET_OP_CODE_VPN_RECV
@@ -414,7 +414,7 @@ static void m_client_tun_read(dap_events_socket_t * a_es, void * arg)
 
                 pthread_mutex_lock(&s_clients_mutex);
                 // sent packet to vpn server
-                dap_stream_ch_pkt_write_mt(l_stream->stream->esocket,l_stream->stream->session->key, DAP_STREAM_CH_PKT_TYPE_NET_SRV_VPN_DATA, pkt_out,
+                dap_stream_ch_pkt_write_mt(l_ch->stream_worker,l_ch, DAP_STREAM_CH_PKT_TYPE_NET_SRV_VPN_DATA, pkt_out,
                         pkt_out->header.op_data.data_size + sizeof(pkt_out->header));
                 pthread_mutex_unlock(&s_clients_mutex);