diff --git a/www/i18n/locale-ca.json b/www/i18n/locale-ca.json
index d0e97c04c9c6a0145c7ce991b82ae35a3a2993ba..36899031285ab3170cfddd14cb63b5b61e5972e6 100644
--- a/www/i18n/locale-ca.json
+++ b/www/i18n/locale-ca.json
@@ -98,7 +98,7 @@
     "CURRENCY": "Moneda",
     "ACCOUNT": "Compte",
     "WALLETS": "Moneders",
-    "SETTINGS": "Ajustos",
+    "SETTINGS": "Configuració",
     "NETWORK": "Xarxa",
     "TRANSACTIONS": "Moviments"
   },
@@ -863,7 +863,7 @@
     "IDENTITY_PENDING_REVOCATION": "La <b>revocación de esta identidad</b> fue solicitado y esta en espera de tratamiento. Por lo que, la certificación es desactivada.",
     "IDENTITY_INVALID_BLOCK_HASH": "Esta solicitud de adhesión no es valida (porque denomina un bloque los nodos de la red han anulado): este individuo/a debe renovelar su solicitud de adhesión <b>antes que</b> estar certificada.",
     "IDENTITY_EXPIRED": "La publicación de esta identidad ha caducada: este individuo/a debe realizar una nueva solicitud de adhesión <b>antes que</b> estar certificada.",
-    "IDENTITY_SANDBOX_FULL": "EL nodo Duniter utilizado por Cesium ya no puede recibir más nuevas identidades, porque la fila de espera es llena.<br/><br/>Por favor, intenta ulteriormente o cambia de nodo (vía el menú <b>Ajustes</b>).",
+    "IDENTITY_SANDBOX_FULL": "EL node Duniter utilitzat per Cesium ja no pot rebre noves identidades perquè la cua està plena.<br/><br/>Torneu-ho a provar o canvieu els nodes (a través del menú <b>Configuració</b>).",
     "IDENTITY_NOT_FOUND": "Identidad no encontrada",
     "IDENTITY_TX_FAILED": "Error cargando las transacciones de la identidad",
     "WOT_PENDING_INVALID_BLOCK_HASH": "Adhesión no validada.",
@@ -898,7 +898,9 @@
     "GET_LICENSE_FILE_FAILED": "Error al obtener el archivo de licencia",
     "CHECK_NETWORK_CONNECTION": "No se puede conectar a ningún nodo.<br/><br/><b>Compruebe la conexión a Internet</b>.",
     "INVALID_FILE_FORMAT": "Formato de archivo inválido.",
