diff --git a/lib/models/walletOptions.dart b/lib/models/walletOptions.dart
index 2e16e7023ab2f6e865e32e897bf3aea27c4af923..01aeb22e772d467246cd592f7a5a0fdba749f58d 100644
--- a/lib/models/walletOptions.dart
+++ b/lib/models/walletOptions.dart
@@ -89,6 +89,21 @@ class WalletOptionsProvider with ChangeNotifier {
     }
   }
 
+  Future checkPinOK(String _createdDewif, String _pin, int _pinLenght) async {
+    isWalletUnlock = false;
+    try {
+      if (await _getPubkeyFromDewif(_createdDewif, _pin, _pinLenght, 3) !=
+          'false') {
+        return true;
+      } else {
+        throw false;
+      }
+    } catch (e) {
+      print('ERROR READING FILE: $e');
+      return false;
+    }
+  }
+
   int getPinLenght(_walletNbr) {
     File _walletFile =
         File('${walletsDirectory.path}/$_walletNbr/wallet.dewif');
diff --git a/lib/screens/onBoarding/13_stepThirteen.dart b/lib/screens/onBoarding/13_stepThirteen.dart
index 2c87494cfc016bc2014e0cbb6454a2ce3a8d1e0d..2d5c73fed020db26e8ff3e8852b35954ba0abba6 100644
--- a/lib/screens/onBoarding/13_stepThirteen.dart
+++ b/lib/screens/onBoarding/13_stepThirteen.dart
@@ -21,7 +21,6 @@ class OnboardingStepThirteen extends StatelessWidget {
     //     Provider.of<MyWalletsProvider>(context);
     CommonElements common = CommonElements();
     _generateWalletProvider.pin.text = '';
-    // _generateWalletProvider.changePinCode(reload: false);
 
     return Scaffold(
         extendBodyBehindAppBar: true,
@@ -85,9 +84,9 @@ class OnboardingStepThirteen extends StatelessWidget {
                             primary: Color(0xffFFD58D),
                             onPrimary: Colors.black, // foreground
                           ),
-                          onPressed: () {
-                            _generateWalletProvider.changePinCode(
-                                reload: false);
+                          onPressed: () async {
+                            generatedWallet = await _generateWalletProvider
+                                .changePinCode(reload: false);
                           },
                           child: Text("Choisir un autre code secret",
                               style: TextStyle(fontSize: 20))),
@@ -103,17 +102,13 @@ class OnboardingStepThirteen extends StatelessWidget {
                     onPrimary: Colors.white, // foreground
                   ),
                   onPressed: () async {
-                    // TODO: Store wallet here !
-                    await _generateWalletProvider.storeWallet(
-                        generatedWallet, 'Mon portefeuille courant', context,
-                        isHD: true);
-                    // myWalletProvider.listWallets =
-                    //     myWalletProvider.getAllWalletsNames();
                     _generateWalletProvider.isAskedWordValid = false;
                     _generateWalletProvider.askedWordColor = Colors.black;
                     Navigator.push(
                       context,
-                      SmoothTransition(page: OnboardingStepFourteen()),
+                      SmoothTransition(
+                          page: OnboardingStepFourteen(
+                              generatedWallet: generatedWallet)),
                     );
                   },
                   child: Text("J'ai noté mon code secret",
diff --git a/lib/screens/onBoarding/14_stepFourteen.dart b/lib/screens/onBoarding/14_stepFourteen.dart
index ae25c9bf9f45ff835c5bec1d522f28d235e81bdd..75228dbe925f36998f04ff45af7997ddae5a21af 100644
--- a/lib/screens/onBoarding/14_stepFourteen.dart
+++ b/lib/screens/onBoarding/14_stepFourteen.dart
@@ -1,7 +1,9 @@
 import 'dart:async';
 import 'dart:ui';
+import 'package:dubp/dubp.dart';
 import 'package:flutter/services.dart';
 import 'package:flutter/material.dart';
+import 'package:gecko/models/generateWallets.dart';
 import 'package:gecko/models/myWallets.dart';
 import 'package:gecko/models/walletOptions.dart';
 import 'package:gecko/screens/commonElements.dart';
@@ -10,6 +12,12 @@ import 'package:provider/provider.dart';
 
 // ignore: must_be_immutable
 class OnboardingStepFourteen extends StatelessWidget {
+  OnboardingStepFourteen({
+    Key validationKey,
+    @required this.generatedWallet,
+  }) : super(key: validationKey);
+
+  NewWallet generatedWallet;
   final int progress = 92;
   final formKey = GlobalKey<FormState>();
   var pinColor = Color(0xFFA4B600);
@@ -46,6 +54,8 @@ class OnboardingStepFourteen extends StatelessWidget {
     TextEditingController _enterPin = TextEditingController();
     MyWalletsProvider _myWalletProvider =
         Provider.of<MyWalletsProvider>(context);
+    GenerateWalletsProvider _generateWalletProvider =
+        Provider.of<GenerateWalletsProvider>(context);
 
     return Form(
       key: formKey,
@@ -95,22 +105,29 @@ class OnboardingStepFourteen extends StatelessWidget {
             ],
             onCompleted: (_pin) async {
               print("Completed");
-              final resultWallet = await _walletOptions.readLocalWallet(
-                  _walletNbr, _pin.toUpperCase(), _pinLenght, _derivation);
-              if (resultWallet == 'bad') {
-                errorController.add(ErrorAnimationType
-                    .shake); // Triggering error shake animation
-                hasError = true;
-                pinColor = Colors.red[600];
-                _walletOptions.reloadBuild();
-              } else {
+              // final resultWallet = await _walletOptions.readLocalWallet(
+              //     _walletNbr, _pin.toUpperCase(), _pinLenght, _derivation);
+              final bool resultWallet = await _walletOptions.checkPinOK(
+                  generatedWallet.dewif, _pin.toUpperCase(), _pinLenght);
+              if (resultWallet) {
                 pinColor = Colors.green[500];
+                print(generatedWallet.pin);
+                await _generateWalletProvider.storeWallet(
+                    generatedWallet, 'Mon portefeuille courant', context,
+                    isHD: true);
                 _myWalletProvider.getAllWalletsNames();
                 _walletOptions.reloadBuild();
+                _myWalletProvider.rebuildWidget();
                 Navigator.popUntil(
                   context,
                   ModalRoute.withName('/'),
                 );
+              } else {
+                errorController.add(ErrorAnimationType
+                    .shake); // Triggering error shake animation
+                hasError = true;
+                pinColor = Colors.red[600];
+                _walletOptions.reloadBuild();
               }
             },
             onChanged: (value) {