diff --git a/package.json b/package.json
index 6af185e38112b0ee185d677bac6373ddf7791346..91eda0aaf58e8e532528ca5a10b8ed76de653480 100644
--- a/package.json
+++ b/package.json
@@ -42,7 +42,7 @@
     "colors": "1.1.2",
     "commander": "2.9.0",
     "daemonize2": "0.4.2",
-    "duniter-common": "^1.0.0",
+    "duniter-common": "1.3.x",
     "event-stream": "3.3.4",
     "heapdump": "^0.3.9",
     "inquirer": "3.0.6",
@@ -69,7 +69,7 @@
   },
   "devDependencies": {
     "coveralls": "2.11.4",
-    "duniter-bma": "^1.1.2",
+    "duniter-bma": "1.3.x",
     "duniter-crawler": "1.3.x",
     "duniter-keypair": "1.3.X",
     "duniter-prover": "1.3.x",
@@ -85,6 +85,13 @@
     "supertest": "",
     "tmp": "0.0.29"
   },
+  "peerDependencies": {
+    "duniter-bma": "1.3.x",
+    "duniter-crawler": "1.3.x",
+    "duniter-keypair": "1.3.X",
+    "duniter-prover": "1.3.x",
+    "duniter-ui": "1.3.x"
+  },
   "bin": {
     "duniter": "./bin/duniter"
   }
