diff --git a/bin/monitor.js b/bin/monitor.js
index ca4a629f89b8da255659461405f923fe2a7d384f..55a449278a8e0b44fd8d57ff0d85bcd602d6102c 100755
--- a/bin/monitor.js
+++ b/bin/monitor.js
@@ -7,13 +7,7 @@
 const   Libbfa      =   require( process.env.BFAHOME + '/bin/libbfa.js');
 var     bfa         =   new Libbfa();
 var     web3        =   bfa.newweb3();
-
-function pluralEnglish( num, single, plural )
-{
-    if ( num == 1 )
-        return single;
-    return plural;
-}
+var     lastUnlock  =   0;
 
 function    peerlist()
 {
@@ -89,7 +83,7 @@ function    peerlist()
                 console.log(
                     "We have "
                     + nowpeers.length
-                    + " peer" + pluralEnglish(nowpeers.length,'','s') + ", so will try to connect to "
+                    + " peer" + ( nowpeers.length==1 ? '' : 's' ) + ", so will try to connect to "
                     + enode
                 );
                 web3.eth.bfaAdminaddPeer( enode );
@@ -167,10 +161,51 @@ function    mayseal()
     );
 }
 
+function    unlock()
+{
+    var         now                 =   new Date();
+    if ( lastUnlock + 600 > now )
+        return;
+    lastUnlock = now;
+    web3.eth.personal.bfalistWallets()
+    .then(
+        function pushone(x)
+        {
+            var     i           =   x.length;
+            var     wallets     =   new Array();
+            while ( i-- > 0 )
+                if ( x[i].status == "Locked" )
+                    wallets.push( x[i] );
+            i                   =   wallets.length;
+            if ( i == 0 )
+                return;
+            var     promises    =   new Array();
+            while ( i-- > 0 )
+            {
+                var     j       =   wallets[i].accounts.length;
+                while ( j-- > 0 )
+                {
+                    var addr    =   wallets[i].accounts[j].address;
+                    var promise =
+                        web3.eth.personal.unlockAccount( addr, "", 0 )
+                        .catch( error => { } );
+                    promises.push( promise );
+                }
+            }
+        }
+        ,
+        function err(x)
+        {
+            // we don't care?
+        }
+    )
+}
+
 function    timer()
 {
     peerlist();
     mayseal();
+    unlock();
 }
 
 peerlist();