-    "SAME_TX_RECIPIENT": "El destinatario debe ser diferente del emisor."
+    "SAME_TX_RECIPIENT": "El destinatario debe ser diferente del emisor.",
+    "SELF_CERTIFICATION": "No pots certificar la teva pròpia identitat.",
+    "TX_SANDBOX_FULL": "El node Duniter utilitzat per Cesium ja no pot rebre transferències noves, perquè la cua està plena.<br/><br/>Torneu-ho a provar o canvieu els nodes (a través del menú <b>Configuració</b>)."
   },
   "INFO": {
     "POPUP_TITLE": "Información",
diff --git a/www/i18n/locale-de-DE.json b/www/i18n/locale-de-DE.json
index c0b83e4ee998c5c759d5347344025d01c74ae060..e4210d0e465386ddb4f139142fe731900927a142 100644
--- a/www/i18n/locale-de-DE.json
+++ b/www/i18n/locale-de-DE.json
@@ -827,7 +827,9 @@
     "UNKNOWN_WALLET_ID": "Unbekannte sekundäre Brieftasche.",
     "RESTORE_WALLET_LIST_FAILED": "Konnte die Liste der Brieftaschen nicht wiederherstellen.",
     "INVALID_FILE_FORMAT": "Ungültiges Dateiformat.",
-    "SAME_TX_RECIPIENT": "Der Empfänger muss sich vom Auftraggeber unterscheiden."
+    "SAME_TX_RECIPIENT": "Der Empfänger muss sich vom Auftraggeber unterscheiden.",
+    "SELF_CERTIFICATION": "Sie können Ihre eigene Identität nicht zertifizieren.",
+    "TX_SANDBOX_FULL": "Der von Cesium verwendete Duniter-Knoten kann keine neuen Überweisungen mehr bearbeiten, da die Warteschlange voll ist.<br/><br/>Versuche es später erneut oder wähle einen anderen Duniter-Knoten (in den <b>Einstellungen</b>)."
   },
   "INFO": {
     "POPUP_TITLE": "Hinweis",
diff --git a/www/i18n/locale-en-GB.json b/www/i18n/locale-en-GB.json
index 978271ab6c40ead7c861fc68ac33009acd7fe511..d2c9a73bef76c9ec1fbcfde3c38d4b7042cca163 100644
--- a/www/i18n/locale-en-GB.json
+++ b/www/i18n/locale-en-GB.json
@@ -131,8 +131,8 @@
     "REPORT_ISSUE": "Report an issue",
     "NOT_YOUR_ACCOUNT_QUESTION" : "You do not own the account <b><i class=\"ion-key\"></i> {{pubkey|formatPubkey}}</b>?",
     "BTN_CHANGE_ACCOUNT": "Disconnect this account",
-    "PEER_CONNECTION_ERROR": "Node <b>{{server}}</b> is unreachable or address is invalid.<br/><br/>Check your Internet connection, or change the node <a class=\"positive\" ng-click=\"doQuickFix('settings')\">in the settings</a>.",
-    "NETWORK_CONNECTION_ERROR": "Network is unreachable.<br/><br/>Check your Internet connection, or select a node manually <a class=\"positive\" ng-click=\"doQuickFix('settings')\">in the settings</a>.",
+    "PEER_CONNECTION_ERROR": "Peer <b>{{server}}</b> is unreachable or address is invalid.<br/><br/>Check your Internet connection, or change the peer <a class=\"positive\" ng-click=\"doQuickFix('settings')\">in the settings</a>.",
+    "NETWORK_CONNECTION_ERROR": "Network is unreachable.<br/><br/>Check your Internet connection, or select a peer manually <a class=\"positive\" ng-click=\"doQuickFix('settings')\">in the settings</a>.",
     "SHOW_ALL_FEED": "Show all",
     "READ_MORE": "Read more",
     "FEED_SOURCE": "Source"
@@ -319,7 +319,7 @@
     "INFO": {
       "CONNECTING_TO_NETWORK": "Connecting to the network...",
       "ANALYZING_NETWORK": "Analyzing the {{currency|abbreviate}} network...",
-      "ONLY_SSL_PEERS": "Non-SSL nodes have a degraded display because Cesium works in HTTPS mode."
+      "ONLY_SSL_PEERS": "Non-SSL peers have a degraded display because Cesium works in HTTPS mode."
     }
   },
   "PEER": {
@@ -530,7 +530,7 @@
       "INTRO_WARNING_SECURITY": "Check that the hardware you are currently using (computer, tablet, phone) <b>is secure and trustworthy </b>.",
       "INTRO_WARNING_SECURITY_HELP": "Up-to-date anti-virus, firewall enabled, session protected by password or pin code...",
       "INTRO_HELP": "Click <b> {{'COMMON.BTN_START'|translate}}</b> to begin creating an account. You will be guided step by step.",
-      "REGISTRATION_NODE": "Your registration will be registered via the Duniter peer <b>{{server}}</b> node, which will then be distributed to the rest of the currency network.",
+      "REGISTRATION_NODE": "Your registration will be registered via the Duniter peer <b>{{server}}</b>, which will then be distributed to the rest of the currency network.",
       "REGISTRATION_NODE_HELP": "If you do not trust this peer, please change <a ng-click=\"doQuickFix('settings')\">in the settings</a> of Cesium.",
       "SELECT_ACCOUNT_TYPE": "Choose the type of account to create:",
       "MEMBER_ACCOUNT": "Member account",
@@ -767,7 +767,7 @@
     "IDENTITY_PENDING_REVOCATION": "The <b>revocation of this identity</b> has been requested and is awaiting processing. Certification is therefore disabled.",
     "IDENTITY_INVALID_BLOCK_HASH": "This membership application is no longer valid (because it references a block that network peers are cancelled): the person must renew its application for membership <b>before</b> being certified.",
     "IDENTITY_EXPIRED": "This identity has expired: this person must re-apply <b>before</b> being certified.",
-    "IDENTITY_SANDBOX_FULL": "Could not register, because peer's sandbox is full.<br/><br/>Please retry later or choose another Duniter peer (in <b>Settings</b>).",
+    "IDENTITY_SANDBOX_FULL": "Could not register, because Duniter peer's sandbox is full.<br/><br/>Please retry later or choose another peer (in the <b>settings</b>).",
     "IDENTITY_NOT_FOUND": "Identity not found",
     "IDENTITY_TX_FAILED": "Error while getting identity's transactions",
     "WOT_PENDING_INVALID_BLOCK_HASH": "Membership not valid.",
@@ -813,7 +813,9 @@
     "UNKNOWN_WALLET_ID": "Unknown secondary wallet.",
     "RESTORE_WALLET_LIST_FAILED": "Unable to restore the list of wallets.",
     "INVALID_FILE_FORMAT": "Invalid file format.",
-    "SAME_TX_RECIPIENT": "The recipient must be different from the issuer."
+    "SAME_TX_RECIPIENT": "The recipient must be different from the issuer.",
+    "SELF_CERTIFICATION": "You cannot certify your own identity.",
+    "TX_SANDBOX_FULL": "The Duniter peer used by Cesium can no longer process new transfers, as its queue is full.<br/><br/>Please try again later or change the peer (in the <b>Settings</b>)."
   },
   "INFO": {
     "POPUP_TITLE": "Information",
@@ -857,10 +859,10 @@
     "SAVE_BEFORE_LEAVE": "Do you want to <b>save your changes</b> before leaving the page?",
     "SAVE_BEFORE_LEAVE_TITLE": "Changes not saved",
     "LOGOUT": "Are you sure you want to logout?",
-    "USE_FALLBACK_NODE": "Peer <b>{{old}}</b> unreachable or invalid address.<br/><br/>Do you want to temporarily use the <b>{{new}}</b> node?",
-    "USE_SYNC_FALLBACK_NODE": "Node <b>{{old}}</b> seems to be out of sync.<br/><br/>Do you want to temporarily use the synchronised node <b>{{new}}</b>?",
+    "USE_FALLBACK_NODE": "Peer <b>{{old}}</b> unreachable or invalid address.<br/><br/>Do you want to temporarily use the <b>{{new}}</b> peer?",
+    "USE_SYNC_FALLBACK_NODE": "Peer <b>{{old}}</b> seems to be out of sync.<br/><br/>Do you want to temporarily use the synchronized peer <b>{{new}}</b>?",
     "ISSUE_524_SEND_LOG": "The transaction was rejected because of a known problem (issue #524) but not reproduced.<br/><br/>To help developers correct this error, do you accept <b>the transmission of your logs</b> per message?<br/><small>(No confidential data is sent)</small>",
-    "ENABLE_EXPERT_MODE_TO_CHANGE_NODE": "<b class=\"assertive\">Warning:</b> Do you want to <b>manually change</b> the Duniter node?<br/><br/>If you proceed:<ul><li> - <b>Expert mode</b> will be activated;</li><li> - You can return to automatic node selection by simply <b>deactivating expert mode</b>.</li></ul>"
+    "ENABLE_EXPERT_MODE_TO_CHANGE_NODE": "<b class=\"assertive\">Warning:</b> Do you want to <b>manually change</b> the Duniter peer?<br/><br/>If you continue:<ul><li> - <b>Expert mode</b> will be activated;</li><li> - You can return to automatic peer selection by simply <b>deactivating expert mode</b>.</li></ul>"
   },
   "MODE": {
     "DEMO": {
diff --git a/www/i18n/locale-en.json b/www/i18n/locale-en.json
index 3cb8316cb37be146d16af80324c3d88b46bec7ef..1643a2ee500ec4bba57ac6bc6f2d109dea4ee1ab 100644
--- a/www/i18n/locale-en.json
+++ b/www/i18n/locale-en.json
@@ -131,8 +131,8 @@
     "REPORT_ISSUE": "Report an issue",
     "NOT_YOUR_ACCOUNT_QUESTION" : "You do not own the account <b><i class=\"ion-key\"></i> {{pubkey|formatPubkey}}</b>?",
     "BTN_CHANGE_ACCOUNT": "Disconnect this account",
-    "PEER_CONNECTION_ERROR": "Node <b>{{server}}</b> is unreachable or address is invalid.<br/><br/>Check your Internet connection, or change the node <a class=\"positive\" ng-click=\"doQuickFix('settings')\">in the settings</a>.",
-    "NETWORK_CONNECTION_ERROR": "Network is unreachable.<br/><br/>Check your Internet connection, or select a node manually <a class=\"positive\" ng-click=\"doQuickFix('settings')\">in the settings</a>.",
+    "PEER_CONNECTION_ERROR": "Peer <b>{{server}}</b> is unreachable or address is invalid.<br/><br/>Check your Internet connection, or change the peer <a class=\"positive\" ng-click=\"doQuickFix('settings')\">in the settings</a>.",
+    "NETWORK_CONNECTION_ERROR": "Network is unreachable.<br/><br/>Check your Internet connection, or select a peer manually <a class=\"positive\" ng-click=\"doQuickFix('settings')\">in the settings</a>.",
     "SHOW_ALL_FEED": "Show all",
     "READ_MORE": "Read more",
     "FEED_SOURCE": "Source"
@@ -319,7 +319,7 @@
     "INFO": {
       "CONNECTING_TO_NETWORK": "Connecting to the network...",
       "ANALYZING_NETWORK": "Analyzing the {{currency|abbreviate}} network...",
-      "ONLY_SSL_PEERS": "Non-SSL nodes have a degraded display because Cesium works in HTTPS mode."
+      "ONLY_SSL_PEERS": "Non-SSL peers have a degraded display because Cesium works in HTTPS mode."
     }
   },
   "PEER": {
@@ -530,7 +530,7 @@
       "INTRO_WARNING_SECURITY": "Check that the hardware you are currently using (computer, tablet, phone) <b>is secure and trustworthy </b>.",
       "INTRO_WARNING_SECURITY_HELP": "Up-to-date anti-virus, firewall enabled, session protected by password or pin code...",
       "INTRO_HELP": "Click <b> {{'COMMON.BTN_START'|translate}}</b> to begin creating an account. You will be guided step by step.",
-      "REGISTRATION_NODE": "Your registration will be registered via the Duniter peer <b>{{server}}</b> node, which will then be distributed to the rest of the currency network.",
+      "REGISTRATION_NODE": "Your registration will be registered via the Duniter peer <b>{{server}}</b>, which will then be distributed to the rest of the currency network.",
       "REGISTRATION_NODE_HELP": "If you do not trust this peer, please change <a ng-click=\"doQuickFix('settings')\">in the settings</a> of Cesium.",
       "SELECT_ACCOUNT_TYPE": "Choose the type of account to create:",
       "MEMBER_ACCOUNT": "Member account",
@@ -767,7 +767,7 @@
     "IDENTITY_PENDING_REVOCATION": "The <b>revocation of this identity</b> has been requested and is awaiting processing. Certification is therefore disabled.",
     "IDENTITY_INVALID_BLOCK_HASH": "This membership application is no longer valid (because it references a block that network peers are cancelled): the person must renew its application for membership <b>before</b> being certified.",
     "IDENTITY_EXPIRED": "This identity has expired: this person must re-apply <b>before</b> being certified.",
-    "IDENTITY_SANDBOX_FULL": "Could not register, because peer's sandbox is full.<br/><br/>Please retry later or choose another Duniter peer (in <b>Settings</b>).",
+    "IDENTITY_SANDBOX_FULL": "Could not register, because Duniter peer's sandbox is full.<br/><br/>Please retry later or choose another peer (in the <b>settings</b>).",
     "IDENTITY_NOT_FOUND": "Identity not found",
     "IDENTITY_TX_FAILED": "Error while getting identity's transactions",
     "WOT_PENDING_INVALID_BLOCK_HASH": "Membership not valid.",
@@ -813,7 +813,9 @@
     "UNKNOWN_WALLET_ID": "Unknown secondary wallet.",
     "RESTORE_WALLET_LIST_FAILED": "Unable to restore the list of wallets.",
     "INVALID_FILE_FORMAT": "Invalid file format.",
-    "SAME_TX_RECIPIENT": "The recipient must be different from the issuer."
+    "SAME_TX_RECIPIENT": "The recipient must be different from the issuer.",
+    "SELF_CERTIFICATION": "You cannot certify your own identity.",
+    "TX_SANDBOX_FULL": "The Duniter peer used by Cesium can no longer process new transfers, as its queue is full.<br/><br/>Please try again later or change the peer (in the <b>Settings</b>)."
   },
   "INFO": {
     "POPUP_TITLE": "Information",
@@ -857,10 +859,10 @@
     "SAVE_BEFORE_LEAVE": "Do you want to <b>save your changes</b> before leaving the page?",
     "SAVE_BEFORE_LEAVE_TITLE": "Changes not saved",
     "LOGOUT": "Are you sure you want to logout?",
-    "USE_FALLBACK_NODE": "Peer <b>{{old}}</b> unreachable or invalid address.<br/><br/>Do you want to temporarily use the <b>{{new}}</b> node?",
-    "USE_SYNC_FALLBACK_NODE": "Node <b>{{old}}</b> seems to be out of sync.<br/><br/>Do you want to temporarily use the synchronized node <b>{{new}}</b>?",
+    "USE_FALLBACK_NODE": "Peer <b>{{old}}</b> unreachable or invalid address.<br/><br/>Do you want to temporarily use the <b>{{new}}</b> peer?",
+    "USE_SYNC_FALLBACK_NODE": "Peer <b>{{old}}</b> seems to be out of sync.<br/><br/>Do you want to temporarily use the synchronized peer <b>{{new}}</b>?",
     "ISSUE_524_SEND_LOG": "The transaction was rejected because of a known problem (issue #524) but not reproduced.<br/><br/>To help developers correct this error, do you accept <b>the transmission of your logs</b> per message?<br/><small>(No confidential data is sent)</small>",
-    "ENABLE_EXPERT_MODE_TO_CHANGE_NODE": "<b class=\"assertive\">Warning:</b> Do you want to <b>manually change</b> the Duniter node?<br/><br/>If you continue:<ul><li> - <b>Expert mode</b> will be activated;</li><li> - You can return to automatic node selection by simply <b>deactivating expert mode</b>.</li></ul>"
+    "ENABLE_EXPERT_MODE_TO_CHANGE_NODE": "<b class=\"assertive\">Warning:</b> Do you want to <b>manually change</b> the Duniter peer?<br/><br/>If you continue:<ul><li> - <b>Expert mode</b> will be activated;</li><li> - You can return to automatic peer selection by simply <b>deactivating expert mode</b>.</li></ul>"
   },
   "MODE": {
     "DEMO": {
diff --git a/www/i18n/locale-eo-EO.json b/www/i18n/locale-eo-EO.json
index a34f632e39a1392912d20e65f7c17da40f910174..3c5ac68ead9eeaf54d791984eb9cee24372e8fb6 100644
--- a/www/i18n/locale-eo-EO.json
+++ b/www/i18n/locale-eo-EO.json
@@ -766,7 +766,7 @@
     "IDENTITY_PENDING_REVOCATION": "La <b>nuligo de tiu ĉi identeco</b> estis petita kaj atendas traktadon. La atestado estas do malaktivigita.",
     "IDENTITY_INVALID_BLOCK_HASH": "Tiu ĉi aliĝo-peto ne plu validas (ĉar ĝi rilatas al bloko, kiun nuligis la nodoj de la reto): tiu persono devas refari sian aliĝo-peton <b>antaŭ ol</b> esti atestita.",
     "IDENTITY_EXPIRED": "La publikigo de tiu ĉi identeco finiĝis: tiu persono devas fari novan aliĝo-peton <b>antaŭ ol</b> esti atestita.",
-    "IDENTITY_SANDBOX_FULL": "La nodo Duniter uzata de Cesium ne plu povas ricevi novajn identecojn, ĉar ĝia atendo-vico estas plena.<br/><br/>Bonvolu reprovi poste aŭ ŝanĝi la nodon (per la menuo <b>Parametroj</b>).",
+    "IDENTITY_SANDBOX_FULL": "La nodo Duniter uzata de Cesium ne plu povas ricevi novajn identecojn, ĉar ĝia atendovico estas plena.<br/><br/>Bonvolu reprovi poste aŭ ŝanĝi la nodon (per la menuo <b>Parametroj</b>).",
     "IDENTITY_NOT_FOUND": "Identeco ne trovita.",
     "IDENTITY_TX_FAILED": "Malsukceso por ŝarĝi la spezojn.",
     "WOT_PENDING_INVALID_BLOCK_HASH": "Aliĝo ne valida.",
@@ -812,7 +812,9 @@
     "UNKNOWN_WALLET_ID": "Kroma monujo nekonata.",
     "RESTORE_WALLET_LIST_FAILED": "Malsukceso por restarigi la kromajn monujojn.",
     "INVALID_FILE_FORMAT": "Strukturo de dosiero nevalida.",
-    "SAME_TX_RECIPIENT": "La adresito devas malsami ol la sendanto."
+    "SAME_TX_RECIPIENT": "La adresito devas malsami ol la sendanto.",
+    "SELF_CERTIFICATION": "Vi ne povas certigi vian propran identecon.",
+    "TX_SANDBOX_FULL": "La nodo Duniter uzata de Cesium ne plu povas prilabori novajn elspezojn, ĉar ĝia atendovico estas plena.<br/><br/>Bonvolu provi denove poste aŭ ŝanĝi la nodon (en la <b>Agordoj</b>)."
   },
   "INFO": {
     "POPUP_TITLE": "Informo",
diff --git a/www/i18n/locale-es-ES.json b/www/i18n/locale-es-ES.json
index 42b1c9deabe68240bfa90c990240c1468ffd0e38..bae2c5031bd3cad7674e6365036cc99b9ec3b2b7 100644
--- a/www/i18n/locale-es-ES.json
+++ b/www/i18n/locale-es-ES.json
@@ -897,7 +897,9 @@
     "GET_LICENSE_FILE_FAILED": "Error al obtener el archivo de licencia",
     "CHECK_NETWORK_CONNECTION": "No se puede conectar a ningún nodo.<br/><br/><b>Compruebe la conexión a Internet</b>.",
     "INVALID_FILE_FORMAT": "Formato de archivo inválido.",
-    "SAME_TX_RECIPIENT": "El destinatario debe ser diferente del emisor."
+    "SAME_TX_RECIPIENT": "El destinatario debe ser diferente del emisor.",
+    "SELF_CERTIFICATION": "No puedes certificar tu propia identidad.",
+    "TX_SANDBOX_FULL": "El nodo Duniter utilizado por Cesium ya no puede procesar nuevas transferencias, ya que su cola está llena.<br/><br/>Por favor, inténtelo de nuevo más tarde o cambie de nodo (en las <b>Configuraciones</b>)."
   },
   "INFO": {
     "POPUP_TITLE": "Información",
diff --git a/www/i18n/locale-fr-FR.json b/www/i18n/locale-fr-FR.json
index f5ec93b01c9205f7889626793532e86f8b6beaa2..175d1388ec05e06d9e9e834cb07aaf27999f16cc 100644
--- a/www/i18n/locale-fr-FR.json
+++ b/www/i18n/locale-fr-FR.json
@@ -767,7 +767,7 @@
     "IDENTITY_PENDING_REVOCATION": "La <b>révocation de cette identité</b> a été demandée et est en attente de traitement. La certification est donc désactivée.",
     "IDENTITY_INVALID_BLOCK_HASH": "Cette demande d'adhésion n'est plus valide (car elle référence un bloc que les nœuds du réseau ont annulé) : cette personne doit renouveler sa demande d'adhésion <b>avant</b> d'être certifiée.",
     "IDENTITY_EXPIRED": "La publication de cette identité a expiré : cette personne doit effectuer une nouvelle demande d'adhésion <b>avant</b> d'être certifiée.",
-    "IDENTITY_SANDBOX_FULL": "Le nœud Duniter utilisé par Cesium ne peut plus recevoir de nouvelles identités, car sa file d'attente est pleine.<br/><br/>Veuillez réessayer ultérieurement ou changer de nœud (via le menu <b>Paramètres</b>).",
+    "IDENTITY_SANDBOX_FULL": "Le nœud Duniter utilisé par Cesium ne peut plus recevoir de nouvelles identités, car sa file d'attente est pleine.<br/><br/>Veuillez réessayer ultérieurement ou changer de nœud (dans les <b>Paramètres</b>).",
     "IDENTITY_NOT_FOUND": "Identité non trouvée.",
     "IDENTITY_TX_FAILED": "Échec du chargement des opérations.",
     "WOT_PENDING_INVALID_BLOCK_HASH": "Adhésion non valide.",
@@ -814,7 +814,8 @@
     "RESTORE_WALLET_LIST_FAILED": "Échec de la restauration des portefeuilles secondaires.",
     "INVALID_FILE_FORMAT": "Format de fichier invalide.",
     "SAME_TX_RECIPIENT": "Le destinataire doit être différent de l'émetteur.",
-    "SELF_CERTIFICATION": "Vous ne pouvez pas certifier votre propre identité."
+    "SELF_CERTIFICATION": "Vous ne pouvez pas certifier votre propre identité.",
+    "TX_SANDBOX_FULL": "Le nœud Duniter utilisé par Cesium ne peut plus traité de nouveaux virements, car sa file d'attente est pleine.<br/><br/>Veuillez réessayer ultérieurement ou changer de nœud (dans les <b>Paramètres</b>)."
   },
   "INFO": {
     "POPUP_TITLE": "Information",
diff --git a/www/i18n/locale-it-IT.json b/www/i18n/locale-it-IT.json
index a878177309da12b65140f9fefc5888d9b69cfe2c..5f3d86ba1ec8b14e0cf564ebb8a9a6745e3c3f24 100644
--- a/www/i18n/locale-it-IT.json
+++ b/www/i18n/locale-it-IT.json
@@ -767,7 +767,7 @@
     "IDENTITY_PENDING_REVOCATION": "L'<b>annulamento di questa identità</b> è stata richiesta ed è in corso di valutazione. Capacità ad inviare certificazioni disabilitata",
     "IDENTITY_INVALID_BLOCK_HASH": "Questa richiesta di certificazione non è più valida (perche si riferisce ad un blocco che è stato eliminato dai nodi): la persona deve rinnovare la sua domanda di certificazione <b>prima</b> di essere certificata.",
     "IDENTITY_EXPIRED": "Questa identità è scaduta: la persona deve fare una nuova domanda di certificazione <b>prima di</b> essere certificata.",
-    "IDENTITY_SANDBOX_FULL": "Il nodo Duniter utilizzato dal Cesium non può ricevere altre domande di certificazione per ora, la lista d'attesa è piena.<br/><br/>Riprova più tardi o scegli un'altro nodo Duniter (nelle <b>Impostazioni</b>).",
+    "IDENTITY_SANDBOX_FULL": "Il nodo Duniter utilizzato dal Cesium non può ricevere altre domande di certificazione per ora, perché la lista d'attesa è piena.<br/><br/>Riprova più tardi o scegli un'altro nodo Duniter (nelle <b>Impostazioni</b>).",
     "IDENTITY_NOT_FOUND": "Identità non trovata",
     "IDENTITY_TX_FAILED": "Impossibile caricare le operazioni",
     "WOT_PENDING_INVALID_BLOCK_HASH": "Adesione non valida.",
@@ -813,8 +813,10 @@
     "UNKNOWN_WALLET_ID": "Portafoglio secondario sconosciuto.",
     "RESTORE_WALLET_LIST_FAILED": "Impossibile recuperare la lista dei portafogli.",
     "INVALID_FILE_FORMAT": "Formato file invalido.",
-    "SAME_TX_RECIPIENT": "Il destinatario deve essere diverso dall'emittente."
-   },
+    "SAME_TX_RECIPIENT": "Il destinatario deve essere diverso dall'emittente.",
+    "SELF_CERTIFICATION": "Non puoi certificare la tua stessa identità.",
+    "TX_SANDBOX_FULL": "Il nodo Duniter utilizzato dal Cesium non può più elaborare nuovi trasferimenti, perché la lista d'attesa è piena.<br/><br/>Riprova più tardi o scegli un'altro nodo Duniter (nelle <b>Impostazioni</b>)."
+  },
   "INFO": {
     "POPUP_TITLE": "Informazioni",
     "CERTIFICATION_DONE": "Identità firmata con successo",
diff --git a/www/i18n/locale-nl-NL.json b/www/i18n/locale-nl-NL.json
index 8787f3fede5901126890a2a332af92295b9dbc42..861384cba0dd80c3fc184583c8587c5b277b3882 100644
--- a/www/i18n/locale-nl-NL.json
+++ b/www/i18n/locale-nl-NL.json
@@ -609,7 +609,9 @@
     "ONLY_MEMBER_CAN_EXECUTE_THIS_ACTION": "You must <b>be a member</b> in order to perform this action.",
     "ONLY_SELF_CAN_EXECUTE_THIS_ACTION": "You must have <b>published your identity</b> in order to perform this action.",
     "EXISTING_ACCOUNT": "Je gegevens komen overeen met een bestaande rekening, met de <a ng-click=\"showHelpModal('pubkey')\">publieke sleutel</a>:",
-    "EXISTING_ACCOUNT_REQUEST": "Gelieve je gegevens te wijzigen zodat ze met een niet gebruikte rekening overeenkomen."
+    "EXISTING_ACCOUNT_REQUEST": "Gelieve je gegevens te wijzigen zodat ze met een niet gebruikte rekening overeenkomen.",
+    "SELF_CERTIFICATION": "U kunt uw eigen identiteit niet certificeren.",
+    "TX_SANDBOX_FULL": "De Duniter-peer die door Cesium wordt gebruikt, kan geen nieuwe overschrijvingen meer verwerken, omdat de wachtrij vol is.<br/><br/>Probeer het later opnieuw of wijzig de peer (in de <b>Instellingen</b>)."
   },
   "INFO": {
     "POPUP_TITLE": "Informatie",
diff --git a/www/i18n/locale-pt-PT.json b/www/i18n/locale-pt-PT.json
index 6110a0b71217b70eb4e24e60418a704e881468e7..f3e3ddcacfa5a51115f26150c82cc572746854cc 100644
--- a/www/i18n/locale-pt-PT.json
+++ b/www/i18n/locale-pt-PT.json
@@ -862,7 +862,7 @@
     "IDENTITY_PENDING_REVOCATION": "A <b>revogação desta identidade</b> foi solicitada e encontra-se em espera de tratamento. Pelo que, a certificação está desativada.",
     "IDENTITY_INVALID_BLOCK_HASH": "Este pedido de adesão não é valido (porque o bloco foi anulado pelos nós da rede): este individuo/a deve renovar o seu pedido de adesão <b>antes de</b> estar certificado/a.",
     "IDENTITY_EXPIRED": "A publicação desta identidade está caducada: este individuo/a deve realizar um novo pedido de adesão <b>antes de</b> estar certificado/a.",
-    "IDENTITY_SANDBOX_FULL": "O nó Duniter utilizado por Cesium já não pode receber mais novas identidades, porque a fila de espera está cheia.<br/><br/>Por favor, tente mais tarde ou mude de nó (no menu <b>Definições</b>).",
+    "IDENTITY_SANDBOX_FULL": "O nó Duniter utilizado por Cesium já não pode receber mais novas identidades, porque a fila de espera está cheia.<br/><br/>Por favor, tente mais tarde ou mude de nó (nas <b>Definições</b>).",
     "IDENTITY_NOT_FOUND": "Identidade não encontrada",
     "IDENTITY_TX_FAILED": "Falha ao carregar as transações da identidade",
     "WOT_PENDING_INVALID_BLOCK_HASH": "Adesão não validada.",
@@ -897,7 +897,9 @@
     "GET_LICENSE_FILE_FAILED": "Falha ao obter o arquivo de licença",
     "CHECK_NETWORK_CONNECTION": "Não foi possível conectar a nenhum nó.<br/><br/><b>Comprove a ligação à Internet</b>.",
     "INVALID_FILE_FORMAT": "Formato de arquivo inválido.",
-    "SAME_TX_RECIPIENT": "O destinatário deve ser diferente do emissor."
+    "SAME_TX_RECIPIENT": "O destinatário deve ser diferente do emissor.",
+    "SELF_CERTIFICATION": "Não pode certificar a sua própria identidade.",
+    "TX_SANDBOX_FULL": "O nó Duniter utilizado por Cesium já não pode receber mais novas transferências, porque a fila de espera está cheia.<br/><br/>Por favor, tente mais tarde ou mude de nó (nas <b>Definições</b>)."
   },
   "INFO": {
     "POPUP_TITLE": "Informação",
diff --git a/www/js/platform.js b/www/js/platform.js
index 5a8867755845042057a326e2abb5177d8ae5b388..3cb7b552d86a48214fd68f73c2073ac42456ee77 100644
--- a/www/js/platform.js
+++ b/www/js/platform.js
@@ -233,8 +233,8 @@ angular.module('cesium.platform', ['ngIdle', 'cesium.config', 'cesium.services']
             console.info("[platform] Default peer [{0}] is well synchronized.".format(BMA.server));
 
             // Store sync peers in storage
-            //console.debug("[platform] Saving {0} other synchronized BMA peers in settings".format(otherPeers.length));
-            //csSettings.data.network.peers = otherPeers;
+            console.debug("[platform] Saving {0} other synchronized BMA peers in settings".format(otherPeers.length));
+            csSettings.data.network.peers = otherPeers;
 
             return true;
           }
diff --git a/www/js/services/bma-services.js b/www/js/services/bma-services.js
index 8c3ff241cd485074d84d4d18d94189c84484f8aa..6611a64f74825f652f8a7d8ff23ded4e9ffd1048 100644
--- a/www/js/services/bma-services.js
+++ b/www/js/services/bma-services.js
@@ -53,6 +53,9 @@ angular.module('cesium.bma.services', ['ngApi', 'cesium.http.services', 'cesium.
         REVOCATION_ALREADY_REGISTERED: 1002,
         HTTP_LIMITATION: 1006,
         IDENTITY_SANDBOX_FULL: 1007,
+        CERTIFICATION_SANDBOX_FULL: 1008,
+        MEMBERSHIP_SANDBOX_FULL: 1009,
+        TRANSACTIONS_SANDBOX_FULL: 1010,
         NO_MATCHING_IDENTITY: 2001,
         UID_ALREADY_USED: 2003,
         NO_MATCHING_MEMBER: 2004,
@@ -465,6 +468,7 @@ angular.module('cesium.bma.services', ['ngApi', 'cesium.http.services', 'cesium.
       },
       node: {
         summary: get('/node/summary', csCache.constants.MEDIUM),
+        sandbox: get('/node/sandbox'),
         same: isSameNode,
         forceUseSsl: that.forceUseSsl
       },
@@ -520,7 +524,7 @@ angular.module('cesium.bma.services', ['ngApi', 'cesium.http.services', 'cesium.
           all: function(params) {
             return exports.raw.tx.history.all(params)
               .then(function(res) {
-                res.history = res.history || {};
+                res.history = res.history || {};
                 // Clean sending and pendings, because already returned by tx/history/:pubkey/pending
                 res.history.sending = [];
                 res.history.pendings = [];
@@ -531,7 +535,7 @@ angular.module('cesium.bma.services', ['ngApi', 'cesium.http.services', 'cesium.
             // No cache by default
             return ((cache !== true) ? exports.raw.tx.history.times(params) : exports.raw.tx.history.timesWithCache(params))
               .then(function(res) {
-                res.history = res.history || {};
+                res.history = res.history || {};
                 // Clean sending and pendings, because already returned by tx/history/:pubkey/pending
                 res.history.sending = [];
                 res.history.pendings = [];
@@ -1121,7 +1125,8 @@ angular.module('cesium.bma.services', ['ngApi', 'cesium.http.services', 'cesium.
       server: csHttp.getServer(host, port),
       url: csHttp.getUrl(host, port, path, useSsl),
       node: {
-        summary: csHttp.getWithCache(host, port, path + '/node/summary', useSsl, csCache.constants.MEDIUM, false/*autoRefresh*/, timeout)
+        summary: csHttp.getWithCache(host, port, path + '/node/summary', useSsl, csCache.constants.MEDIUM, false/*autoRefresh*/, timeout),
+        sandbox: csHttp.get(host, port, path + '/node/sandbox', useSsl, timeout),
       },
       network: {
         peering: {
@@ -1134,6 +1139,9 @@ angular.module('cesium.bma.services', ['ngApi', 'cesium.http.services', 'cesium.
         stats: {
           hardship: csHttp.get(host, port, path + '/blockchain/hardship/:pubkey', useSsl, timeout)
         }
+      },
+      tx: {
+        process: csHttp.post(host, port, path + '/tx/process', useSsl, timeout)
       }
     };
   };
diff --git a/www/js/services/network-services.js b/www/js/services/network-services.js
index 06c75f773492f402d9c89e4733abfcf41ae4a3bc..7173305a2ac91e36b9955c90caaf40b8881ec77b 100644
--- a/www/js/services/network-services.js
+++ b/www/js/services/network-services.js
@@ -235,9 +235,11 @@ angular.module('cesium.network.services', ['ngApi', 'cesium.currency.services',
             _.forEach(res.peers, function(json) {
               // Exclude, if not UP or on a too old block
               if (json.status !== 'UP') return;
+
+              // Exclude if too old peering document
               json.blockNumber = buidBlockNumber(json.block);
               if (json.blockNumber && json.blockNumber < data.minOnlineBlockNumber) {
-                console.debug("[network] Exclude a too old peer document, on pubkey {0}".format(json.pubkey.substring(0,6)));
+                console.debug("[network] Exclude a too old peering document, on pubkey {0}".format(json.pubkey.substring(0,6)));
                 return;
               }
 
@@ -972,6 +974,12 @@ angular.module('cesium.network.services', ['ngApi', 'cesium.currency.services',
         return false;
       }
 
+     // Exclude g1.duniter.org, because of fail-over config, that can switch node
+     if (peer.host === 'g1.duniter.org') {
+       console.debug('[network] BMA endpoint [{0}] is EXCLUDED (fail-over config)'.format(peer.getServer()));
+       return false;
+     }
+
       // Keep only if store transactions
       if (!peer.storage && !peer.storage.transactions) {
         console.debug('[network] BMA endpoint [{0}] is EXCLUDED (no transactions storage)'.format(peer.getServer()));
diff --git a/www/js/services/wallet-services.js b/www/js/services/wallet-services.js
index 46843ef0dc0b8e5848e7e355c2784a63b2ebf1d1..646153032e16d409c46998b931f3aa5caebdc26e 100644
--- a/www/js/services/wallet-services.js
+++ b/www/js/services/wallet-services.js
@@ -1514,7 +1514,7 @@ angular.module('cesium.wallet.services', ['ngApi', 'ngFileSaver', 'cesium.bma.se
 
       // Append to logs (need to resolve issue #524)
       if (logs) {
-        if (destPub == data.pubkey) {
+        if (destPub === data.pubkey) {
           logs.push('[wallet] Creating new TX, using inputs:\n - minBase: '+inputs.minBase+'\n - maxBase: '+inputs.maxBase);
         }
         else {
@@ -1529,14 +1529,7 @@ angular.module('cesium.wallet.services', ['ngApi', 'ngFileSaver', 'cesium.bma.se
       return CryptoUtils.sign(tx, keypair)
         .then(function(signature) {
           var signedTx = tx + signature + "\n";
-          return BMA.tx.process({transaction: signedTx})
-            .catch(function(err) {
-              if (err && err.ucode === BMA.errorCodes.TX_ALREADY_PROCESSED) {
-                // continue
-                return;
-              }
-              throw err;
-            })
+          return processTx(signedTx)
             .then(function() {
               return CryptoUtils.util.hash(signedTx);
             })
@@ -1556,6 +1549,70 @@ angular.module('cesium.wallet.services', ['ngApi', 'ngFileSaver', 'cesium.bma.se
         });
     },
 
+    processTx = function(signedTx) {
+      // Send to default BMA node
+      return BMA.tx.process({transaction: signedTx})
+        .catch(function(err) {
+          if (err.ucode === BMA.errorCodes.TX_ALREADY_PROCESSED) {
+            return; // continue
+          }
+
+          // TX sandbox is full: retry using random peers
+          if (err.ucode === BMA.errorCodes.TRANSACTIONS_SANDBOX_FULL) {
+            console.warn('[wallet] Node sandbox is full! Will send TX to some random peers...');
+            return processTxRandomPeer(signedTx)
+              .then(function(success) {
+                if (success) return; // OK, continue
+
+                // If all random peers failed: rethrow the original error
+                throw {ucode: BMA.errorCodes.TRANSACTIONS_SANDBOX_FULL, message: 'ERROR.TX_SANDBOX_FULL'};
+              });
+          }
+
+          // Other error
+          throw err;
+        })
+        ;
+    },
+
+    processTxRandomPeer = function(signedTx, n, timeout) {
+      n = n || 3;
+      timeout = timeout || csConfig.timeout;
+
+      // Select some peers
+      var randomPeers = _.sample(csSettings.data.network && csSettings.data.network.peers || [], n);
+      if (!randomPeers.length) {
+        return $q.resolve(false); // Skip, if no peers
+      }
+
+      console.warn('[wallet] Sending TX to {0} random peers...'.format(randomPeers.length));
+
+      return $q.all(
+        _.map(randomPeers, function(peer) {
+          var bma = BMA.lightInstance(peer.host, peer.port, peer.path, peer.useSsl, timeout);
+          return bma.tx.process({transaction: signedTx})
+            .then(function() {
+              return true
+            })
+            .catch(function(err) {
+              if (err.ucode === BMA.errorCodes.TX_ALREADY_PROCESSED) {
+                return true
+              }
+              return false;
+            });
+        }))
+        .then(function(res) {
+          var succeedPeers = _.filter(randomPeers, function(peer, index) {
+            return res[index];
+          });
+          if (succeedPeers.length) {
+            console.info('[wallet] TX successfully sent to {0} random peers'.format(succeedPeers.length), succeedPeers);
+            return true; // succeed
+          }
+          return false; // succeed
+        });
+    },
+
     getIdentityDocument = function(currency, keypair, uid, blockUid) {
       uid = uid || data.uid;
       blockUid = blockUid || data.blockUid;