diff --git a/assets/chests/secret_code.png b/assets/chests/secret_code.png
old mode 100755
new mode 100644
index 10ef999edbde1ee10c2b680667db3849947799a3..495717efc3c27a9cb9a57a017244e518cba01f92
Binary files a/assets/chests/secret_code.png and b/assets/chests/secret_code.png differ
diff --git a/assets/chests/vector.png b/assets/chests/vector.png
old mode 100755
new mode 100644
index 3fb42dba56fc072f97f8c4f62c36281a758e0237..9eb11a70397c24a644105146b15fcd2bab8470a7
Binary files a/assets/chests/vector.png and b/assets/chests/vector.png differ
diff --git a/assets/copy_key.png b/assets/copy_key.png
new file mode 100644
index 0000000000000000000000000000000000000000..8957f50508e12053f69ec383265e0a3b71494d92
Binary files /dev/null and b/assets/copy_key.png differ
diff --git a/assets/printer.png b/assets/printer.png
old mode 100755
new mode 100644
index ced5f5d0576f3f152f291dd4fb721220161033c0..aab7940cfbc6d9e7a23bd518a97ae29625ba5b72
Binary files a/assets/printer.png and b/assets/printer.png differ
diff --git a/assets/vector_white.png b/assets/vector_white.png
new file mode 100644
index 0000000000000000000000000000000000000000..347caaa90e815dde4964a9d48af0ae8eee90ec6d
Binary files /dev/null and b/assets/vector_white.png differ
diff --git a/assets/walletOptions/android-checkmark.png b/assets/walletOptions/android-checkmark.png
old mode 100755
new mode 100644
index 578859d6b12b932c7fc9668e0a5163c485ab242d..ef913f5ca47860d7dfb4bb5589ff682275883071
Binary files a/assets/walletOptions/android-checkmark.png and b/assets/walletOptions/android-checkmark.png differ
diff --git a/assets/walletOptions/camera.png b/assets/walletOptions/camera.png
old mode 100755
new mode 100644
index ce9ad0fb1edb6469fea18f112feec17b1dea9968..49fe6ba44958f2f38774b13529b2b82b906da54e
Binary files a/assets/walletOptions/camera.png and b/assets/walletOptions/camera.png differ
diff --git a/assets/walletOptions/clock.png b/assets/walletOptions/clock.png
old mode 100755
new mode 100644
index cf9a80270f311ac67d260b6be3bae8e744fb85a5..a4a684f2f9126fa416841623fce040b2759fcf67
Binary files a/assets/walletOptions/clock.png and b/assets/walletOptions/clock.png differ
diff --git a/assets/walletOptions/copy-white.png b/assets/walletOptions/copy-white.png
old mode 100755
new mode 100644
index 819e852fc49f7a8a7a519f2b9247f9aeabc66335..d085408ead44558311055d4250314e690d8e307a
Binary files a/assets/walletOptions/copy-white.png and b/assets/walletOptions/copy-white.png differ
diff --git a/assets/walletOptions/edit.png b/assets/walletOptions/edit.png
old mode 100755
new mode 100644
index a45788da6b98ff24811ebacd61d02ba9716887d4..3963753a74507d2dba0a1c6d3d741c1f284a5745
Binary files a/assets/walletOptions/edit.png and b/assets/walletOptions/edit.png differ
diff --git a/assets/walletOptions/icon_oeuil.png b/assets/walletOptions/icon_oeuil.png
old mode 100755
new mode 100644
index f707647c214f59072e8349f8bbf994aa3770b676..75c12ec985c01d131ea5ea80328ffcd115e02cca
Binary files a/assets/walletOptions/icon_oeuil.png and b/assets/walletOptions/icon_oeuil.png differ
diff --git a/assets/walletOptions/icon_oeuil_close.png b/assets/walletOptions/icon_oeuil_close.png
index 4a13e67ea0a5d9bae6eaf7f3e67d4ac6c5131406..db1dc512d666d476b3bc37ae9a5ac99aabe2401d 100644
Binary files a/assets/walletOptions/icon_oeuil_close.png and b/assets/walletOptions/icon_oeuil_close.png differ
diff --git a/assets/walletOptions/key.png b/assets/walletOptions/key.png
old mode 100755
new mode 100644
index 45c0e85ae5630256f68c58881ae717c3bd1d7049..bfabc3d6d799db5bc2de58d119059d59aa58b04e
Binary files a/assets/walletOptions/key.png and b/assets/walletOptions/key.png differ
diff --git a/assets/walletOptions/trash.png b/assets/walletOptions/trash.png
old mode 100755
new mode 100644
index 6dc972b9aaebf7ecb89d33a1dafa12d586692e89..2d008a034bf97e0244c6f4210ed4bab49c1c70ff
Binary files a/assets/walletOptions/trash.png and b/assets/walletOptions/trash.png differ
diff --git a/lib/main.dart b/lib/main.dart
index 39ed3d714b824b08c7d1bf66eaf68e1f2900c645..585f1cd395894871e1c0fd65efe52867b7e997e4 100644
--- a/lib/main.dart
+++ b/lib/main.dart
@@ -51,7 +51,6 @@ Future<void> main() async {
 
   HomeProvider _homeProvider = HomeProvider();
   appPath = await getApplicationDocumentsDirectory();
-  await _homeProvider.createDefaultAvatar();
   appVersion = await _homeProvider.getAppVersion();
   prefs = await SharedPreferences.getInstance();
 
diff --git a/lib/models/cesium_plus.dart b/lib/models/cesium_plus.dart
index 4d2835d3fc75d1d94d3949079476a9f6a71d7865..8f872ed482eeb536fa64d29947232d090ef52e9b 100644
--- a/lib/models/cesium_plus.dart
+++ b/lib/models/cesium_plus.dart
@@ -8,7 +8,8 @@ import 'package:path_provider/path_provider.dart';
 
 class CesiumPlusProvider with ChangeNotifier {
   TextEditingController cesiumName = TextEditingController();
-  bool isComplete = false;
+  Image defaultAvatar(double size) =>
+      Image.asset(('assets/icon_user.png'), height: size);
 
   Future<List> _buildQuery(_pubkey) async {
     var queryGetAvatar = json.encode({
@@ -77,27 +78,34 @@ class CesiumPlusProvider with ChangeNotifier {
     return _name;
   }
 
-  Future<List> getAvatar(String _pubkey) async {
+  Future<Image> getAvatar(String _pubkey, double size) async {
     List queryOptions = await _buildQuery(_pubkey);
-    final response = await http.post((Uri.parse(queryOptions[0])),
-        body: queryOptions[1], headers: queryOptions[2]);
-    final responseJson = json.decode(response.body);
-    if (responseJson['hits']['hits'].toString() == '[]') {
-      return [File(appPath.path + '/default_avatar.png')];
+
+    http.Response response;
+    try {
+      response = await http.post((Uri.parse(queryOptions[0])),
+          body: queryOptions[1], headers: queryOptions[2]);
+    } catch (e) {
+      log.e(e);
     }
-    final bool avatarExist =
-        responseJson['hits']['hits'][0]['_source'].containsKey("avatar");
-    if (!avatarExist) {
-      return [File(appPath.path + '/default_avatar.png')];
+    final responseJson = json.decode(response.body);
+
+    if (responseJson['hits']['hits'].toString() == '[]' ||
+        !responseJson['hits']['hits'][0]['_source'].containsKey("avatar")) {
+      return defaultAvatar(size);
     }
+
     final _avatar =
         responseJson['hits']['hits'][0]['_source']['avatar']['_content'];
 
     var avatarFile =
         File('${(await getTemporaryDirectory()).path}/avatar_$_pubkey.png');
     await avatarFile.writeAsBytes(base64.decode(_avatar));
-    isComplete = true;
 
-    return [avatarFile];
+    return Image.file(
+      avatarFile,
+      height: size,
+      fit: BoxFit.cover,
+    );
   }
 }
diff --git a/lib/models/history.dart b/lib/models/history.dart
index 0d6294d89233dad717df7d1c492438f086021de9..b72d22b33a46020e6cb92a9a3774c6541e370014 100644
--- a/lib/models/history.dart
+++ b/lib/models/history.dart
@@ -4,7 +4,7 @@ import 'package:flutter/material.dart';
 import 'package:gecko/globals.dart';
 import 'package:gecko/models/my_wallets.dart';
 import 'package:gecko/models/wallet_data.dart';
-import 'package:gecko/screens/history.dart';
+import 'package:gecko/screens/wallet_view.dart';
 import 'package:graphql_flutter/graphql_flutter.dart';
 import 'package:jdenticon_dart/jdenticon_dart.dart';
 import 'package:permission_handler/permission_handler.dart';
@@ -81,7 +81,7 @@ class HistoryProvider with ChangeNotifier {
     if (regExp.hasMatch(pubkey) == true &&
         pubkey.length > 42 &&
         pubkey.length < 45) {
-      log.d("C'est une pubkey !!!");
+      log.d("C'est une pubkey !");
 
       this.pubkey = pubkey;
       getShortPubkey(pubkey);
@@ -101,7 +101,7 @@ class HistoryProvider with ChangeNotifier {
       Navigator.push(
         context,
         MaterialPageRoute(builder: (context) {
-          return HistoryScreen();
+          return WalletViewScreen();
         }),
       );
       notifyListeners();
@@ -238,6 +238,7 @@ class HistoryProvider with ChangeNotifier {
 
   snackCopyKey(context) {
     const snackBar = SnackBar(
+        padding: EdgeInsets.all(20),
         content:
             Text("Cette clé publique a été copié dans votre presse-papier."),
         duration: Duration(seconds: 2));
diff --git a/lib/models/home.dart b/lib/models/home.dart
index 66a098cbb5c242ad736a2057606db6ae0a1e210f..1d8aacb4bbe7b06ac1211b9d5a339fd8920fb0c4 100644
--- a/lib/models/home.dart
+++ b/lib/models/home.dart
@@ -100,16 +100,6 @@ class HomeProvider with ChangeNotifier {
     return _endpoint;
   }
 
-  Future createDefaultAvatar() async {
-    File defaultAvatar = File(appPath.path + '/default_avatar.png');
-    final bool isAvatarExist = await defaultAvatar.exists();
-    if (!isAvatarExist) {
-      final byteData = await rootBundle.load('assets/icon_user.png');
-      await defaultAvatar.writeAsBytes(byteData.buffer
-          .asUint8List(byteData.offsetInBytes, byteData.lengthInBytes));
-    }
-  }
-
   T getRandomElement<T>(List<T> list) {
     final random = Random();
     var i = random.nextInt(list.length);
diff --git a/lib/screens/history.dart b/lib/screens/history.dart
index 57d275fb987e37dc096772845616a1e0db9506d8..21fe283ed840e0e47a9e78c3eb209f4403c432dd 100644
--- a/lib/screens/history.dart
+++ b/lib/screens/history.dart
@@ -1,4 +1,3 @@
-import 'dart:io';
 import 'package:flutter/services.dart';
 import 'package:gecko/globals.dart';
 import 'package:gecko/models/cesium_plus.dart';
@@ -191,40 +190,36 @@ class HistoryScreen extends StatelessWidget with ChangeNotifier {
                                         child: FutureBuilder(
                                             future:
                                                 _cesiumPlusProvider.getAvatar(
-                                                    _historyProvider.pubkey),
-                                            initialData: [
-                                              File(appPath.path +
-                                                  '/default_avatar.png')
-                                            ],
+                                                    _historyProvider.pubkey,
+                                                    55),
                                             builder: (BuildContext context,
-                                                AsyncSnapshot<List> _avatar) {
-                                              // _cesiumPlusProvider.isComplete = true;
+                                                AsyncSnapshot<Image> _avatar) {
                                               if (_avatar.connectionState !=
-                                                  ConnectionState.done) {
-                                                return Image.file(
-                                                    File(appPath.path +
-                                                        '/default_avatar.png'),
-                                                    height: avatarsSize);
-                                              }
-                                              if (_avatar.hasError) {
-                                                return Image.file(
-                                                    File(appPath.path +
-                                                        '/default_avatar.png'),
-                                                    height: avatarsSize);
+                                                      ConnectionState.done ||
+                                                  _avatar.hasError) {
+                                                return Stack(children: [
+                                                  _cesiumPlusProvider
+                                                      .defaultAvatar(55),
+                                                  Positioned(
+                                                    top: 8,
+                                                    right: 0,
+                                                    width: 12,
+                                                    height: 12,
+                                                    child:
+                                                        CircularProgressIndicator(
+                                                      strokeWidth: 1,
+                                                      color: orangeC,
+                                                    ),
+                                                  ),
+                                                ]);
                                               }
                                               if (_avatar.hasData) {
-                                                return SingleChildScrollView(
-                                                    padding:
-                                                        const EdgeInsets.all(
-                                                            0.0),
-                                                    child: Image.file(
-                                                        _avatar.data[0],
-                                                        height: avatarsSize));
+                                                return ClipOval(
+                                                  child: _avatar.data,
+                                                );
                                               }
-                                              return Image.file(
-                                                  File(appPath.path +
-                                                      '/default_avatar.png'),
-                                                  height: avatarsSize);
+                                              return _cesiumPlusProvider
+                                                  .defaultAvatar(55);
                                             }),
                                       ),
                                     GestureDetector(
@@ -448,7 +443,8 @@ class HistoryScreen extends StatelessWidget with ChangeNotifier {
                       Navigator.pop(context);
                     }),
               ),
-            if (result.isLoading)
+            if (result.isLoading &&
+                _historyProvider.pageInfo['hasPreviousPage'])
               Row(
                 mainAxisAlignment: MainAxisAlignment.center,
                 children: const <Widget>[
diff --git a/lib/screens/myWallets/wallet_options.dart b/lib/screens/myWallets/wallet_options.dart
index 1e0ca916c0271c679abd9172881d845bde807788..b3e450e0d096ccf313b24596464b02c82a1b35d9 100644
--- a/lib/screens/myWallets/wallet_options.dart
+++ b/lib/screens/myWallets/wallet_options.dart
@@ -57,357 +57,362 @@ class WalletOptions extends StatelessWidget {
     log.d("Wallet options: $currentChest:${wallet.number}");
 
     return WillPopScope(
-        onWillPop: () {
-          _walletOptions.isEditing = false;
-          _walletOptions.isBalanceBlur = true;
-          Navigator.popUntil(
-            context,
-            ModalRoute.withName('/mywallets'),
-          );
-          return Future<bool>.value(true);
-        },
-        child: Scaffold(
-          resizeToAvoidBottomInset: false,
-          appBar: AppBar(
-              toolbarHeight: 60 * ratio,
-              leading: IconButton(
-                  icon: const Icon(Icons.arrow_back, color: Colors.black),
-                  onPressed: () {
-                    _walletOptions.isEditing = false;
-                    _walletOptions.isBalanceBlur = true;
-                    Navigator.popUntil(
-                      context,
-                      ModalRoute.withName('/mywallets'),
-                    );
-                  }),
-              title: SizedBox(
-                height: 22,
-                child: Text(_walletOptions.nameController.text),
-              )),
-          body: Builder(
-            builder: (ctx) => SafeArea(
-              child: Column(children: <Widget>[
-                Container(
-                  height: isTall ? 15 : 0,
-                  color: yellowC,
-                ),
-                Container(
-                    decoration: BoxDecoration(
-                        gradient: LinearGradient(
-                      begin: Alignment.topCenter,
-                      end: Alignment.bottomCenter,
-                      colors: [
-                        yellowC,
-                        const Color(0xfffafafa),
-                      ],
-                    )),
-                    child: Row(children: <Widget>[
-                      const SizedBox(width: 25),
-                      InkWell(
-                          onTap: () async {
-                            File newAvatar =
-                                await _walletOptions.changeAvatar();
-                            if (newAvatar != null) {
-                              wallet.imageFile = newAvatar;
-                            }
-                            _walletOptions.reloadBuild();
-                          },
-                          child: wallet.imageFile == null
-                              ? Image.asset(
-                                  'assets/avatars/${wallet.imageName}',
-                                  width: 110,
-                                )
-                              : Image.file(
-                                  wallet.imageFile,
-                                  width: 110,
-                                )),
-                      InkWell(
-                          onTap: () async {
-                            File newAvatar =
-                                await _walletOptions.changeAvatar();
-                            if (newAvatar != null) {
-                              wallet.imageFile = newAvatar;
-                            }
-                            _walletOptions.reloadBuild();
-                          },
-                          child: Column(children: <Widget>[
-                            Image.asset(
-                              'assets/walletOptions/camera.png',
-                            ),
-                            const SizedBox(height: 100)
-                          ])),
-                      Column(children: <Widget>[
-                        Row(children: <Widget>[
-                          Column(children: <Widget>[
-                            SizedBox(
-                              width: 260,
-                              child: TextField(
-                                  key: const Key('walletName'),
-                                  autofocus: false,
-                                  focusNode: _walletOptions.walletNameFocus,
-                                  enabled: _walletOptions.isEditing,
-                                  controller: _walletOptions.nameController,
-                                  maxLines: _nbrLinesName,
-                                  textAlign: TextAlign.center,
-                                  decoration: const InputDecoration(
-                                    border: InputBorder.none,
-                                    focusedBorder: InputBorder.none,
-                                    enabledBorder: InputBorder.none,
-                                    disabledBorder: InputBorder.none,
-                                    contentPadding: EdgeInsets.all(15.0),
-                                  ),
-                                  style: TextStyle(
-                                      fontSize: isTall ? 27 : 23,
-                                      color: Colors.black,
-                                      fontWeight: FontWeight.w400,
-                                      fontFamily: 'Monospace')),
+      onWillPop: () {
+        _walletOptions.isEditing = false;
+        _walletOptions.isBalanceBlur = true;
+        Navigator.popUntil(
+          context,
+          ModalRoute.withName('/mywallets'),
+        );
+        return Future<bool>.value(true);
+      },
+      child: Scaffold(
+        resizeToAvoidBottomInset: false,
+        appBar: AppBar(
+            toolbarHeight: 60 * ratio,
+            leading: IconButton(
+                icon: const Icon(Icons.arrow_back, color: Colors.black),
+                onPressed: () {
+                  _walletOptions.isEditing = false;
+                  _walletOptions.isBalanceBlur = true;
+                  Navigator.popUntil(
+                    context,
+                    ModalRoute.withName('/mywallets'),
+                  );
+                }),
+            title: SizedBox(
+              height: 22,
+              child: Text(_walletOptions.nameController.text),
+            )),
+        body: Builder(
+          builder: (ctx) => SafeArea(
+            child: Column(children: <Widget>[
+              Container(
+                height: isTall ? 15 : 0,
+                color: yellowC,
+              ),
+              Container(
+                  decoration: BoxDecoration(
+                      gradient: LinearGradient(
+                    begin: Alignment.topCenter,
+                    end: Alignment.bottomCenter,
+                    colors: [
+                      yellowC,
+                      const Color(0xfffafafa),
+                    ],
+                  )),
+                  child: Row(children: <Widget>[
+                    const SizedBox(width: 25),
+                    InkWell(
+                        onTap: () async {
+                          File newAvatar = await _walletOptions.changeAvatar();
+                          if (newAvatar != null) {
+                            wallet.imageFile = newAvatar;
+                          }
+                          _walletOptions.reloadBuild();
+                        },
+                        child: wallet.imageFile == null
+                            ? Image.asset(
+                                'assets/avatars/${wallet.imageName}',
+                                width: 110,
+                              )
+                            : Image.file(
+                                wallet.imageFile,
+                                width: 110,
+                              )),
+                    InkWell(
+                        onTap: () async {
+                          File newAvatar = await _walletOptions.changeAvatar();
+                          if (newAvatar != null) {
+                            wallet.imageFile = newAvatar;
+                          }
+                          _walletOptions.reloadBuild();
+                        },
+                        child: Column(children: <Widget>[
+                          Image.asset(
+                            'assets/walletOptions/camera.png',
+                          ),
+                          const SizedBox(height: 100)
+                        ])),
+                    Column(children: <Widget>[
+                      Row(children: <Widget>[
+                        Column(children: <Widget>[
+                          SizedBox(
+                            width: 260,
+                            child: TextField(
+                                key: const Key('walletName'),
+                                autofocus: false,
+                                focusNode: _walletOptions.walletNameFocus,
+                                enabled: _walletOptions.isEditing,
+                                controller: _walletOptions.nameController,
+                                maxLines: _nbrLinesName,
+                                textAlign: TextAlign.center,
+                                decoration: const InputDecoration(
+                                  border: InputBorder.none,
+                                  focusedBorder: InputBorder.none,
+                                  enabledBorder: InputBorder.none,
+                                  disabledBorder: InputBorder.none,
+                                  contentPadding: EdgeInsets.all(15.0),
+                                ),
+                                style: TextStyle(
+                                    fontSize: isTall ? 27 : 23,
+                                    color: Colors.black,
+                                    fontWeight: FontWeight.w400,
+                                    fontFamily: 'Monospace')),
+                          ),
+                          SizedBox(height: isTall ? 5 : 0),
+                          Query(
+                            options: QueryOptions(
+                              document: gql(getBalance),
+                              variables: {
+                                'pubkey': _walletOptions.pubkey.text,
+                              },
+                              // pollInterval: Duration(seconds: 1),
                             ),
-                            SizedBox(height: isTall ? 5 : 0),
-                            Query(
-                              options: QueryOptions(
-                                document: gql(getBalance),
-                                variables: {
-                                  'pubkey': _walletOptions.pubkey.text,
-                                },
-                                // pollInterval: Duration(seconds: 1),
-                              ),
-                              builder: (QueryResult result,
-                                  {VoidCallback refetch, FetchMore fetchMore}) {
-                                if (result.hasException) {
-                                  return Text(result.exception.toString());
-                                }
+                            builder: (QueryResult result,
+                                {VoidCallback refetch, FetchMore fetchMore}) {
+                              if (result.hasException) {
+                                return Text(result.exception.toString());
+                              }
 
-                                if (result.isLoading) {
-                                  return const Text('Loading');
-                                }
+                              if (result.isLoading) {
+                                return const Text('Loading');
+                              }
 
-                                // List repositories = result.data['viewer']['repositories']['nodes'];
-                                String wBalanceUD;
-                                if (result.data['balance'] == null) {
-                                  wBalanceUD = '0.0';
-                                } else {
-                                  int wBalanceG1 =
-                                      result.data['balance']['amount'];
-                                  int currentUD =
-                                      result.data['currentUd']['amount'];
-                                  double wBalanceUDBrut =
-                                      wBalanceG1 / currentUD; // .toString();
-                                  wBalanceUD = double.parse(
-                                          (wBalanceUDBrut).toStringAsFixed(2))
-                                      .toString();
-                                }
-                                return Row(children: <Widget>[
-                                  ImageFiltered(
-                                    imageFilter: ImageFilter.blur(
-                                        sigmaX: _walletOptions.isBalanceBlur
-                                            ? 6
-                                            : 0,
-                                        sigmaY: _walletOptions.isBalanceBlur
-                                            ? 5
-                                            : 0),
-                                    child: Text(wBalanceUD,
-                                        style: TextStyle(
-                                            fontSize: isTall ? 20 : 18,
-                                            color: Colors.black)),
-                                  ),
-                                  Text(' DU',
+                              // List repositories = result.data['viewer']['repositories']['nodes'];
+                              String wBalanceUD;
+                              if (result.data['balance'] == null) {
+                                wBalanceUD = '0.0';
+                              } else {
+                                int wBalanceG1 =
+                                    result.data['balance']['amount'];
+                                int currentUD =
+                                    result.data['currentUd']['amount'];
+                                double wBalanceUDBrut =
+                                    wBalanceG1 / currentUD; // .toString();
+                                wBalanceUD = double.parse(
+                                        (wBalanceUDBrut).toStringAsFixed(2))
+                                    .toString();
+                              }
+                              return Row(children: <Widget>[
+                                ImageFiltered(
+                                  imageFilter: ImageFilter.blur(
+                                      sigmaX:
+                                          _walletOptions.isBalanceBlur ? 6 : 0,
+                                      sigmaY:
+                                          _walletOptions.isBalanceBlur ? 5 : 0),
+                                  child: Text(wBalanceUD,
                                       style: TextStyle(
                                           fontSize: isTall ? 20 : 18,
-                                          color: Colors.black))
-                                ]);
+                                          color: Colors.black)),
+                                ),
+                                Text(' DU',
+                                    style: TextStyle(
+                                        fontSize: isTall ? 20 : 18,
+                                        color: Colors.black))
+                              ]);
 
-                                // Text(
-                                //   '$wBalanceUD DU',
-                                //   style: TextStyle(
-                                //       fontSize: 20, color: Colors.black),
-                                // );
+                              // Text(
+                              //   '$wBalanceUD DU',
+                              //   style: TextStyle(
+                              //       fontSize: 20, color: Colors.black),
+                              // );
+                            },
+                          ),
+                          const SizedBox(height: 5),
+                          InkWell(
+                              key: const Key('displayBalance'),
+                              onTap: () {
+                                _walletOptions.bluringBalance();
                               },
-                            ),
-                            const SizedBox(height: 5),
-                            InkWell(
-                                key: const Key('displayBalance'),
-                                onTap: () {
-                                  _walletOptions.bluringBalance();
-                                },
-                                child: Image.asset(
-                                  _walletOptions.isBalanceBlur
-                                      ? 'assets/walletOptions/icon_oeuil.png'
-                                      : 'assets/walletOptions/icon_oeuil_close.png',
-                                )),
-                          ]),
-                          const SizedBox(width: 0),
-                          Column(children: <Widget>[
-                            InkWell(
-                                key: const Key('renameWallet'),
-                                onTap: () async {
-                                  _isNewNameValid =
-                                      _walletOptions.editWalletName(wallet.id(),
-                                          isCesium: false);
-                                  await Future.delayed(
-                                      const Duration(milliseconds: 30));
-                                  _walletOptions.walletNameFocus.requestFocus();
-                                },
-                                child: ClipRRect(
-                                  child: Image.asset(
-                                      _walletOptions.isEditing
-                                          ? 'assets/walletOptions/android-checkmark.png'
-                                          : 'assets/walletOptions/edit.png',
-                                      width: 20,
-                                      height: 20),
-                                )),
-                            const SizedBox(
-                              height: 60,
-                            )
-                          ])
+                              child: Image.asset(
+                                _walletOptions.isBalanceBlur
+                                    ? 'assets/walletOptions/icon_oeuil.png'
+                                    : 'assets/walletOptions/icon_oeuil_close.png',
+                              )),
                         ]),
+                        const SizedBox(width: 0),
+                        Column(children: <Widget>[
+                          InkWell(
+                              key: const Key('renameWallet'),
+                              onTap: () async {
+                                _isNewNameValid = _walletOptions.editWalletName(
+                                    wallet.id(),
+                                    isCesium: false);
+                                await Future.delayed(
+                                    const Duration(milliseconds: 30));
+                                _walletOptions.walletNameFocus.requestFocus();
+                              },
+                              child: ClipRRect(
+                                child: Image.asset(
+                                    _walletOptions.isEditing
+                                        ? 'assets/walletOptions/android-checkmark.png'
+                                        : 'assets/walletOptions/edit.png',
+                                    width: 20,
+                                    height: 20),
+                              )),
+                          const SizedBox(
+                            height: 60,
+                          )
+                        ])
                       ]),
-                    ])),
-                SizedBox(height: 4 * ratio),
-                FutureBuilder(
-                    future: _walletOptions
-                        .generateQRcode(_walletOptions.pubkey.text),
-                    builder: (context, snapshot) {
-                      return snapshot.data != null
-                          ? Image.memory(snapshot.data,
-                              height: isTall ? 300 : 270)
-                          : const Text('-', style: TextStyle(fontSize: 20));
-                    }),
-                SizedBox(height: 15 * ratio),
-                GestureDetector(
-                    key: const Key('copyPubkey'),
-                    onTap: () {
-                      Clipboard.setData(
-                          ClipboardData(text: _walletOptions.pubkey.text));
-                      _walletOptions.snackCopyKey(ctx);
-                    },
-                    child: SizedBox(
-                        height: 50,
-                        child: Row(children: <Widget>[
-                          const SizedBox(width: 30),
-                          Image.asset(
-                            'assets/walletOptions/key.png',
+                    ]),
+                  ])),
+              SizedBox(height: 4 * ratio),
+              FutureBuilder(
+                  future:
+                      _walletOptions.generateQRcode(_walletOptions.pubkey.text),
+                  builder: (context, snapshot) {
+                    return snapshot.data != null
+                        ? Image.memory(snapshot.data,
+                            height: isTall ? 300 : 270)
+                        : const Text('-', style: TextStyle(fontSize: 20));
+                  }),
+              SizedBox(height: 15 * ratio),
+              GestureDetector(
+                key: const Key('copyPubkey'),
+                onTap: () {
+                  Clipboard.setData(
+                      ClipboardData(text: _walletOptions.pubkey.text));
+                  _walletOptions.snackCopyKey(ctx);
+                },
+                child: SizedBox(
+                  height: 50,
+                  child: Row(children: <Widget>[
+                    const SizedBox(width: 30),
+                    Image.asset(
+                      'assets/walletOptions/key.png',
+                    ),
+                    const SizedBox(width: 20),
+                    Text("${shortPubkey.split(':')[0]}:",
+                        style: const TextStyle(
+                            fontSize: 22,
+                            fontWeight: FontWeight.w800,
+                            fontFamily: 'Monospace',
+                            color: Colors.black)),
+                    Text(shortPubkey.split(':')[1],
+                        style: const TextStyle(
+                            fontSize: 22,
+                            fontWeight: FontWeight.w800,
+                            fontFamily: 'Monospace')),
+                    const SizedBox(width: 15),
+                    SizedBox(
+                      height: 40,
+                      child: ElevatedButton(
+                        style: ElevatedButton.styleFrom(
+                          shape: RoundedRectangleBorder(
+                            borderRadius: BorderRadius.circular(8),
                           ),
-                          const SizedBox(width: 20),
-                          Text("${shortPubkey.split(':')[0]}:",
-                              style: const TextStyle(
-                                  fontSize: 22,
-                                  fontWeight: FontWeight.w800,
-                                  fontFamily: 'Monospace',
-                                  color: Colors.black)),
-                          Text(shortPubkey.split(':')[1],
-                              style: const TextStyle(
-                                  fontSize: 22,
-                                  fontWeight: FontWeight.w800,
-                                  fontFamily: 'Monospace')),
-                          const SizedBox(width: 15),
-                          SizedBox(
-                              height: 40,
-                              child: ElevatedButton(
-                                  style: ElevatedButton.styleFrom(
-                                    shape: RoundedRectangleBorder(
-                                      borderRadius: BorderRadius.circular(8),
-                                    ),
-                                    elevation: 1,
-                                    primary: orangeC, // background
-                                    onPrimary: Colors.black, // foreground
-                                  ),
-                                  onPressed: () {
-                                    Clipboard.setData(ClipboardData(
-                                        text: _walletOptions.pubkey.text));
-                                    _walletOptions.snackCopyKey(ctx);
-                                  },
-                                  child: Row(children: <Widget>[
-                                    Image.asset(
-                                      'assets/walletOptions/copy-white.png',
-                                    ),
-                                    const SizedBox(width: 7),
-                                    Text('Copier',
-                                        style: TextStyle(
-                                            fontSize: 15,
-                                            color: Colors.grey[50]))
-                                  ]))),
-                        ]))),
-                SizedBox(height: 10 * ratio),
-                InkWell(
-                    key: const Key('displayHistory'),
-                    onTap: () {
-                      _historyProvider.isPubkey(ctx, _walletOptions.pubkey.text,
-                          goHistory: true);
-                    },
-                    child: SizedBox(
-                        height: 50,
+                          elevation: 1,
+                          primary: orangeC, // background
+                          onPrimary: Colors.black, // foreground
+                        ),
+                        onPressed: () {
+                          Clipboard.setData(
+                              ClipboardData(text: _walletOptions.pubkey.text));
+                          _walletOptions.snackCopyKey(ctx);
+                        },
                         child: Row(children: <Widget>[
-                          const SizedBox(width: 30),
                           Image.asset(
-                            'assets/walletOptions/clock.png',
+                            'assets/walletOptions/copy-white.png',
                           ),
-                          const SizedBox(width: 22),
-                          const Text('Historique des transactions',
-                              style:
-                                  TextStyle(fontSize: 20, color: Colors.black)),
-                        ]))),
-                SizedBox(height: 12 * ratio),
+                          const SizedBox(width: 7),
+                          Text(
+                            'Copier',
+                            style:
+                                TextStyle(fontSize: 15, color: Colors.grey[50]),
+                          )
+                        ]),
+                      ),
+                    ),
+                  ]),
+                ),
+              ),
+              SizedBox(height: 10 * ratio),
+              InkWell(
+                key: const Key('displayHistory'),
+                onTap: () {
+                  _historyProvider.isPubkey(ctx, _walletOptions.pubkey.text,
+                      goHistory: true);
+                },
+                child: SizedBox(
+                  height: 50,
+                  child: Row(children: <Widget>[
+                    const SizedBox(width: 30),
+                    Image.asset(
+                      'assets/walletOptions/clock.png',
+                    ),
+                    const SizedBox(width: 22),
+                    const Text('Historique des transactions',
+                        style: TextStyle(fontSize: 20, color: Colors.black)),
+                  ]),
+                ),
+              ),
+              SizedBox(height: 12 * ratio),
+              InkWell(
+                key: const Key('setDefaultWallet'),
+                onTap: !_walletOptions.isDefaultWallet
+                    ? () {
+                        defaultWallet = wallet;
+                        chestBox.get(currentChest).defaultWallet =
+                            wallet.number;
+                        _myWalletProvider.readAllWallets(_currentChest);
+                        _myWalletProvider.rebuildWidget();
+                      }
+                    : null,
+                child: SizedBox(
+                  height: 50,
+                  child: Row(children: <Widget>[
+                    const SizedBox(width: 31),
+                    CircleAvatar(
+                      backgroundColor: Colors
+                          .grey[_walletOptions.isDefaultWallet ? 300 : 500],
+                      child: Image.asset(
+                        'assets/walletOptions/android-checkmark.png',
+                      ),
+                    ),
+                    const SizedBox(width: 22),
+                    Text(
+                        _walletOptions.isDefaultWallet
+                            ? 'Ce portefeuille est celui par defaut'
+                            : 'Définir comme portefeuille par défaut',
+                        style: TextStyle(
+                            fontSize: 20,
+                            color: _walletOptions.isDefaultWallet
+                                ? Colors.grey[500]
+                                : Colors.black)),
+                  ]),
+                ),
+              ),
+              SizedBox(height: 17 * ratio),
+              if (!_walletOptions.isDefaultWallet)
                 InkWell(
-                    key: const Key('setDefaultWallet'),
-                    onTap: !_walletOptions.isDefaultWallet
-                        ? () {
-                            defaultWallet = wallet;
-                            chestBox.get(currentChest).defaultWallet =
-                                wallet.number;
-                            _myWalletProvider.readAllWallets(_currentChest);
+                  key: const Key('deleteWallet'),
+                  onTap: !_walletOptions.isDefaultWallet
+                      ? () async {
+                          await _walletOptions.deleteWallet(context, wallet);
+                          WidgetsBinding.instance.addPostFrameCallback((_) {
+                            _myWalletProvider.listWallets =
+                                _myWalletProvider.readAllWallets(_currentChest);
                             _myWalletProvider.rebuildWidget();
-                          }
-                        : null,
-                    child: SizedBox(
-                        height: 50,
-                        child: Row(children: <Widget>[
-                          const SizedBox(width: 31),
-                          CircleAvatar(
-                              backgroundColor: Colors.grey[
-                                  _walletOptions.isDefaultWallet ? 300 : 500],
-                              child: Image.asset(
-                                'assets/walletOptions/android-checkmark.png',
-                              )),
-                          const SizedBox(width: 22),
-                          Text(
-                              _walletOptions.isDefaultWallet
-                                  ? 'Ce portefeuille est celui par defaut'
-                                  : 'Définir comme portefeuille par défaut',
-                              style: TextStyle(
-                                  fontSize: 20,
-                                  color: _walletOptions.isDefaultWallet
-                                      ? Colors.grey[500]
-                                      : Colors.black)),
-                        ]))),
-                SizedBox(height: 17 * ratio),
-                if (!_walletOptions.isDefaultWallet)
-                  InkWell(
-                      key: const Key('deleteWallet'),
-                      onTap: !_walletOptions.isDefaultWallet
-                          ? () async {
-                              await _walletOptions.deleteWallet(
-                                  context, wallet);
-                              WidgetsBinding.instance.addPostFrameCallback((_) {
-                                _myWalletProvider.listWallets =
-                                    _myWalletProvider
-                                        .readAllWallets(_currentChest);
-                                _myWalletProvider.rebuildWidget();
-                              });
-                            }
-                          : null,
-                      child: Row(children: <Widget>[
-                        const SizedBox(width: 33),
-                        Image.asset(
-                          'assets/walletOptions/trash.png',
-                        ),
-                        const SizedBox(width: 24),
-                        const Text('Supprimer ce portefeuille',
-                            style: TextStyle(
-                                fontSize: 20, color: Color(0xffD80000))),
-                      ])),
-              ]),
-            ),
+                          });
+                        }
+                      : null,
+                  child: Row(children: <Widget>[
+                    const SizedBox(width: 33),
+                    Image.asset(
+                      'assets/walletOptions/trash.png',
+                    ),
+                    const SizedBox(width: 24),
+                    const Text('Supprimer ce portefeuille',
+                        style:
+                            TextStyle(fontSize: 20, color: Color(0xffD80000))),
+                  ]),
+                ),
+            ]),
           ),
-        ));
+        ),
+      ),
+    );
   }
 }
diff --git a/lib/screens/search_result.dart b/lib/screens/search_result.dart
index 0be63ad35b75834e9f575434dc7948996658c857..1f09f52d8358d1af4d6b2025b0a0c796a333f50a 100644
--- a/lib/screens/search_result.dart
+++ b/lib/screens/search_result.dart
@@ -1,4 +1,3 @@
-import 'dart:io';
 import 'package:flutter/services.dart';
 import 'package:gecko/globals.dart';
 import 'package:flutter/material.dart';
@@ -20,11 +19,8 @@ class SearchResultScreen extends StatelessWidget {
     HistoryProvider _historyClass =
         Provider.of<HistoryProvider>(context, listen: false);
 
-    // int nbrResult = 0;
     int keyID = 0;
-    const double avatarsSize = 50;
-
-    // _searchProvider.searchPubkey();
+    double _avatarSize = 55;
 
     return Scaffold(
       appBar: AppBar(
@@ -37,113 +33,117 @@ class SearchResultScreen extends StatelessWidget {
       body: SafeArea(
         child: Padding(
           padding: const EdgeInsets.symmetric(horizontal: 20),
-          child:
-              Column(crossAxisAlignment: CrossAxisAlignment.start, children: <
-                  Widget>[
-            const SizedBox(height: 30),
-            RichText(
-              text: TextSpan(
-                style: TextStyle(
-                  fontSize: 18,
-                  color: Colors.grey[700],
-                ),
-                children: <TextSpan>[
-                  const TextSpan(
-                    text: "Résultats pour ",
+          child: Column(
+              crossAxisAlignment: CrossAxisAlignment.start,
+              children: <Widget>[
+                const SizedBox(height: 30),
+                RichText(
+                  text: TextSpan(
+                    style: TextStyle(
+                      fontSize: 18,
+                      color: Colors.grey[700],
+                    ),
+                    children: <TextSpan>[
+                      const TextSpan(
+                        text: "Résultats pour ",
+                      ),
+                      TextSpan(
+                        text: '"${_searchProvider.searchController.text}"',
+                        style: const TextStyle(fontStyle: FontStyle.italic),
+                      ),
+                    ],
                   ),
-                  TextSpan(
-                    text: '"${_searchProvider.searchController.text}"',
-                    style: const TextStyle(fontStyle: FontStyle.italic),
-                  ),
-                ],
-              ),
-            ),
-            const SizedBox(height: 40),
-            const Text(
-              'Dans la blockchain Äž1',
-              style: TextStyle(fontSize: 20),
-            ),
-            const SizedBox(height: 20),
-            FutureBuilder(
-              future: _searchProvider.searchBlockchain(),
-              // initialData: const [],
-              builder: (context, snapshot) {
-                if (snapshot.connectionState == ConnectionState.done) {
-                  return Expanded(
-                    child: ListView(children: <Widget>[
-                      for (G1WalletsList g1Wallet in snapshot.data)
-                        Padding(
-                          padding: const EdgeInsets.symmetric(horizontal: 5),
-                          child: ListTile(
-                              key: Key('searchResult${keyID++}'),
-                              contentPadding: const EdgeInsets.all(5),
-                              leading: FutureBuilder(
-                                  future: _cesiumPlusProvider
-                                      .getAvatar(g1Wallet.pubkey),
-                                  initialData: [
-                                    File(appPath.path + '/default_avatar.png')
-                                  ],
-                                  builder: (BuildContext context,
-                                      AsyncSnapshot<List> _avatar) {
-                                    if (_avatar.connectionState !=
-                                        ConnectionState.done) {
-                                      return Image.file(
-                                          File(appPath.path +
-                                              '/default_avatar.png'),
-                                          height: avatarsSize);
-                                    }
-                                    if (_avatar.hasError) {
-                                      return Image.file(
-                                          File(appPath.path +
-                                              '/default_avatar.png'),
-                                          height: avatarsSize);
-                                    }
-                                    if (_avatar.hasData) {
-                                      return SingleChildScrollView(
-                                          padding: const EdgeInsets.all(0.0),
-                                          child: Image.file(_avatar.data.single,
-                                              height: avatarsSize));
-                                    }
-                                    return Image.file(
-                                        File(appPath.path +
-                                            '/default_avatar.png'),
-                                        height: avatarsSize);
+                ),
+                const SizedBox(height: 40),
+                const Text(
+                  'Dans la blockchain Äž1',
+                  style: TextStyle(fontSize: 20),
+                ),
+                const SizedBox(height: 20),
+                FutureBuilder(
+                  future: _searchProvider.searchBlockchain(),
+                  builder: (context, snapshot) {
+                    if (snapshot.connectionState == ConnectionState.done) {
+                      return Expanded(
+                        child: ListView(children: <Widget>[
+                          for (G1WalletsList g1Wallet in snapshot.data)
+                            Padding(
+                              padding:
+                                  const EdgeInsets.symmetric(horizontal: 5),
+                              child: ListTile(
+                                  key: Key('searchResult${keyID++}'),
+                                  horizontalTitleGap: 40,
+                                  contentPadding: const EdgeInsets.all(5),
+                                  leading: FutureBuilder(
+                                      future: _cesiumPlusProvider.getAvatar(
+                                          g1Wallet.pubkey, _avatarSize),
+                                      builder: (BuildContext context,
+                                          AsyncSnapshot<Image> _avatar) {
+                                        if (_avatar.connectionState !=
+                                                ConnectionState.done ||
+                                            _avatar.hasError) {
+                                          return Stack(children: [
+                                            _cesiumPlusProvider
+                                                .defaultAvatar(_avatarSize),
+                                            Positioned(
+                                              top: 8,
+                                              right: 0,
+                                              width: 12,
+                                              height: 12,
+                                              child: CircularProgressIndicator(
+                                                strokeWidth: 1,
+                                                color: orangeC,
+                                              ),
+                                            ),
+                                          ]);
+                                        }
+                                        if (_avatar.hasData) {
+                                          return ClipOval(child: _avatar.data);
+                                        }
+                                        return _cesiumPlusProvider
+                                            .defaultAvatar(_avatarSize);
+                                      }),
+                                  title: Row(children: <Widget>[
+                                    Text(
+                                        _historyClass
+                                            .getShortPubkey(g1Wallet.pubkey),
+                                        style: const TextStyle(
+                                            fontSize: 18,
+                                            fontFamily: 'Monospace',
+                                            fontWeight: FontWeight.w500),
+                                        textAlign: TextAlign.center),
+                                  ]),
+                                  subtitle: Row(children: <Widget>[
+                                    Text(g1Wallet?.id?.username ?? '',
+                                        style: const TextStyle(
+                                            fontSize: 18,
+                                            fontWeight: FontWeight.w500),
+                                        textAlign: TextAlign.center),
+                                  ]),
+                                  dense: false,
+                                  isThreeLine: false,
+                                  onTap: () {
+                                    _historyClass.isPubkey(
+                                        context, g1Wallet.pubkey);
                                   }),
-                              title: Text(
-                                  _historyClass.getShortPubkey(g1Wallet.pubkey),
-                                  style: const TextStyle(
-                                      fontSize: 15.0, fontFamily: 'Monospace'),
-                                  textAlign: TextAlign.center),
-                              subtitle: Text(g1Wallet?.id?.username ?? '',
-                                  style: const TextStyle(fontSize: 12.0),
-                                  textAlign: TextAlign.center),
-                              trailing: Text("${g1Wallet.balance} Äž1",
-                                  style: const TextStyle(fontSize: 14.0),
-                                  textAlign: TextAlign.justify),
-                              dense: false,
-                              isThreeLine: false,
-                              onTap: () {
-                                _historyClass.isPubkey(
-                                    context, g1Wallet.pubkey);
-                              }),
-                        ),
-                    ]),
-                  );
-                }
-                return Center(
-                  heightFactor: 5,
-                  child: CircularProgressIndicator(
-                    strokeWidth: 3,
-                    backgroundColor: yellowC,
-                    color: orangeC,
-                  ),
-                );
-              },
-            ),
-            // Text(
-            //   _searchProvider.searchResult.toString(),
-            // )
-          ]),
+                            ),
+                        ]),
+                      );
+                    }
+                    return Center(
+                      heightFactor: 5,
+                      child: CircularProgressIndicator(
+                        strokeWidth: 3,
+                        backgroundColor: yellowC,
+                        color: orangeC,
+                      ),
+                    );
+                  },
+                ),
+                // Text(
+                //   _searchProvider.searchResult.toString(),
+                // )
+              ]),
         ),
       ),
     );
diff --git a/lib/screens/wallet_view.dart b/lib/screens/wallet_view.dart
new file mode 100644
index 0000000000000000000000000000000000000000..8d3961e44b1ddc4918a98957966c9cfc0b22ff2a
--- /dev/null
+++ b/lib/screens/wallet_view.dart
@@ -0,0 +1,228 @@
+import 'dart:ui';
+
+import 'package:flutter/services.dart';
+import 'package:gecko/globals.dart';
+import 'package:flutter/material.dart';
+import 'package:gecko/models/cesium_plus.dart';
+import 'package:gecko/models/history.dart';
+import 'package:provider/provider.dart';
+// import 'package:gecko/models/home.dart';
+// import 'package:provider/provider.dart';
+
+// ignore: must_be_immutable
+class WalletViewScreen extends StatelessWidget {
+  TextEditingController tplController = TextEditingController();
+
+  WalletViewScreen({Key key}) : super(key: key);
+
+  @override
+  Widget build(BuildContext context) {
+    SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
+    HistoryProvider _historyProvider = Provider.of<HistoryProvider>(context);
+    CesiumPlusProvider _cesiumPlusProvider =
+        Provider.of<CesiumPlusProvider>(context);
+    double _avatarSize = 150;
+
+    return Scaffold(
+        appBar: AppBar(
+            elevation: 0,
+            toolbarHeight: 60 * ratio,
+            title: const SizedBox(
+              height: 22,
+              child: Text('Voir un portefeuille'),
+            )),
+        body: SafeArea(
+          child: Column(children: <Widget>[
+            Container(
+              height: isTall ? 30 : 10,
+              color: yellowC,
+            ),
+            Container(
+              decoration: BoxDecoration(
+                  gradient: LinearGradient(
+                begin: Alignment.topCenter,
+                end: Alignment.bottomCenter,
+                colors: [
+                  yellowC,
+                  const Color(0xFFE7811A),
+                ],
+              )),
+              child: Padding(
+                padding: const EdgeInsets.symmetric(horizontal: 30),
+                child: Row(children: <Widget>[
+                  Column(
+                      crossAxisAlignment: CrossAxisAlignment.start,
+                      children: <Widget>[
+                        GestureDetector(
+                          key: const Key('copyPubkey'),
+                          onTap: () {
+                            Clipboard.setData(
+                                ClipboardData(text: _historyProvider.pubkey));
+                            _historyProvider.snackCopyKey(context);
+                          },
+                          child: Text(
+                            _historyProvider
+                                .getShortPubkey(_historyProvider.pubkey),
+                            style: const TextStyle(
+                              fontSize: 30,
+                              fontWeight: FontWeight.w800,
+                            ),
+                          ),
+                        ),
+                        const SizedBox(height: 15),
+                        FutureBuilder(
+                            future: _cesiumPlusProvider
+                                .getName(_historyProvider.pubkey),
+                            initialData: '...',
+                            builder: (context, snapshot) {
+                              return SizedBox(
+                                width: 230,
+                                child: Text(
+                                  snapshot.data ?? '-',
+                                  style: const TextStyle(
+                                      fontSize: 20, color: Color(0xff814C00)),
+                                ),
+                              );
+                            }),
+                        const SizedBox(height: 30),
+                      ]),
+                  const Spacer(),
+                  Column(children: <Widget>[
+                    FutureBuilder(
+                        future: _cesiumPlusProvider.getAvatar(
+                            _historyProvider.pubkey, _avatarSize),
+                        builder: (BuildContext context,
+                            AsyncSnapshot<Image> _avatar) {
+                          if (_avatar.connectionState != ConnectionState.done ||
+                              _avatar.hasError) {
+                            return Stack(children: [
+                              ClipOval(
+                                child: _cesiumPlusProvider
+                                    .defaultAvatar(_avatarSize),
+                              ),
+                              Positioned(
+                                top: 16.5,
+                                right: 47.5,
+                                width: 55,
+                                height: 55,
+                                child: CircularProgressIndicator(
+                                  strokeWidth: 6,
+                                  color: orangeC,
+                                ),
+                              ),
+                            ]);
+                          }
+                          if (_avatar.hasData) {
+                            return ClipOval(
+                              child: _avatar.data,
+                            );
+                          }
+                          return ClipOval(
+                            child:
+                                _cesiumPlusProvider.defaultAvatar(_avatarSize),
+                          );
+                        }),
+                    const SizedBox(height: 30),
+                  ]),
+                ]),
+              ),
+            ),
+            SizedBox(height: isTall ? 60 : 30),
+            Row(mainAxisAlignment: MainAxisAlignment.spaceAround, children: [
+              Column(children: <Widget>[
+                SizedBox(
+                  height: 120,
+                  child: ClipOval(
+                    child: Material(
+                      color: const Color(0xffFFD58D), // button color
+                      child: InkWell(
+                          key: const Key('viewHistory'),
+                          splashColor: orangeC, // inkwell color
+                          child: const Padding(
+                              padding: EdgeInsets.all(15),
+                              child: Image(
+                                  image: AssetImage(
+                                      'assets/walletOptions/clock.png'),
+                                  height: 90)),
+                          onTap: () {
+                            null;
+                          }),
+                    ),
+                  ),
+                ),
+                const SizedBox(height: 9),
+                const Text(
+                  "Voir\nl'historique",
+                  textAlign: TextAlign.center,
+                  style: TextStyle(fontSize: 20, fontWeight: FontWeight.w500),
+                ),
+              ]),
+              Column(children: <Widget>[
+                SizedBox(
+                  height: 120,
+                  child: ClipOval(
+                    child: Material(
+                      color: const Color(0xffFFD58D), // button color
+                      child: InkWell(
+                          key: const Key('copyKey'),
+                          splashColor: orangeC, // inkwell color
+                          child: const Padding(
+                              padding: EdgeInsets.all(20),
+                              child: Image(
+                                  image: AssetImage('assets/copy_key.png'),
+                                  height: 90)),
+                          onTap: () {
+                            Clipboard.setData(
+                                ClipboardData(text: _historyProvider.pubkey));
+                            _historyProvider.snackCopyKey(context);
+                          }),
+                    ),
+                  ),
+                ),
+                const SizedBox(height: 9),
+                const Text(
+                  "Copier\nla clef",
+                  textAlign: TextAlign.center,
+                  style: TextStyle(fontSize: 20, fontWeight: FontWeight.w500),
+                ),
+              ]),
+            ]),
+            const Spacer(),
+            Container(
+              height: 120,
+              decoration: BoxDecoration(
+                color: const Color(0xff7c94b6),
+                borderRadius: const BorderRadius.all(Radius.circular(100)),
+                border: Border.all(
+                  color: const Color(0xFF6c4204),
+                  width: 4,
+                ),
+              ),
+              child: ClipOval(
+                child: Material(
+                  color: orangeC, // button color
+                  child: InkWell(
+                      key: const Key('pay'),
+                      splashColor: yellowC, // inkwell color
+                      child: const Padding(
+                          padding: EdgeInsets.all(16),
+                          child: Image(
+                            image: AssetImage('assets/vector_white.png'),
+                          )),
+                      onTap: () {
+                        null;
+                      }),
+                ),
+              ),
+            ),
+            const SizedBox(height: 9),
+            const Text(
+              "Faire un\nvirement",
+              textAlign: TextAlign.center,
+              style: TextStyle(fontSize: 20, fontWeight: FontWeight.w500),
+            ),
+            SizedBox(height: isTall ? 100 : 50)
+          ]),
+        ));
+  }
+}
diff --git a/pubspec.yaml b/pubspec.yaml
index b8c469294aed3ea680637d6c04b45e198a9ad82a..452286235b4bf7dd25d0b83520224511708e31e0 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -5,13 +5,16 @@ description: Pay with G1.
 # pub.dev using `pub publish`. This is preferred for private packages.
 publish_to: 'none' # Remove this line if you wish to publish to pub.dev
 
-version: 0.0.3+7
+version: 0.0.3+8
 
 environment:
   sdk: ">=2.7.0 <3.0.0"
 
 dependencies:
+  assorted_layout_widgets: ^5.2.1
   bubble: ^1.2.1
+  carousel_slider: ^4.0.0
+  confirm_dialog: ^1.0.0
   crypto: ^3.0.1
   dubp:
     path: packages/dubp_rs
@@ -21,6 +24,7 @@ dependencies:
   flutter_driver:
     sdk: flutter
   flutter_launcher_icons: ^0.9.2
+  flutter_lints: ^1.0.4
   flutter_logs: ^2.1.4
   flutter_svg: ^0.22.0
   graphql_flutter: ^5.0.0
@@ -29,6 +33,7 @@ dependencies:
   http: ^0.13.4
   image_gallery_saver: ^1.6.9
   image_picker: ^0.8.4
+  infinite_scroll_pagination: ^3.1.0
   intl: ^0.17.0
   jdenticon_dart: ^2.0.0
   logger: ^1.1.0
@@ -38,7 +43,7 @@ dependencies:
   permission_handler: 8.1.6
   pin_code_fields: ^7.3.0
   printing: ^5.6.0
-  provider: ^6.0.0
+  provider: ^6.0.1
   qrscan: ^0.3.2
   responsive_builder: ^0.4.1
   responsive_framework: ^0.1.4
@@ -48,16 +53,9 @@ dependencies:
   super_tooltip: ^1.0.1
   sync_http: ^0.3.0
   test: ^1.17.10
-  # test_api: ^0.4.7
-  # test: ^1.19.3
   truncate: ^3.0.1
   unorm_dart: ^0.2.0
   xml: ^5.3.0
-  assorted_layout_widgets: ^5.2.1
-  carousel_slider: ^4.0.0
-  flutter_lints: ^1.0.4
-  confirm_dialog: ^1.0.0
-  infinite_scroll_pagination: ^3.1.0
 
 flutter_icons:
   android: "ic_launcher"
@@ -66,12 +64,12 @@ flutter_icons:
   cupertino_icons: ^1.0.0
 
 dev_dependencies:
+  build_runner: ^2.1.2
   flutter_test:
     sdk: flutter
+  hive_generator: ^1.1.1
   integration_test:
     sdk: flutter
-  hive_generator: ^1.1.1
-  build_runner: ^2.1.2
 
 # The following section is specific to Flutter.
 flutter:
diff --git a/scripts/build-apk.sh b/scripts/build-apk.sh
index 86a0ac3b6fde253f524e09a8ae3f78616fbfdca5..368a81e14220acabc0b8536c7cdbe42301485f72 100755
--- a/scripts/build-apk.sh
+++ b/scripts/build-apk.sh
@@ -20,8 +20,8 @@ if [[ $1 == "bundle" ]]; then
 	flutter build appbundle --release --target-platform android-arm,android-arm64 --build-name $VERSION --build-number $BUILD
 else
 #	flutter build apk --release --split-per-abi --target-platform android-arm,android-arm64 --build-name $VERSION --build-number $BUILD
-#	flutter build apk --release --split-per-abi --build-name $VERSION --build-number $BUILD
-	flutter build apk --release --build-name $VERSION --build-number $BUILD
+	flutter build apk --release --split-per-abi --build-name $VERSION --build-number $BUILD
+#	flutter build apk --release --build-name $VERSION --build-number $BUILD
 fi
 
 if [[ -d $HOME/Téléchargements ]]; then