diff --git a/KelvinDashboardGUI/DapCommandController.cpp b/KelvinDashboardGUI/DapCommandController.cpp
index 1bfc3ce29616e6fdd6b8db44fcc75bd62a9a3cdf..f5c7cde2e7a3fece44b249b614530af28bca2bc9 100755
--- a/KelvinDashboardGUI/DapCommandController.cpp
+++ b/KelvinDashboardGUI/DapCommandController.cpp
@@ -155,6 +155,12 @@ void DapCommandController::addWallet(const QString &asWalletName)
      connect(reply, SIGNAL(finished()), this, SLOT(processAddWallet()));
 }
 
+void DapCommandController::removeWallet(const QString &asWalletName)
+{
+    qInfo() << QString("removeWallet(%1)").arg(asWalletName);
+    DapRpcServiceReply *reply = m_DAPRpcSocket->invokeRemoteMethod("RPCServer.removeWallet", asWalletName);
+}
+
 void DapCommandController::sendToken(const QString &asSendWallet, const QString &asAddressReceiver, const QString &asToken, const QString &aAmount)
 {
     qInfo() << QString("sendToken(%1, %2, %3, %4)").arg(asSendWallet).arg(asAddressReceiver).arg(asToken).arg(aAmount);
diff --git a/KelvinDashboardGUI/DapCommandController.h b/KelvinDashboardGUI/DapCommandController.h
index b07c37447d2d7b9e4dbe2e130e449278f9b99579..f602769c5c3697ed560f5b5b9db6dd571944320e 100755
--- a/KelvinDashboardGUI/DapCommandController.h
+++ b/KelvinDashboardGUI/DapCommandController.h
@@ -71,6 +71,7 @@ public slots:
     void getNodeLogs(int aiTimeStamp, int aiRowCount);
 
     void addWallet(const QString& asWalletName);
+    void removeWallet(const QString& asWalletName);
     void sendToken(const QString &asSendWallet, const QString& asAddressReceiver, const QString& asToken, const QString& aAmount);
 
     void getWallets();
diff --git a/KelvinDashboardGUI/DapServiceController.cpp b/KelvinDashboardGUI/DapServiceController.cpp
index 528a574ad3e2769b3d72f0c73e1ad4f0d90c72e3..3d2d94ab7c94bae3dfcd91d61f110bc0db00753c 100755
--- a/KelvinDashboardGUI/DapServiceController.cpp
+++ b/KelvinDashboardGUI/DapServiceController.cpp
@@ -84,7 +84,7 @@ void DapServiceController::processGetNodeLogs(const QStringList &aNodeLogs)
     QStringList list;
     for(int x{0}; x < aNodeLogs.size(); ++x)
     {
-        qDebug() << aNodeLogs[x];
+//        qDebug() << aNodeLogs[x];
         if(counter == 4)
         {
             DapLogMessage message;
@@ -120,6 +120,13 @@ void DapServiceController::addWallet(const QString &asWalletName)
     m_pDapCommandController->addWallet(asWalletName);
 }
 
+void DapServiceController::removeWallet(int index, const QString &asWalletName)
+{
+    qInfo() << QString("removeWallet(%1)").arg(index);
+        qInfo() << QString("removeWallet(%1)").arg(asWalletName);
+        m_pDapCommandController->removeWallet(asWalletName.trimmed());
+}
+
 void DapServiceController::sendToken(const QString &asSendWallet, const QString &asAddressReceiver, const QString &asToken, const QString &aAmount)
 {
     qInfo() << QString("sendToken(%1, %2, %3, %4)").arg(asSendWallet).arg(asAddressReceiver).arg(asToken).arg(aAmount);
diff --git a/KelvinDashboardGUI/DapServiceController.h b/KelvinDashboardGUI/DapServiceController.h
index 52e6683f4b0f42d4555d7c93b176d7c40d9154c3..a213ac26351b31d9da008e430f75519b7fff66bd 100755
--- a/KelvinDashboardGUI/DapServiceController.h
+++ b/KelvinDashboardGUI/DapServiceController.h
@@ -67,6 +67,7 @@ public:
     void setLogModel(const DapLogModel &dapLogModel);
 
     Q_INVOKABLE void addWallet(const QString& asWalletName);
+    Q_INVOKABLE void removeWallet(int index, const QString& asWalletName);
     Q_INVOKABLE void sendToken(const QString &asSendWallet, const QString& asAddressReceiver, const QString& asToken, const QString& aAmount);
 
     void getWalletInfo(const QString& asWalletName);
diff --git a/KelvinDashboardGUI/DapUiQmlScreenDialogRemoveWallet.qml b/KelvinDashboardGUI/DapUiQmlScreenDialogRemoveWallet.qml
new file mode 100644
index 0000000000000000000000000000000000000000..4c9e477b89d04684fb608a6d1d84b5bb2bf778bb
--- /dev/null
+++ b/KelvinDashboardGUI/DapUiQmlScreenDialogRemoveWallet.qml
@@ -0,0 +1,140 @@
+import QtQuick 2.9
+import QtQuick.Controls 2.2
+import KelvinDashboard 1.0
+
+Dialog {
+    id: dialogRemoveWallet
+    focus: true
+    modal: true
+    title: qsTr("Remove wallet...")
+    
+    width: parent.width/1.5
+    height: 150
+
+    x: parent.width / 2 - width / 2
+    y: parent.height / 2 - height / 2
+
+    function show() {
+            dialogRemoveWallet.open();
+        }
+    
+    
+    
+    contentItem:
+
+        Rectangle
+        {
+            anchors.fill: parent
+            
+//            Text {
+//                id: textWalletName
+//                text: qsTr(listViewWallet.model.get(listViewWallet.currentIndex < 0 ? 0 : listViewWallet.currentIndex).name)
+//                verticalAlignment: Text.AlignVCenter
+//                horizontalAlignment: Text.AlignHCenter
+                
+//                height: 35
+//                anchors.bottom: textQuery.top
+//                anchors.bottomMargin: 20
+//                anchors.right: parent.right
+//                anchors.rightMargin: 10
+//                anchors.left: parent.left
+//                anchors.leftMargin: 10
+//                font.pixelSize: 20
+//                clip: true
+//            }
+            
+            TextEdit {
+                
+                
+                id: textQuery
+                wrapMode: TextEdit.Wrap
+                text: qsTr("Are you sure you want to delete\n\"" + dapQmlWidgetChainWallet.nameWallet + " \"?")
+                verticalAlignment: Text.AlignVCenter
+                horizontalAlignment: Text.AlignHCenter
+                
+                height: 55
+                anchors.bottom: buttonOk.top
+                anchors.bottomMargin: 20
+                anchors.right: parent.right
+                anchors.rightMargin: 10
+                anchors.left: parent.left
+                anchors.leftMargin: 10
+                font.pixelSize: 20
+                clip: true
+            }
+            
+            Button
+            {
+                id: buttonCancel
+                text: qsTr("Cancel")
+                anchors.right: buttonOk.left
+                anchors.rightMargin: 10
+                anchors.bottom: parent.bottom
+                anchors.bottomMargin: 10
+
+                contentItem: Text {
+                        text: buttonCancel.text
+                        font: buttonCancel.font
+                        opacity: enabled ? 1.0 : 0.3
+                        color: buttonCancel.down ? "#353841" : "white"
+                        horizontalAlignment: Text.AlignHCenter
+                        verticalAlignment: Text.AlignVCenter
+                        elide: Text.ElideRight
+                    }
+
+                    background: Rectangle {
+                        implicitWidth: 100
+                        implicitHeight: 30
+                        opacity: enabled ? 1 : 0.3
+                        color: buttonCancel.down ? "white" : "#353841"
+                        radius: 4
+                    }
+
+                onClicked:
+                {
+                    close()
+                }
+            }
+
+            Button
+            {
+                id: buttonOk
+                text: "OK"
+                anchors.right: parent.right
+                anchors.rightMargin: 10
+                anchors.bottom: parent.bottom
+                anchors.bottomMargin: 10
+                contentItem: Text {
+                        text: buttonOk.text
+                        font: buttonOk.font
+                        opacity: enabled ? 1.0 : 0.3
+                        color: buttonOk.down ? "#353841" : "white"
+                        horizontalAlignment: Text.AlignHCenter
+                        verticalAlignment: Text.AlignVCenter
+                        elide: Text.ElideRight
+                    }
+
+                    background: Rectangle {
+                        implicitWidth: 100
+                        implicitHeight: 30
+                        opacity: enabled ? 1 : 0.3
+                        color: buttonOk.down ? "white" : "#353841"
+                        radius: 4
+                    }
+
+                onClicked:
+                {
+                    console.log("COUNT " + listViewWallet.model.count)
+                    console.log("INDEX " + dapQmlWidgetChainWallet.indexWallet + "      " + dapQmlWidgetChainWallet.nameWallet)
+                    
+//                    listViewWallet.model.remove(dapQmlWidgetChainWallet.indexWallet)
+//                    dapServiceController.removeWallet(dapQmlWidgetChainWallet.indexWallet, dapQmlWidgetChainWallet.nameWallet)
+//                    console.log("INDEX " + dapQmlWidgetChainWallet.indexWallet + "      " + dapQmlWidgetChainWallet.nameWallet)
+                    close()
+                }
+            }
+            
+            
+        }
+
+}
diff --git a/KelvinDashboardGUI/DapUiQmlWidgetChainWallet.qml b/KelvinDashboardGUI/DapUiQmlWidgetChainWallet.qml
index 313d385dff6f41b465ce6286fa627db98326c1ab..343588c277e36778d9c744ff995e8d24735ca5e0 100755
--- a/KelvinDashboardGUI/DapUiQmlWidgetChainWallet.qml
+++ b/KelvinDashboardGUI/DapUiQmlWidgetChainWallet.qml
@@ -9,6 +9,10 @@ import KelvinDashboard 1.0
 
 DapUiQmlWidgetChainWalletForm {
     id: dapQmlWidgetChainWallet
+    
+    property int indexWallet: -1
+    property string nameWallet: ""
+    
     listViewWallet.highlight:
         Component
         {
@@ -23,13 +27,10 @@ DapUiQmlWidgetChainWalletForm {
                 }
             }
         }
-
-    listViewWallet.onCurrentItemChanged:
-    {
-        listViewTokens.model = listViewWallet.model.get(listViewWallet.currentIndex).tokens
-        updateBalanceText();
-        addressWallet.text = listViewWallet.model.get(listViewWallet.currentIndex).address
-    }
+    
+    
+    
+    
     
     listViewTokens.onCurrentItemChanged:
     {
@@ -40,18 +41,31 @@ DapUiQmlWidgetChainWalletForm {
     buttonSaveWallet.onClicked: {
         dialogAddWallet.show()
     }
+    
+    buttonDeleteWallet.onClicked: {
+        dialogRemoveWallet.show()
+    }
+    
     buttonSendToken.onClicked: {
         dialogSendToken.show()
     }
 
-    function updateBalanceText() {
-        var value = "";
-        if (listViewTokens.currentIndex > -1) {
-            value = listViewWallet.model.get(listViewWallet.currentIndex).balance[listViewTokens.currentIndex];
+    listViewWallet.onCurrentItemChanged:
+    {
+//        listViewTokens.model = listViewWallet.model.get(listViewWallet.currentIndex).tokens
+        
+        if(listViewWallet.currentIndex >= 0)
+        {
+            indexWallet = listViewWallet.currentIndex
+            nameWallet = listViewWallet.model.get(listViewWallet.currentIndex).name
+            console.log("++++++" + indexWallet)
         }
-        if (value)
-            textBalance.text = value.replace(/[^\d.-]/g, '');
         else
-            textBalance.text = '';
+        {
+            listViewWallet.currentIndex = 0
+        }
+        
+//        updateBalanceText();
+//        addressWallet.text = listViewWallet.model.get(listViewWallet.currentIndex).address
     }
 }
diff --git a/KelvinDashboardGUI/DapUiQmlWidgetChainWalletForm.ui.qml b/KelvinDashboardGUI/DapUiQmlWidgetChainWalletForm.ui.qml
index 54b51460d4df1b12f669c472245ba55510444298..cb4d8936aa283162c47b3000f1eb8c2c2c0d1399 100755
--- a/KelvinDashboardGUI/DapUiQmlWidgetChainWalletForm.ui.qml
+++ b/KelvinDashboardGUI/DapUiQmlWidgetChainWalletForm.ui.qml
@@ -17,9 +17,10 @@ Page {
     property alias textBalance: textBalance
     property alias listViewTokens: listViewTokens
     property alias buttonSendToken: buttonSendToken
-
-    Rectangle
-    {
+    property alias buttonDeleteWallet: buttonDeleteWallet
+    property alias dialogRemoveWallet: dialogRemoveWallet
+    
+    Rectangle {
         id: rectanglePanel
         anchors.left: parent.left
         anchors.top: parent.top
@@ -32,27 +33,26 @@ Page {
             keyNavigationEnabled: true
             model: dapChainWalletsModel
 
-           delegate: Item {
-               id: delegateWallet
+            delegate: Item {
+                id: delegateWallet
                 width: parent.width
                 height: 100
 
-                   Column
-                    {
-                        anchors.centerIn: parent
-                        spacing: 5
-
-                        Label {
-                            id: nameWallet
-                            anchors.horizontalCenter: parent.horizontalCenter
-                            text: qsTr(name)
-                            font.pixelSize: 14
-                            color: "#BBBEBF"
-                            font.family: "Roboto"
-                            width: delegateWallet.width
-                            elide: Text.ElideRight
-                            leftPadding: 5
-                        }
+                Column {
+                    anchors.centerIn: parent
+                    spacing: 5
+
+                    Label {
+                        id: nameWallet
+                        anchors.horizontalCenter: parent.horizontalCenter
+                        text: qsTr(name)
+                        font.pixelSize: 14
+                        color: "#BBBEBF"
+                        font.family: "Roboto"
+                        width: delegateWallet.width
+                        elide: Text.ElideRight
+                        leftPadding: 5
+                    }
                 }
 
                 MouseArea {
@@ -61,12 +61,11 @@ Page {
                 }
             }
 
-           focus: true
+            focus: true
         }
     }
 
-    Rectangle
-    {
+    Rectangle {
         anchors.left: rectanglePanel.right
         anchors.right: parent.right
         anchors.top: parent.top
@@ -85,29 +84,33 @@ Page {
             anchors.left: parent.left
             readOnly: true
         }
-        
+
         ListView {
             id: listViewTokens
             orientation: ListView.Vertical
             anchors.top: addressWallet.bottom
             anchors.left: parent.left
             anchors.bottom: parent.bottom
-            width: parent.width*2/3
+            width: parent.width * 2 / 3
             flickableDirection: Flickable.VerticalFlick
-            delegate:  Item {
-                width: 200; height: 50
-                Text { id: nameField; text: modelData; color: listViewTokens.currentIndex === index ? 'green' : 'black'; }
+            delegate: Item {
+                width: 200
+                height: 50
+                Text {
+                    id: nameField
+                    text: modelData
+                    color: listViewTokens.currentIndex === index ? 'green' : 'black'
+                }
                 MouseArea {
                     anchors.fill: parent
                     onClicked: listViewTokens.currentIndex = index
                 }
             }
-            
+
             focus: true
         }
-        
-        Text 
-        {
+
+        Text {
             id: textBalance
             wrapMode: Text.NoWrap
             textFormat: Text.PlainText
@@ -116,7 +119,7 @@ Page {
             anchors.left: listViewTokens.right
             anchors.bottom: parent.bottom
             anchors.right: parent.right
-            
+
             font.pixelSize: 30
             font.bold: true
         }
@@ -124,75 +127,74 @@ Page {
 
     DapUiQmlScreenDialogAddWallet {
         id: dialogAddWallet
-            }
+    }
     DapUiQmlScreenDialogSendToken {
         id: dialogSendToken
-            }
-
+    }
+    DapUiQmlScreenDialogRemoveWallet {
+        id: dialogRemoveWallet
+    }
     RoundButton {
-            id: buttonDeleteWallet
-           highlighted: true
-           anchors.margins: 10
-           anchors.left: parent.left
-           anchors.bottom: buttonSaveWallet.top
-           height: 40
-           width: 40
-           contentItem: Text {
-               text: qsTr("-")
-               color: "#121B28"
-               horizontalAlignment: Text.AlignHCenter
-               verticalAlignment: Text.AlignVCenter
-               elide: Text.ElideRight
-       
-           }
-                   background: Rectangle {
-                       color: "white"
-                       border.color: "#121B28"
-                       radius: 20
-                   }
+        id: buttonDeleteWallet
+        highlighted: true
+        anchors.margins: 10
+        anchors.left: parent.left
+        anchors.bottom: buttonSaveWallet.top
+        height: 40
+        width: 40
+        contentItem: Text {
+            text: qsTr("-")
+            color: "#121B28"
+            horizontalAlignment: Text.AlignHCenter
+            verticalAlignment: Text.AlignVCenter
+            elide: Text.ElideRight
+        }
+        background: Rectangle {
+            color: "white"
+            border.color: "#121B28"
+            radius: 20
+        }
     }
 
     RoundButton {
-            id: buttonSaveWallet
-            contentItem: Text {
-                text: qsTr("+")
-                color: "#121B28"
-                horizontalAlignment: Text.AlignHCenter
-                verticalAlignment: Text.AlignVCenter
-                elide: Text.ElideRight
-        
-            }
-            background: Rectangle {
-                id: inSave
-                color: "white"
-                border.color: "#121B28"
-                radius: 20
-            }
-            
-           highlighted: true
-           anchors.margins: 10
-           anchors.left: parent.left
-           anchors.bottom: parent.bottom
-           height: 40
-           width: 40
+        id: buttonSaveWallet
+        contentItem: Text {
+            text: qsTr("+")
+            color: "#121B28"
+            horizontalAlignment: Text.AlignHCenter
+            verticalAlignment: Text.AlignVCenter
+            elide: Text.ElideRight
+        }
+        background: Rectangle {
+            id: inSave
+            color: "white"
+            border.color: "#121B28"
+            radius: 20
+        }
+
+        highlighted: true
+        anchors.margins: 10
+        anchors.left: parent.left
+        anchors.bottom: parent.bottom
+        height: 40
+        width: 40
     }
-    
+
     RoundButton {
-            id: buttonSendToken
-            text: qsTr("->")
-           highlighted: true
-           anchors.margins: 10
-           anchors.right: parent.right
-           anchors.bottom: parent.bottom
+        id: buttonSendToken
+        text: qsTr("->")
+        highlighted: true
+        anchors.margins: 10
+        anchors.right: parent.right
+        anchors.bottom: parent.bottom
     }
-    
+
     RoundButton {
-            id: buttonAddToken
-            text: qsTr("+")
-           highlighted: true
-           anchors.margins: 10
-           anchors.right: parent.right
-           anchors.bottom: buttonSendToken.top
+        id: buttonAddToken
+        text: qsTr("+")
+        highlighted: true
+        anchors.margins: 10
+        anchors.right: parent.right
+        anchors.bottom: buttonSendToken.top
     }
 }
-
diff --git a/KelvinDashboardGUI/qml.qrc b/KelvinDashboardGUI/qml.qrc
index 9de95561440b9170571e89abd20950df93bde74f..4f4f7be705b5da0af56a46aeb3529cbafa57edd9 100755
--- a/KelvinDashboardGUI/qml.qrc
+++ b/KelvinDashboardGUI/qml.qrc
@@ -34,5 +34,6 @@
         <file>DapUiQmlWidgetChainNodeLogs.qml</file>
         <file>DapUiQmlWidgetChainNodeLogsForm.ui.qml</file>
         <file>DapUiQmlScreenDialogSendToken.qml</file>
+        <file>DapUiQmlScreenDialogRemoveWallet.qml</file>
     </qresource>
 </RCC>
diff --git a/KelvinDashboardService/DapChainDashboardService.cpp b/KelvinDashboardService/DapChainDashboardService.cpp
index 14cb9fd65c6718bebdfbf691c56cba61d149b4e8..ea3a4acf8d27deefa602e5500987a4797e8faa8d 100755
--- a/KelvinDashboardService/DapChainDashboardService.cpp
+++ b/KelvinDashboardService/DapChainDashboardService.cpp
@@ -47,6 +47,12 @@ QStringList DapChainDashboardService::addWallet(const QString &asWalletName)
     return m_pDapChainWalletHandler->createWallet(asWalletName);
 }
 
+void DapChainDashboardService::removeWallet(const QString &asWalletName)
+{
+    qInfo() << QString("removeWallet(%1)").arg(asWalletName);
+    return m_pDapChainWalletHandler->removeWallet(asWalletName);
+}
+
 QMap<QString, QVariant> DapChainDashboardService::getWallets()
 {
     qInfo() << QString("getWallets()");
diff --git a/KelvinDashboardService/DapChainDashboardService.h b/KelvinDashboardService/DapChainDashboardService.h
index ef26bf157f1b2cb6db66852bd416f6cc5cef2adb..531c4c88e656ad3fd522f3b90f483a69c44d9337 100755
--- a/KelvinDashboardService/DapChainDashboardService.h
+++ b/KelvinDashboardService/DapChainDashboardService.h
@@ -69,6 +69,8 @@ public slots:
     QStringList getNodeLogs(int aiTimeStamp, int aiRowCount);
 
     QStringList addWallet(const QString &asWalletName);
+    
+    void removeWallet(const QString &asWalletName);
 
     QMap<QString, QVariant> getWallets();
 
diff --git a/KelvinDashboardService/DapChainWalletHandler.cpp b/KelvinDashboardService/DapChainWalletHandler.cpp
index 86dd61d20d0ebfd9cad2aa1f8130796abc3f0e8e..993490f90110f9c0033c21014679f2764cbe21f9 100755
--- a/KelvinDashboardService/DapChainWalletHandler.cpp
+++ b/KelvinDashboardService/DapChainWalletHandler.cpp
@@ -26,6 +26,16 @@ QStringList DapChainWalletHandler::createWallet(const QString &asNameWallet)
     return result.isEmpty() ? QStringList() : list;
 }
 
+void DapChainWalletHandler::removeWallet(const QString &asNameWallet)
+{
+    QByteArray result;
+    QProcess process;
+    process.start(QString("rm %1%2.dwallet").arg("/opt/kelvin-node/var/lib/wallet/").arg(asNameWallet));
+    qDebug() << (QString("rm %1%2.dwallet").arg("/opt/kelvin-node/var/lib/wallet/").arg(asNameWallet));
+    process.waitForFinished(-1);
+    result = process.readAll();
+}
+
 QMap<QString, QVariant> DapChainWalletHandler::getWallets()
 {
     QMap<QString, QVariant> map;
diff --git a/KelvinDashboardService/DapChainWalletHandler.h b/KelvinDashboardService/DapChainWalletHandler.h
index a365abdf1f1e53fe773718abe9fe2365dcb20c2c..9f0bd5aa057aa873149d604274147161a65c10c2 100755
--- a/KelvinDashboardService/DapChainWalletHandler.h
+++ b/KelvinDashboardService/DapChainWalletHandler.h
@@ -20,6 +20,7 @@ signals:
 
 public slots:
     QStringList createWallet(const QString& asNameWallet);
+    void removeWallet(const QString& asNameWallet);
     QMap<QString, QVariant> getWallets();
     QStringList getWalletInfo(const QString& asNameWallet);
     QString sendToken(const QString &asSendWallet, const QString& asAddressReceiver, const QString& asToken, const QString& aAmount);