diff --git a/cellframe-sdk b/cellframe-sdk
index 27e938a83ee079b2cb60ffd6cd47a2364521d821..76dfceb9c02f6d4fbaf97a47aa10cd8828c01c70 160000
--- a/cellframe-sdk
+++ b/cellframe-sdk
@@ -1 +1 @@
-Subproject commit 27e938a83ee079b2cb60ffd6cd47a2364521d821
+Subproject commit 76dfceb9c02f6d4fbaf97a47aa10cd8828c01c70
diff --git a/dap-sdk b/dap-sdk
index 70151d1c362d4e9669358991c5ac70ad24e33a9a..0e4afb7d1c40040641ccee1be2d246e856740b23 160000
--- a/dap-sdk
+++ b/dap-sdk
@@ -1 +1 @@
-Subproject commit 70151d1c362d4e9669358991c5ac70ad24e33a9a
+Subproject commit 0e4afb7d1c40040641ccee1be2d246e856740b23
diff --git a/dist/share/configs/cellframe-node.cfg.tpl b/dist/share/configs/cellframe-node.cfg.tpl
index 028e0ae2f6844efd61a78a95d35323beb0498efe..2a9b3c337024de484d90122ca36dd3043404028b 100644
--- a/dist/share/configs/cellframe-node.cfg.tpl
+++ b/dist/share/configs/cellframe-node.cfg.tpl
@@ -48,10 +48,10 @@ listen_port={NOTIFY_SRV_PORT}
 [dns_client]
 #request_timeout=10
 
-# Builtin DNS server
-[dns_server]
-#enabled=false
-#bootstrap_balancer=false
+# Bootstrap balancer server
+[bootstrap_balancer]
+dns_server=false
+http_server=false
 
 # Ledger defaults
 [ledger]
diff --git a/sources/main.c b/sources/main.c
index 9c3542ae53c6ee8615fa924d1f78e450c157846c..5dc8c17bac32cfc28c388858cd4f8ad16bffbbff 100755
--- a/sources/main.c
+++ b/sources/main.c
@@ -62,6 +62,7 @@
 #include "dap_http_folder.h"
 #include "dap_chain_node_dns_client.h"
 #include "dap_chain_node_dns_server.h"
+#include "dap_chain_net_balancer.h"
 
 #ifdef DAP_MODULES_DYNAMIC
 #include "dap_modules_dynamic_cdb.h"
@@ -130,11 +131,6 @@
     #include "dap_plugins_python_app_context.h"
 #endif
 
-
-#define ENC_HTTP_URL "/enc_init"
-#define STREAM_CTL_URL "/stream_ctl"
-
-#define STREAM_URL "/stream"
 #define MEMPOOL_URL "/mempool"
 #define MAIN_URL "/"
 
@@ -418,6 +414,8 @@ int main( int argc, const char **argv )
     }
 #endif
 
+    dap_chain_net_load_all();
+
     log_it(L_INFO, "Automatic mempool processing %s",
            dap_chain_node_mempool_autoproc_init() ? "enabled" : "disabled");
 
@@ -453,11 +451,11 @@ int main( int argc, const char **argv )
 #endif
 
             // Handshake URL
-            enc_http_add_proc( DAP_HTTP(l_server), ENC_HTTP_URL );
+            enc_http_add_proc( DAP_HTTP(l_server), "/"DAP_UPLINK_PATH_ENC_INIT );
 
             // Streaming URLs
-            dap_stream_add_proc_http( DAP_HTTP(l_server), STREAM_URL );
-            dap_stream_ctl_add_proc( DAP_HTTP(l_server), STREAM_CTL_URL );
+            dap_stream_add_proc_http( DAP_HTTP(l_server), "/"DAP_UPLINK_PATH_STREAM );
+            dap_stream_ctl_add_proc( DAP_HTTP(l_server), "/"DAP_UPLINK_PATH_STREAM_CTL );
 
             const char *str_start_mempool = dap_config_get_item_str( g_config, "mempool", "accept" );
             if ( str_start_mempool && !strcmp(str_start_mempool, "true")) {
@@ -477,30 +475,29 @@ int main( int argc, const char **argv )
     } else
         log_it( L_INFO, "No enabled server, working in client mode only" );
 
-    if (dap_config_get_item_bool_default(g_config, "dns_server", "enabled", false))
-    {
+    bool dns_bootstrap_balancer_enabled = dap_config_get_item_bool_default(g_config, "bootstrap_balancer", "dns_server", false);
+    log_it(L_DEBUG, "config bootstrap_balancer->dns_server = \"%u\" ", dns_bootstrap_balancer_enabled);
+    if (dns_bootstrap_balancer_enabled) {
         // DNS server start
-        bool bootstrap_balancer_enabled = dap_config_get_item_bool_default(g_config, "dns_server", "bootstrap_balancer", false);
-        log_it(L_DEBUG, "config dns_server->bootstrap_balancer = \"%u\" ", bootstrap_balancer_enabled);
-        if (bootstrap_balancer_enabled) {
-            dap_dns_server_start( dap_config_get_item_uint16_default(g_config, "dns_server", "bootstrap_balancer_port", DNS_LISTEN_PORT));
-        }
+        dap_dns_server_start(dap_config_get_item_uint16_default(g_config, "bootstrap_balancer", "dns_listen_port", DNS_LISTEN_PORT));
+    }
+    bool http_bootstrap_balancer_enabled = dap_config_get_item_bool_default(g_config, "bootstrap_balancer", "http_server", false);
+    log_it(L_DEBUG, "config bootstrap_balancer->http_server = \"%u\" ", http_bootstrap_balancer_enabled);
+    if (http_bootstrap_balancer_enabled) {
+        // HTTP URL add
+        dap_http_simple_proc_add(DAP_HTTP(l_server), "/"DAP_UPLINK_PATH_BALANCER, 1024, dap_chain_net_balancer_http_issue_link);
     }
-
-    //dap_chain_net_load_all();
 
     if(dap_config_get_item_bool_default(g_config,"plugins","enabled",false)){
         char * l_plugins_path_default = dap_strdup_printf("%s/var/lib/plugins", g_sys_dir_path);
         dap_plugin_init( dap_config_get_item_str_default(g_config, "plugins", "path", l_plugins_path_default) );
         DAP_DELETE(l_plugins_path_default);
-
+#ifdef DAP_SUPPORT_PYTHON_PLUGINS
         //Init python plugins
-        #ifdef DAP_SUPPORT_PYTHON_PLUGINS
-            log_it(L_NOTICE, "Loading python plugins");
-            dap_plugins_python_app_content_init(l_server);
-            dap_chain_plugins_init(g_config);
-        #endif
-
+        log_it(L_NOTICE, "Loading python plugins");
+        dap_plugins_python_app_content_init(l_server);
+        dap_chain_plugins_init(g_config);
+#endif
         dap_plugin_start_all();
     }