diff --git a/dap_chain_net_srv_vpn.c b/dap_chain_net_srv_vpn.c
index c4278ee1c8d4e17d3087ad6e4c01fb3204550012..b0db4be2c6576d6f1b4a429ba815556e07650748 100755
--- a/dap_chain_net_srv_vpn.c
+++ b/dap_chain_net_srv_vpn.c
@@ -157,8 +157,7 @@ static void s_update_limits(dap_stream_ch_t * a_ch ,
  * @param vpn_mask Zero if only client mode. Mask if the node shares its local VPN
  * @return 0 if everything is okay, lesser then zero if errors
  */
-int dap_chain_net_srv_vpn_init(dap_config_t * g_config)
-{
+int dap_chain_net_srv_vpn_init(dap_config_t * g_config) {
     const char *c_addr = dap_config_get_item_str(g_config, "srv_vpn", "network_address");
     const char *c_mask = dap_config_get_item_str(g_config, "srv_vpn", "network_mask");
     if(c_addr && c_mask) {
@@ -183,26 +182,6 @@ int dap_chain_net_srv_vpn_init(dap_config_t * g_config)
         l_srv_vpn->parent = l_srv;
 
         uint16_t l_pricelist_count = 0;
-        char ** l_pricelist = dap_config_get_array_str(g_config,"srv_vpn","pricelist", &l_pricelist_count );
-        for ( uint16_t i = 0; i < l_pricelist_count; i++ ){
-            char * l_price_str = l_pricelist[i];
-            size_t l_price_length = strlen(l_price_str);
-            size_t l_iter = 0;
-            char * l_pos_old = l_price_str;
-            dap_chain_net_srv_price_t *l_price = DAP_NEW_Z(dap_chain_net_srv_price_t);
-            for (char * l_pos = strchr(l_price_str,':');  ;  l_pos = strchr(l_pos+1,':') ){
-                if( l_iter == 0)
-                    break;
-
-                size_t l_parse_token_size =  l_pos?(size_t) (l_pos - l_pos_old)-1: l_price_length- (size_t)(l_pos_old - l_pricelist[i]) ;
-                char * l_parse_token = strndup(l_pos_old, l_parse_token_size);
-                if( l_parse_token_size ==0 ){
-                    log_it(L_ERROR, "Wrong price element size nil");
-                    DAP_DELETE(l_parse_token);
-                    break;
-                }
-                if ( l_iter == 0){
-                    l_price->net_name = strdup(l_parse_token);
 
         /* ! IMPORTANT ! This fetch is single-action and cannot be further reused, since it modifies the stored config data
          * ! it also must NOT be freed within this module !
@@ -323,7 +302,7 @@ static int s_callback_response_success(dap_chain_net_srv_t * a_srv, uint32_t a_u
 //    dap_stream_ch_chain_net_srv_pkt_request_t * l_request =  (dap_stream_ch_chain_net_srv_pkt_request_t *) a_request;
 //    dap_chain_net_srv_stream_session_t * l_srv_session = (dap_chain_net_srv_stream_session_t *) a_srv_client->ch->stream->session->_inheritor;
     dap_chain_net_srv_stream_session_t * l_srv_session = (dap_chain_net_srv_stream_session_t *) a_srv_client->ch->stream->session->_inheritor;
-    dap_chain_net_srv_usage_t * l_usage_active= dap_chain_net_srv_usage_find(l_srv_session->usages,a_usage_id);
+    dap_chain_net_srv_usage_t * l_usage_active= dap_chain_net_srv_usage_find(l_srv_session,a_usage_id);
     dap_chain_net_srv_ch_vpn_t * l_srv_ch_vpn =(dap_chain_net_srv_ch_vpn_t*) a_srv_client->ch->stream->channel[DAP_CHAIN_NET_SRV_VPN_ID] ?
             a_srv_client->ch->stream->channel[DAP_CHAIN_NET_SRV_VPN_ID]->internal : NULL;
 
@@ -482,6 +461,7 @@ void s_new(dap_stream_ch_t* a_stream_ch, void* a_arg)
         dap_chain_net_srv_stream_session_create(a_stream_ch->stream->session);
     dap_chain_net_srv_uid_t l_uid = { .uint64 = DAP_CHAIN_NET_SRV_VPN_ID };
     l_srv_vpn->net_srv = dap_chain_net_srv_get(l_uid);
+    l_srv_vpn->ch = a_stream_ch;
 
     dap_chain_net_srv_stream_session_t * l_srv_session = (dap_chain_net_srv_stream_session_t *) a_stream_ch->stream->session->_inheritor;
     pthread_mutex_init(&l_srv_vpn->mutex, NULL);