diff --git a/release/arch/arm/build-arm.sh b/release/arch/arm/build-arm.sh
index b054cab2639a64c793710aff7a4d5a7fbafebdfe..4496fda37b739d17855b53a15eb48b617a2532d3 100755
--- a/release/arch/arm/build-arm.sh
+++ b/release/arch/arm/build-arm.sh
@@ -4,12 +4,6 @@
 export NVM_DIR="$HOME/.nvm"
 [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
 
-VER_UI=1.1.5
-VER_BMA=1.1.2
-VER_CRAWLER=1.1.4
-VER_PROVER=1.1.2
-VER_KEYPAIR=1.1.3
-
 # Prepare
 ARCH="armv7l"
 NVER="v6.10.2"
@@ -72,11 +66,8 @@ SRC=`pwd`
 echo $SRC
 
 # Install modules
-node/bin/npm install "duniter-bma@$VER_BMA" --save --production
-node/bin/npm install "duniter-crawler@$VER_CRAWLER" --save --production
-node/bin/npm install "duniter-keypair@$VER_KEYPAIR" --save --production
-node/bin/npm install "duniter-prover@$VER_PROVER" --save --production
-node/bin/npm install "duniter-ui@$VER_UI" --production --save
+echo ">> VM: installing peerDependencies..."
+node/bin/node -e "const deps = require('./package.json').peerDependencies; Object.keys(deps).forEach(k => console.log(k + \"@\" + deps[k]))" | xargs node/bin/npm i --production
 
 # Clean unused UI modules
 rm -Rf node_modules/duniter-ui/node_modules
diff --git a/release/arch/debian/build-deb.sh b/release/arch/debian/build-deb.sh
index f230ae209c762287cbdaa6b855ef3c1082eb8420..d37dbbe3bd7fb5d77f39c4be3dc04f44a6647c88 100644
--- a/release/arch/debian/build-deb.sh
+++ b/release/arch/debian/build-deb.sh
@@ -4,12 +4,6 @@
 export NVM_DIR="$HOME/.nvm"
 [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
 
-VER_UI=1.1.5
-VER_BMA=1.1.2
-VER_CRAWLER=1.1.4
-VER_PROVER=1.1.2
-VER_KEYPAIR=1.1.3
-
 # Prepare
 NVER=`node -v`
 DUNITER_TAG=
@@ -81,17 +75,12 @@ cd ${RELEASES}/duniter
 # Remove git files
 rm -Rf .git
 [[ $? -eq 0 ]] && echo ">> VM: building modules..."
-[[ $? -eq 0 ]] && yarn
+[[ $? -eq 0 ]] && yarn --production
 #[[ $? -eq 0 ]] && echo ">> VM: running tests..."
 #[[ $? -eq 0 ]] && yarn test
 
-# Clean test and UI packages
-[[ $? -eq 0 ]] && echo ">> VM: removing duniter dev modules..."
-yarn remove duniter-bma duniter-crawler duniter-keypair duniter-prover --save
-[[ $? -eq 0 ]] && echo ">> VM: adding duniter modules..."
-yarn add "duniter-ui@$VER_UI" "duniter-bma@$VER_BMA" "duniter-crawler@$VER_CRAWLER" "duniter-keypair@$VER_KEYPAIR" "duniter-prover@$VER_PROVER" --save --production
-rm -rf node_modules yarn.lock
-yarn --production
+[[ $? -eq 0 ]] && node -e "const deps = require('./package.json').peerDependencies; Object.keys(deps).forEach(k => console.log(k + \"@\" + deps[k]))" | xargs yarn add --production
+
 
 # Specific modules that are not needed in a release
 rm -rf node_modules/materialize-css
diff --git a/release/arch/windows/build.bat b/release/arch/windows/build.bat
index f519fd6fa9ee144a6061fda59655208268faa579..d7a4f051025325bfa6f6842b58193b8d4a84875c 100644
--- a/release/arch/windows/build.bat
+++ b/release/arch/windows/build.bat
@@ -1,10 +1,4 @@
 
-set VER_UI=1.1.5
-set VER_BMA=1.1.2
-set VER_CRAWLER=1.1.4
-set VER_PROVER=1.1.2
-set VER_KEYPAIR=1.1.3
-
 set ADDON_VERSION=48
 set NW_VERSION=0.17.6
 set NW_RELEASE=v0.17.6
@@ -35,19 +29,14 @@ echo %DUNITER_TAG%
 
 git checkout %DUNITER_TAG%
 
-call npm install
+call npm install --production
 REM call npm test
 
-echo "Retrait des modules 'dev'..."
-call npm prune --production
-echo "Ajout du module 1/4..."
-call npm install duniter-bma@%VER_BMA% --save --production
-echo "Ajout du module 2/4..."
-call npm install duniter-crawler@%VER_CRAWLER% --save --production
-echo "Ajout du module 3/4..."
-call npm install duniter-keypair@%VER_KEYPAIR% --save --production
-echo "Ajout du module 4/4..."
-call npm install duniter-prover@%VER_PROVER% --save --production
+echo ">> VM: installing peerDependencies installer..."
+call npm i --save-dev @team-griffin/install-self-peers
+echo ">> VM: installing peerDependencies..."
+call ./node_modules/.bin/install-self-peers --npm -- --production
+
 set SRC=%cd%
 echo %SRC%
 cd node_modules/wotb
diff --git a/yarn.lock b/yarn.lock
index 09a228b11075130957e9b9b5f939e75d284de70f..2f1f81fe7348c0309ee7199441e4ba0f16b21efa 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -714,9 +714,9 @@ doctrine@^1.2.2:
     esutils "^2.0.2"
     isarray "^1.0.0"
 
-duniter-bma@^1.1.2, duniter-bma@^1.3.0:
-  version "1.3.0"
-  resolved "https://registry.yarnpkg.com/duniter-bma/-/duniter-bma-1.3.0.tgz#a7e383756d92f937c72449debe027bb5a6bbb729"
+duniter-bma@1.3.x, duniter-bma@^1.3.0:
+  version "1.3.1"
+  resolved "https://registry.yarnpkg.com/duniter-bma/-/duniter-bma-1.3.1.tgz#8dc4ae2b1e899f6a94c4138b030a6037e72a4509"
   dependencies:
     async "2.2.0"
     body-parser "1.17.1"
@@ -737,7 +737,7 @@ duniter-bma@^1.1.2, duniter-bma@^1.3.0:
     underscore "1.8.3"
     ws "1.1.1"
 
-duniter-common@^1.0.0, duniter-common@^1.3.0:
+duniter-common@1.3.x, duniter-common@^1.3.0:
   version "1.3.0"
   resolved "https://registry.yarnpkg.com/duniter-common/-/duniter-common-1.3.0.tgz#834f5d8f244a0b377146735795d2e5d0328b2cfd"
   dependencies:
@@ -748,9 +748,9 @@ duniter-common@^1.0.0, duniter-common@^1.3.0:
     tweetnacl "0.14.3"
     underscore "1.8.3"
 
-duniter-crawler@1.3.x, duniter-crawler@^1.3.3:
-  version "1.3.3"
-  resolved "https://registry.yarnpkg.com/duniter-crawler/-/duniter-crawler-1.3.3.tgz#ee38907a8ec852e0843b162ad41980cdc2dead92"
+duniter-crawler@1.3.x:
+  version "1.3.4"
+  resolved "https://registry.yarnpkg.com/duniter-crawler/-/duniter-crawler-1.3.4.tgz#05c8d3310a594e7a9fc61a567335d8b4df587dea"
   dependencies:
     async "2.2.0"
     co "4.6.0"
@@ -763,7 +763,7 @@ duniter-crawler@1.3.x, duniter-crawler@^1.3.3:
     request-promise "4.2.0"
     underscore "1.8.3"
 
-duniter-keypair@1.3.X, duniter-keypair@^1.3.0:
+duniter-keypair@1.3.X, duniter-keypair@1.3.x:
   version "1.3.0"
   resolved "https://registry.yarnpkg.com/duniter-keypair/-/duniter-keypair-1.3.0.tgz#fd63c2ffc1ced6ea68c31153fa893e6f3466ee94"
   dependencies:
@@ -778,13 +778,13 @@ duniter-keypair@1.3.X, duniter-keypair@^1.3.0:
     tweetnacl-util "0.15.0"
 
 duniter-prover@1.3.x:
-  version "1.3.0"
-  resolved "https://registry.yarnpkg.com/duniter-prover/-/duniter-prover-1.3.0.tgz#c4da627cc962c075cd44fdafbd55a76040f56959"
+  version "1.3.1"
+  resolved "https://registry.yarnpkg.com/duniter-prover/-/duniter-prover-1.3.1.tgz#9c45af1da5fa52da29d31e6f8977684c8138d664"
   dependencies:
     async "2.2.0"
     co "4.6.0"
-    duniter-common "^1.3.0"
-    duniter-crawler "^1.3.3"
+    duniter-common "1.3.x"
+    duniter-crawler "1.3.x"
     inquirer "3.0.6"
     moment "2.18.1"
     node-uuid "1.4.8"
@@ -792,17 +792,17 @@ duniter-prover@1.3.x:
     underscore "1.8.3"
 
 duniter-ui@1.3.x:
-  version "1.3.0"
-  resolved "https://registry.yarnpkg.com/duniter-ui/-/duniter-ui-1.3.0.tgz#056ef079dd21486f94e545bbf4d2513daa66fdc3"
+  version "1.3.1"
+  resolved "https://registry.yarnpkg.com/duniter-ui/-/duniter-ui-1.3.1.tgz#cddebe90588e142c7958b986bb0e1c9f957dbe93"
   dependencies:
     adm-zip "0.4.7"
     body-parser "1.17.1"
     co "4.6.0"
     cors "2.8.2"
-    duniter-bma "^1.3.0"
-    duniter-common "^1.3.0"
-    duniter-crawler "^1.3.3"
-    duniter-keypair "^1.3.0"
+    duniter-bma "1.3.x"
+    duniter-common "1.3.x"
+    duniter-crawler "1.3.x"
+    duniter-keypair "1.3.x"
     event-stream "3.3.4"
     express "4.15.2"
     express-fileupload "0.0.5"
@@ -1759,13 +1759,20 @@ js-yaml@3.0.1:
     argparse "~ 0.1.11"
     esprima "~ 1.0.2"
 
-js-yaml@3.8.2, js-yaml@3.x, js-yaml@^3.2.5, js-yaml@^3.5.1:
+js-yaml@3.8.2:
   version "3.8.2"
   resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.8.2.tgz#02d3e2c0f6beab20248d412c352203827d786721"
   dependencies:
     argparse "^1.0.7"
     esprima "^3.1.1"
 
+js-yaml@3.x, js-yaml@^3.2.5, js-yaml@^3.5.1:
+  version "3.8.4"
+  resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.8.4.tgz#520b4564f86573ba96662af85a8cafa7b4b5a6f6"
+  dependencies:
+    argparse "^1.0.7"
+    esprima "^3.1.1"
+
 jsbn@~0.1.0:
   version "0.1.1"
   resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"