diff --git a/chain/wallet/DapNetwork.cpp b/chain/wallet/DapNetwork.cpp
index eb11868a5ecd8e751a79b87d2b0f378ccca72226..aeaf3e5a9dfa5c85015263cdcf4e38a8235125ec 100644
--- a/chain/wallet/DapNetwork.cpp
+++ b/chain/wallet/DapNetwork.cpp
@@ -1,7 +1,8 @@
 #include "DapNetwork.h"
 
-DapNetwork::DapNetwork(QObject * a_parent /*= nullptr*/)
-    :QObject(a_parent)
+DapNetwork::DapNetwork(const QString& a_name, QObject * a_parent /*= nullptr*/)
+    : QObject(a_parent)
+    , m_name(a_name)
 {
 }
 
diff --git a/chain/wallet/DapNetwork.h b/chain/wallet/DapNetwork.h
index 8736babc9e827d8b20dad4799ce9a66e7648b399..771d51ed43db0ed585de7ec2640e0f4066f050fd 100644
--- a/chain/wallet/DapNetwork.h
+++ b/chain/wallet/DapNetwork.h
@@ -15,7 +15,7 @@ public:
         //...
     };
 
-    Q_INVOKABLE explicit DapNetwork(QObject * a_parent = nullptr);
+    Q_INVOKABLE explicit DapNetwork(const QString& a_name, QObject * a_parent = nullptr);
 
     Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged)
     Q_PROPERTY(QString state READ stateString NOTIFY stateChanged)
diff --git a/chain/wallet/models/DapNetworksList.cpp b/chain/wallet/models/DapNetworksList.cpp
index 8509b88b56f37a1b4c08211e5be8a6496d2b7f2a..4c980098f72df100529ac840d4b74c465e2db521 100644
--- a/chain/wallet/models/DapNetworksList.cpp
+++ b/chain/wallet/models/DapNetworksList.cpp
@@ -1,4 +1,5 @@
 #include "DapNetworksList.h"
+#include <QDebug>
 
 DapNetworksList::DapNetworksList(QObject *a_parrent /*= nullptr*/)
     :QObject(a_parrent)
@@ -15,3 +16,34 @@ QList<QObject *> DapNetworksList::model()
     }
     return listModel;
 }
+
+DapNetwork *DapNetworksList::findNetwork(const QString &a_name)
+{
+
+    auto it = std::find_if(m_networks.begin(), m_networks.end(), [a_name](DapNetwork* a_network){
+        return a_network->name() == a_name;
+    });
+    if (it == m_networks.end())
+        return nullptr;
+    return *it;
+}
+
+void DapNetworksList::fill(QVariant a_stringList)
+{
+    if (!a_stringList.isValid() || !a_stringList.canConvert<QStringList>())
+    {
+        qWarning() << "wrong parametr in DapNetworksList::fill";
+        return;
+    }
+
+    for (QString curNetworkName: a_stringList.toStringList())
+    {
+        DapNetwork* network = this->findNetwork(curNetworkName);
+        if (!network)
+        {
+            network = new DapNetwork(curNetworkName, this);
+            m_networks.append(network);
+            //TODO: get state
+        }
+    }
+}
diff --git a/chain/wallet/models/DapNetworksList.h b/chain/wallet/models/DapNetworksList.h
index bde64472feae483cc93ee8b8a2de4759cc8e2c14..164b421d3608f49a469a07ee612ff8d50799ef5f 100644
--- a/chain/wallet/models/DapNetworksList.h
+++ b/chain/wallet/models/DapNetworksList.h
@@ -11,8 +11,14 @@ public:
 
     DapNetworksList(QObject *a_parrent = nullptr);
 
+
     QList<QObject*> model();
 
+    DapNetwork* findNetwork(const QString& a_name);
+
+public slots:
+    void fill(QVariant a_stringList);
+
 private:
     QList<DapNetwork*> m_networks;
 };