diff --git a/lib/models/bip39_words.dart b/lib/models/bip39_words.dart
new file mode 100644
index 0000000000000000000000000000000000000000..0d76b6a8076170387b0323e2e123d46c363025c9
--- /dev/null
+++ b/lib/models/bip39_words.dart
@@ -0,0 +1,2050 @@
+List<String> bip39Words = [
+  'abaisser',
+  'abandon',
+  'abdiquer',
+  'abeille',
+  'abolir',
+  'aborder',
+  'aboutir',
+  'aboyer',
+  'abrasif',
+  'abreuver',
+  'abriter',
+  'abroger',
+  'abrupt',
+  'absence',
+  'absolu',
+  'absurde',
+  'abusif',
+  'abyssal',
+  'académie',
+  'acajou',
+  'acarien',
+  'accabler',
+  'accepter',
+  'acclamer',
+  'accolade',
+  'accroche',
+  'accuser',
+  'acerbe',
+  'achat',
+  'acheter',
+  'aciduler',
+  'acier',
+  'acompte',
+  'acquérir',
+  'acronyme',
+  'acteur',
+  'actif',
+  'actuel',
+  'adepte',
+  'adéquat',
+  'adhésif',
+  'adjectif',
+  'adjuger',
+  'admettre',
+  'admirer',
+  'adopter',
+  'adorer',
+  'adoucir',
+  'adresse',
+  'adroit',
+  'adulte',
+  'adverbe',
+  'aérer',
+  'aéronef',
+  'affaire',
+  'affecter',
+  'affiche',
+  'affreux',
+  'affubler',
+  'agacer',
+  'agencer',
+  'agile',
+  'agiter',
+  'agrafer',
+  'agréable',
+  'agrume',
+  'aider',
+  'aiguille',
+  'ailier',
+  'aimable',
+  'aisance',
+  'ajouter',
+  'ajuster',
+  'alarmer',
+  'alchimie',
+  'alerte',
+  'algèbre',
+  'algue',
+  'aliéner',
+  'aliment',
+  'alléger',
+  'alliage',
+  'allouer',
+  'allumer',
+  'alourdir',
+  'alpaga',
+  'altesse',
+  'alvéole',
+  'amateur',
+  'ambigu',
+  'ambre',
+  'aménager',
+  'amertume',
+  'amidon',
+  'amiral',
+  'amorcer',
+  'amour',
+  'amovible',
+  'amphibie',
+  'ampleur',
+  'amusant',
+  'analyse',
+  'anaphore',
+  'anarchie',
+  'anatomie',
+  'ancien',
+  'anéantir',
+  'angle',
+  'angoisse',
+  'anguleux',
+  'animal',
+  'annexer',
+  'annonce',
+  'annuel',
+  'anodin',
+  'anomalie',
+  'anonyme',
+  'anormal',
+  'antenne',
+  'antidote',
+  'anxieux',
+  'apaiser',
+  'apéritif',
+  'aplanir',
+  'apologie',
+  'appareil',
+  'appeler',
+  'apporter',
+  'appuyer',
+  'aquarium',
+  'aqueduc',
+  'arbitre',
+  'arbuste',
+  'ardeur',
+  'ardoise',
+  'argent',
+  'arlequin',
+  'armature',
+  'armement',
+  'armoire',
+  'armure',
+  'arpenter',
+  'arracher',
+  'arriver',
+  'arroser',
+  'arsenic',
+  'artériel',
+  'article',
+  'aspect',
+  'asphalte',
+  'aspirer',
+  'assaut',
+  'asservir',
+  'assiette',
+  'associer',
+  'assurer',
+  'asticot',
+  'astre',
+  'astuce',
+  'atelier',
+  'atome',
+  'atrium',
+  'atroce',
+  'attaque',
+  'attentif',
+  'attirer',
+  'attraper',
+  'aubaine',
+  'auberge',
+  'audace',
+  'audible',
+  'augurer',
+  'aurore',
+  'automne',
+  'autruche',
+  'avaler',
+  'avancer',
+  'avarice',
+  'avenir',
+  'averse',
+  'aveugle',
+  'aviateur',
+  'avide',
+  'avion',
+  'aviser',
+  'avoine',
+  'avouer',
+  'avril',
+  'axial',
+  'axiome',
+  'badge',
+  'bafouer',
+  'bagage',
+  'baguette',
+  'baignade',
+  'balancer',
+  'balcon',
+  'baleine',
+  'balisage',
+  'bambin',
+  'bancaire',
+  'bandage',
+  'banlieue',
+  'bannière',
+  'banquier',
+  'barbier',
+  'baril',
+  'baron',
+  'barque',
+  'barrage',
+  'bassin',
+  'bastion',
+  'bataille',
+  'bateau',
+  'batterie',
+  'baudrier',
+  'bavarder',
+  'belette',
+  'bélier',
+  'belote',
+  'bénéfice',
+  'berceau',
+  'berger',
+  'berline',
+  'bermuda',
+  'besace',
+  'besogne',
+  'bétail',
+  'beurre',
+  'biberon',
+  'bicycle',
+  'bidule',
+  'bijou',
+  'bilan',
+  'bilingue',
+  'billard',
+  'binaire',
+  'biologie',
+  'biopsie',
+  'biotype',
+  'biscuit',
+  'bison',
+  'bistouri',
+  'bitume',
+  'bizarre',
+  'blafard',
+  'blague',
+  'blanchir',
+  'blessant',
+  'blinder',
+  'blond',
+  'bloquer',
+  'blouson',
+  'bobard',
+  'bobine',
+  'boire',
+  'boiser',
+  'bolide',
+  'bonbon',
+  'bondir',
+  'bonheur',
+  'bonifier',
+  'bonus',
+  'bordure',
+  'borne',
+  'botte',
+  'boucle',
+  'boueux',
+  'bougie',
+  'boulon',
+  'bouquin',
+  'bourse',
+  'boussole',
+  'boutique',
+  'boxeur',
+  'branche',
+  'brasier',
+  'brave',
+  'brebis',
+  'brèche',
+  'breuvage',
+  'bricoler',
+  'brigade',
+  'brillant',
+  'brioche',
+  'brique',
+  'brochure',
+  'broder',
+  'bronzer',
+  'brousse',
+  'broyeur',
+  'brume',
+  'brusque',
+  'brutal',
+  'bruyant',
+  'buffle',
+  'buisson',
+  'bulletin',
+  'bureau',
+  'burin',
+  'bustier',
+  'butiner',
+  'butoir',
+  'buvable',
+  'buvette',
+  'cabanon',
+  'cabine',
+  'cachette',
+  'cadeau',
+  'cadre',
+  'caféine',
+  'caillou',
+  'caisson',
+  'calculer',
+  'calepin',
+  'calibre',
+  'calmer',
+  'calomnie',
+  'calvaire',
+  'camarade',
+  'caméra',
+  'camion',
+  'campagne',
+  'canal',
+  'caneton',
+  'canon',
+  'cantine',
+  'canular',
+  'capable',
+  'caporal',
+  'caprice',
+  'capsule',
+  'capter',
+  'capuche',
+  'carabine',
+  'carbone',
+  'caresser',
+  'caribou',
+  'carnage',
+  'carotte',
+  'carreau',
+  'carton',
+  'cascade',
+  'casier',
+  'casque',
+  'cassure',
+  'causer',
+  'caution',
+  'cavalier',
+  'caverne',
+  'caviar',
+  'cédille',
+  'ceinture',
+  'céleste',
+  'cellule',
+  'cendrier',
+  'censurer',
+  'central',
+  'cercle',
+  'cérébral',
+  'cerise',
+  'cerner',
+  'cerveau',
+  'cesser',
+  'chagrin',
+  'chaise',
+  'chaleur',
+  'chambre',
+  'chance',
+  'chapitre',
+  'charbon',
+  'chasseur',
+  'chaton',
+  'chausson',
+  'chavirer',
+  'chemise',
+  'chenille',
+  'chéquier',
+  'chercher',
+  'cheval',
+  'chien',
+  'chiffre',
+  'chignon',
+  'chimère',
+  'chiot',
+  'chlorure',
+  'chocolat',
+  'choisir',
+  'chose',
+  'chouette',
+  'chrome',
+  'chute',
+  'cigare',
+  'cigogne',
+  'cimenter',
+  'cinéma',
+  'cintrer',
+  'circuler',
+  'cirer',
+  'cirque',
+  'citerne',
+  'citoyen',
+  'citron',
+  'civil',
+  'clairon',
+  'clameur',
+  'claquer',
+  'classe',
+  'clavier',
+  'client',
+  'cligner',
+  'climat',
+  'clivage',
+  'cloche',
+  'clonage',
+  'cloporte',
+  'cobalt',
+  'cobra',
+  'cocasse',
+  'cocotier',
+  'coder',
+  'codifier',
+  'coffre',
+  'cogner',
+  'cohésion',
+  'coiffer',
+  'coincer',
+  'colère',
+  'colibri',
+  'colline',
+  'colmater',
+  'colonel',
+  'combat',
+  'comédie',
+  'commande',
+  'compact',
+  'concert',
+  'conduire',
+  'confier',
+  'congeler',
+  'connoter',
+  'consonne',
+  'contact',
+  'convexe',
+  'copain',
+  'copie',
+  'corail',
+  'corbeau',
+  'cordage',
+  'corniche',
+  'corpus',
+  'correct',
+  'cortège',
+  'cosmique',
+  'costume',
+  'coton',
+  'coude',
+  'coupure',
+  'courage',
+  'couteau',
+  'couvrir',
+  'coyote',
+  'crabe',
+  'crainte',
+  'cravate',
+  'crayon',
+  'créature',
+  'créditer',
+  'crémeux',
+  'creuser',
+  'crevette',
+  'cribler',
+  'crier',
+  'cristal',
+  'critère',
+  'croire',
+  'croquer',
+  'crotale',
+  'crucial',
+  'cruel',
+  'crypter',
+  'cubique',
+  'cueillir',
+  'cuillère',
+  'cuisine',
+  'cuivre',
+  'culminer',
+  'cultiver',
+  'cumuler',
+  'cupide',
+  'curatif',
+  'curseur',
+  'cyanure',
+  'cycle',
+  'cylindre',
+  'cynique',
+  'daigner',
+  'damier',
+  'danger',
+  'danseur',
+  'dauphin',
+  'débattre',
+  'débiter',
+  'déborder',
+  'débrider',
+  'débutant',
+  'décaler',
+  'décembre',
+  'déchirer',
+  'décider',
+  'déclarer',
+  'décorer',
+  'décrire',
+  'décupler',
+  'dédale',
+  'déductif',
+  'déesse',
+  'défensif',
+  'défiler',
+  'défrayer',
+  'dégager',
+  'dégivrer',
+  'déglutir',
+  'dégrafer',
+  'déjeuner',
+  'délice',
+  'déloger',
+  'demander',
+  'demeurer',
+  'démolir',
+  'dénicher',
+  'dénouer',
+  'dentelle',
+  'dénuder',
+  'départ',
+  'dépenser',
+  'déphaser',
+  'déplacer',
+  'déposer',
+  'déranger',
+  'dérober',
+  'désastre',
+  'descente',
+  'désert',
+  'désigner',
+  'désobéir',
+  'dessiner',
+  'destrier',
+  'détacher',
+  'détester',
+  'détourer',
+  'détresse',
+  'devancer',
+  'devenir',
+  'deviner',
+  'devoir',
+  'diable',
+  'dialogue',
+  'diamant',
+  'dicter',
+  'différer',
+  'digérer',
+  'digital',
+  'digne',
+  'diluer',
+  'dimanche',
+  'diminuer',
+  'dioxyde',
+  'directif',
+  'diriger',
+  'discuter',
+  'disposer',
+  'dissiper',
+  'distance',
+  'divertir',
+  'diviser',
+  'docile',
+  'docteur',
+  'dogme',
+  'doigt',
+  'domaine',
+  'domicile',
+  'dompter',
+  'donateur',
+  'donjon',
+  'donner',
+  'dopamine',
+  'dortoir',
+  'dorure',
+  'dosage',
+  'doseur',
+  'dossier',
+  'dotation',
+  'douanier',
+  'double',
+  'douceur',
+  'douter',
+  'doyen',
+  'dragon',
+  'draper',
+  'dresser',
+  'dribbler',
+  'droiture',
+  'duperie',
+  'duplexe',
+  'durable',
+  'durcir',
+  'dynastie',
+  'éblouir',
+  'écarter',
+  'écharpe',
+  'échelle',
+  'éclairer',
+  'éclipse',
+  'éclore',
+  'écluse',
+  'école',
+  'économie',
+  'écorce',
+  'écouter',
+  'écraser',
+  'écrémer',
+  'écrivain',
+  'écrou',
+  'écume',
+  'écureuil',
+  'édifier',
+  'éduquer',
+  'effacer',
+  'effectif',
+  'effigie',
+  'effort',
+  'effrayer',
+  'effusion',
+  'égaliser',
+  'égarer',
+  'éjecter',
+  'élaborer',
+  'élargir',
+  'électron',
+  'élégant',
+  'éléphant',
+  'élève',
+  'éligible',
+  'élitisme',
+  'éloge',
+  'élucider',
+  'éluder',
+  'emballer',
+  'embellir',
+  'embryon',
+  'émeraude',
+  'émission',
+  'emmener',
+  'émotion',
+  'émouvoir',
+  'empereur',
+  'employer',
+  'emporter',
+  'emprise',
+  'émulsion',
+  'encadrer',
+  'enchère',
+  'enclave',
+  'encoche',
+  'endiguer',
+  'endosser',
+  'endroit',
+  'enduire',
+  'énergie',
+  'enfance',
+  'enfermer',
+  'enfouir',
+  'engager',
+  'engin',
+  'englober',
+  'énigme',
+  'enjamber',
+  'enjeu',
+  'enlever',
+  'ennemi',
+  'ennuyeux',
+  'enrichir',
+  'enrobage',
+  'enseigne',
+  'entasser',
+  'entendre',
+  'entier',
+  'entourer',
+  'entraver',
+  'énumérer',
+  'envahir',
+  'enviable',
+  'envoyer',
+  'enzyme',
+  'éolien',
+  'épaissir',
+  'épargne',
+  'épatant',
+  'épaule',
+  'épicerie',
+  'épidémie',
+  'épier',
+  'épilogue',
+  'épine',
+  'épisode',
+  'épitaphe',
+  'époque',
+  'épreuve',
+  'éprouver',
+  'épuisant',
+  'équerre',
+  'équipe',
+  'ériger',
+  'érosion',
+  'erreur',
+  'éruption',
+  'escalier',
+  'espadon',
+  'espèce',
+  'espiègle',
+  'espoir',
+  'esprit',
+  'esquiver',
+  'essayer',
+  'essence',
+  'essieu',
+  'essorer',
+  'estime',
+  'estomac',
+  'estrade',
+  'étagère',
+  'étaler',
+  'étanche',
+  'étatique',
+  'éteindre',
+  'étendoir',
+  'éternel',
+  'éthanol',
+  'éthique',
+  'ethnie',
+  'étirer',
+  'étoffer',
+  'étoile',
+  'étonnant',
+  'étourdir',
+  'étrange',
+  'étroit',
+  'étude',
+  'euphorie',
+  'évaluer',
+  'évasion',
+  'éventail',
+  'évidence',
+  'éviter',
+  'évolutif',
+  'évoquer',
+  'exact',
+  'exagérer',
+  'exaucer',
+  'exceller',
+  'excitant',
+  'exclusif',
+  'excuse',
+  'exécuter',
+  'exemple',
+  'exercer',
+  'exhaler',
+  'exhorter',
+  'exigence',
+  'exiler',
+  'exister',
+  'exotique',
+  'expédier',
+  'explorer',
+  'exposer',
+  'exprimer',
+  'exquis',
+  'extensif',
+  'extraire',
+  'exulter',
+  'fable',
+  'fabuleux',
+  'facette',
+  'facile',
+  'facture',
+  'faiblir',
+  'falaise',
+  'fameux',
+  'famille',
+  'farceur',
+  'farfelu',
+  'farine',
+  'farouche',
+  'fasciner',
+  'fatal',
+  'fatigue',
+  'faucon',
+  'fautif',
+  'faveur',
+  'favori',
+  'fébrile',
+  'féconder',
+  'fédérer',
+  'félin',
+  'femme',
+  'fémur',
+  'fendoir',
+  'féodal',
+  'fermer',
+  'féroce',
+  'ferveur',
+  'festival',
+  'feuille',
+  'feutre',
+  'février',
+  'fiasco',
+  'ficeler',
+  'fictif',
+  'fidèle',
+  'figure',
+  'filature',
+  'filetage',
+  'filière',
+  'filleul',
+  'filmer',
+  'filou',
+  'filtrer',
+  'financer',
+  'finir',
+  'fiole',
+  'firme',
+  'fissure',
+  'fixer',
+  'flairer',
+  'flamme',
+  'flasque',
+  'flatteur',
+  'fléau',
+  'flèche',
+  'fleur',
+  'flexion',
+  'flocon',
+  'flore',
+  'fluctuer',
+  'fluide',
+  'fluvial',
+  'folie',
+  'fonderie',
+  'fongible',
+  'fontaine',
+  'forcer',
+  'forgeron',
+  'formuler',
+  'fortune',
+  'fossile',
+  'foudre',
+  'fougère',
+  'fouiller',
+  'foulure',
+  'fourmi',
+  'fragile',
+  'fraise',
+  'franchir',
+  'frapper',
+  'frayeur',
+  'frégate',
+  'freiner',
+  'frelon',
+  'frémir',
+  'frénésie',
+  'frère',
+  'friable',
+  'friction',
+  'frisson',
+  'frivole',
+  'froid',
+  'fromage',
+  'frontal',
+  'frotter',
+  'fruit',
+  'fugitif',
+  'fuite',
+  'fureur',
+  'furieux',
+  'furtif',
+  'fusion',
+  'futur',
+  'gagner',
+  'galaxie',
+  'galerie',
+  'gambader',
+  'garantir',
+  'gardien',
+  'garnir',
+  'garrigue',
+  'gazelle',
+  'gazon',
+  'géant',
+  'gélatine',
+  'gélule',
+  'gendarme',
+  'général',
+  'génie',
+  'genou',
+  'gentil',
+  'géologie',
+  'géomètre',
+  'géranium',
+  'germe',
+  'gestuel',
+  'geyser',
+  'gibier',
+  'gicler',
+  'girafe',
+  'givre',
+  'glace',
+  'glaive',
+  'glisser',
+  'globe',
+  'gloire',
+  'glorieux',
+  'golfeur',
+  'gomme',
+  'gonfler',
+  'gorge',
+  'gorille',
+  'goudron',
+  'gouffre',
+  'goulot',
+  'goupille',
+  'gourmand',
+  'goutte',
+  'graduel',
+  'graffiti',
+  'graine',
+  'grand',
+  'grappin',
+  'gratuit',
+  'gravir',
+  'grenat',
+  'griffure',
+  'griller',
+  'grimper',
+  'grogner',
+  'gronder',
+  'grotte',
+  'groupe',
+  'gruger',
+  'grutier',
+  'gruyère',
+  'guépard',
+  'guerrier',
+  'guide',
+  'guimauve',
+  'guitare',
+  'gustatif',
+  'gymnaste',
+  'gyrostat',
+  'habitude',
+  'hachoir',
+  'halte',
+  'hameau',
+  'hangar',
+  'hanneton',
+  'haricot',
+  'harmonie',
+  'harpon',
+  'hasard',
+  'hélium',
+  'hématome',
+  'herbe',
+  'hérisson',
+  'hermine',
+  'héron',
+  'hésiter',
+  'heureux',
+  'hiberner',
+  'hibou',
+  'hilarant',
+  'histoire',
+  'hiver',
+  'homard',
+  'hommage',
+  'homogène',
+  'honneur',
+  'honorer',
+  'honteux',
+  'horde',
+  'horizon',
+  'horloge',
+  'hormone',
+  'horrible',
+  'houleux',
+  'housse',
+  'hublot',
+  'huileux',
+  'humain',
+  'humble',
+  'humide',
+  'humour',
+  'hurler',
+  'hydromel',
+  'hygiène',
+  'hymne',
+  'hypnose',
+  'idylle',
+  'ignorer',
+  'iguane',
+  'illicite',
+  'illusion',
+  'image',
+  'imbiber',
+  'imiter',
+  'immense',
+  'immobile',
+  'immuable',
+  'impact',
+  'impérial',
+  'implorer',
+  'imposer',
+  'imprimer',
+  'imputer',
+  'incarner',
+  'incendie',
+  'incident',
+  'incliner',
+  'incolore',
+  'indexer',
+  'indice',
+  'inductif',
+  'inédit',
+  'ineptie',
+  'inexact',
+  'infini',
+  'infliger',
+  'informer',
+  'infusion',
+  'ingérer',
+  'inhaler',
+  'inhiber',
+  'injecter',
+  'injure',
+  'innocent',
+  'inoculer',
+  'inonder',
+  'inscrire',
+  'insecte',
+  'insigne',
+  'insolite',
+  'inspirer',
+  'instinct',
+  'insulter',
+  'intact',
+  'intense',
+  'intime',
+  'intrigue',
+  'intuitif',
+  'inutile',
+  'invasion',
+  'inventer',
+  'inviter',
+  'invoquer',
+  'ironique',
+  'irradier',
+  'irréel',
+  'irriter',
+  'isoler',
+  'ivoire',
+  'ivresse',
+  'jaguar',
+  'jaillir',
+  'jambe',
+  'janvier',
+  'jardin',
+  'jauger',
+  'jaune',
+  'javelot',
+  'jetable',
+  'jeton',
+  'jeudi',
+  'jeunesse',
+  'joindre',
+  'joncher',
+  'jongler',
+  'joueur',
+  'jouissif',
+  'journal',
+  'jovial',
+  'joyau',
+  'joyeux',
+  'jubiler',
+  'jugement',
+  'junior',
+  'jupon',
+  'juriste',
+  'justice',
+  'juteux',
+  'juvénile',
+  'kayak',
+  'kimono',
+  'kiosque',
+  'label',
+  'labial',
+  'labourer',
+  'lacérer',
+  'lactose',
+  'lagune',
+  'laine',
+  'laisser',
+  'laitier',
+  'lambeau',
+  'lamelle',
+  'lampe',
+  'lanceur',
+  'langage',
+  'lanterne',
+  'lapin',
+  'largeur',
+  'larme',
+  'laurier',
+  'lavabo',
+  'lavoir',
+  'lecture',
+  'légal',
+  'léger',
+  'légume',
+  'lessive',
+  'lettre',
+  'levier',
+  'lexique',
+  'lézard',
+  'liasse',
+  'libérer',
+  'libre',
+  'licence',
+  'licorne',
+  'liège',
+  'lièvre',
+  'ligature',
+  'ligoter',
+  'ligue',
+  'limer',
+  'limite',
+  'limonade',
+  'limpide',
+  'linéaire',
+  'lingot',
+  'lionceau',
+  'liquide',
+  'lisière',
+  'lister',
+  'lithium',
+  'litige',
+  'littoral',
+  'livreur',
+  'logique',
+  'lointain',
+  'loisir',
+  'lombric',
+  'loterie',
+  'louer',
+  'lourd',
+  'loutre',
+  'louve',
+  'loyal',
+  'lubie',
+  'lucide',
+  'lucratif',
+  'lueur',
+  'lugubre',
+  'luisant',
+  'lumière',
+  'lunaire',
+  'lundi',
+  'luron',
+  'lutter',
+  'luxueux',
+  'machine',
+  'magasin',
+  'magenta',
+  'magique',
+  'maigre',
+  'maillon',
+  'maintien',
+  'mairie',
+  'maison',
+  'majorer',
+  'malaxer',
+  'maléfice',
+  'malheur',
+  'malice',
+  'mallette',
+  'mammouth',
+  'mandater',
+  'maniable',
+  'manquant',
+  'manteau',
+  'manuel',
+  'marathon',
+  'marbre',
+  'marchand',
+  'mardi',
+  'maritime',
+  'marqueur',
+  'marron',
+  'marteler',
+  'mascotte',
+  'massif',
+  'matériel',
+  'matière',
+  'matraque',
+  'maudire',
+  'maussade',
+  'mauve',
+  'maximal',
+  'méchant',
+  'méconnu',
+  'médaille',
+  'médecin',
+  'méditer',
+  'méduse',
+  'meilleur',
+  'mélange',
+  'mélodie',
+  'membre',
+  'mémoire',
+  'menacer',
+  'mener',
+  'menhir',
+  'mensonge',
+  'mentor',
+  'mercredi',
+  'mérite',
+  'merle',
+  'messager',
+  'mesure',
+  'métal',
+  'météore',
+  'méthode',
+  'métier',
+  'meuble',
+  'miauler',
+  'microbe',
+  'miette',
+  'mignon',
+  'migrer',
+  'milieu',
+  'million',
+  'mimique',
+  'mince',
+  'minéral',
+  'minimal',
+  'minorer',
+  'minute',
+  'miracle',
+  'miroiter',
+  'missile',
+  'mixte',
+  'mobile',
+  'moderne',
+  'moelleux',
+  'mondial',
+  'moniteur',
+  'monnaie',
+  'monotone',
+  'monstre',
+  'montagne',
+  'monument',
+  'moqueur',
+  'morceau',
+  'morsure',
+  'mortier',
+  'moteur',
+  'motif',
+  'mouche',
+  'moufle',
+  'moulin',
+  'mousson',
+  'mouton',
+  'mouvant',
+  'multiple',
+  'munition',
+  'muraille',
+  'murène',
+  'murmure',
+  'muscle',
+  'muséum',
+  'musicien',
+  'mutation',
+  'muter',
+  'mutuel',
+  'myriade',
+  'myrtille',
+  'mystère',
+  'mythique',
+  'nageur',
+  'nappe',
+  'narquois',
+  'narrer',
+  'natation',
+  'nation',
+  'nature',
+  'naufrage',
+  'nautique',
+  'navire',
+  'nébuleux',
+  'nectar',
+  'néfaste',
+  'négation',
+  'négliger',
+  'négocier',
+  'neige',
+  'nerveux',
+  'nettoyer',
+  'neurone',
+  'neutron',
+  'neveu',
+  'niche',
+  'nickel',
+  'nitrate',
+  'niveau',
+  'noble',
+  'nocif',
+  'nocturne',
+  'noirceur',
+  'noisette',
+  'nomade',
+  'nombreux',
+  'nommer',
+  'normatif',
+  'notable',
+  'notifier',
+  'notoire',
+  'nourrir',
+  'nouveau',
+  'novateur',
+  'novembre',
+  'novice',
+  'nuage',
+  'nuancer',
+  'nuire',
+  'nuisible',
+  'numéro',
+  'nuptial',
+  'nuque',
+  'nutritif',
+  'obéir',
+  'objectif',
+  'obliger',
+  'obscur',
+  'observer',
+  'obstacle',
+  'obtenir',
+  'obturer',
+  'occasion',
+  'occuper',
+  'océan',
+  'octobre',
+  'octroyer',
+  'octupler',
+  'oculaire',
+  'odeur',
+  'odorant',
+  'offenser',
+  'officier',
+  'offrir',
+  'ogive',
+  'oiseau',
+  'oisillon',
+  'olfactif',
+  'olivier',
+  'ombrage',
+  'omettre',
+  'onctueux',
+  'onduler',
+  'onéreux',
+  'onirique',
+  'opale',
+  'opaque',
+  'opérer',
+  'opinion',
+  'opportun',
+  'opprimer',
+  'opter',
+  'optique',
+  'orageux',
+  'orange',
+  'orbite',
+  'ordonner',
+  'oreille',
+  'organe',
+  'orgueil',
+  'orifice',
+  'ornement',
+  'orque',
+  'ortie',
+  'osciller',
+  'osmose',
+  'ossature',
+  'otarie',
+  'ouragan',
+  'ourson',
+  'outil',
+  'outrager',
+  'ouvrage',
+  'ovation',
+  'oxyde',
+  'oxygène',
+  'ozone',
+  'paisible',
+  'palace',
+  'palmarès',
+  'palourde',
+  'palper',
+  'panache',
+  'panda',
+  'pangolin',
+  'paniquer',
+  'panneau',
+  'panorama',
+  'pantalon',
+  'papaye',
+  'papier',
+  'papoter',
+  'papyrus',
+  'paradoxe',
+  'parcelle',
+  'paresse',
+  'parfumer',
+  'parler',
+  'parole',
+  'parrain',
+  'parsemer',
+  'partager',
+  'parure',
+  'parvenir',
+  'passion',
+  'pastèque',
+  'paternel',
+  'patience',
+  'patron',
+  'pavillon',
+  'pavoiser',
+  'payer',
+  'paysage',
+  'peigne',
+  'peintre',
+  'pelage',
+  'pélican',
+  'pelle',
+  'pelouse',
+  'peluche',
+  'pendule',
+  'pénétrer',
+  'pénible',
+  'pensif',
+  'pénurie',
+  'pépite',
+  'péplum',
+  'perdrix',
+  'perforer',
+  'période',
+  'permuter',
+  'perplexe',
+  'persil',
+  'perte',
+  'peser',
+  'pétale',
+  'petit',
+  'pétrir',
+  'peuple',
+  'pharaon',
+  'phobie',
+  'phoque',
+  'photon',
+  'phrase',
+  'physique',
+  'piano',
+  'pictural',
+  'pièce',
+  'pierre',
+  'pieuvre',
+  'pilote',
+  'pinceau',
+  'pipette',
+  'piquer',
+  'pirogue',
+  'piscine',
+  'piston',
+  'pivoter',
+  'pixel',
+  'pizza',
+  'placard',
+  'plafond',
+  'plaisir',
+  'planer',
+  'plaque',
+  'plastron',
+  'plateau',
+  'pleurer',
+  'plexus',
+  'pliage',
+  'plomb',
+  'plonger',
+  'pluie',
+  'plumage',
+  'pochette',
+  'poésie',
+  'poète',
+  'pointe',
+  'poirier',
+  'poisson',
+  'poivre',
+  'polaire',
+  'policier',
+  'pollen',
+  'polygone',
+  'pommade',
+  'pompier',
+  'ponctuel',
+  'pondérer',
+  'poney',
+  'portique',
+  'position',
+  'posséder',
+  'posture',
+  'potager',
+  'poteau',
+  'potion',
+  'pouce',
+  'poulain',
+  'poumon',
+  'pourpre',
+  'poussin',
+  'pouvoir',
+  'prairie',
+  'pratique',
+  'précieux',
+  'prédire',
+  'préfixe',
+  'prélude',
+  'prénom',
+  'présence',
+  'prétexte',
+  'prévoir',
+  'primitif',
+  'prince',
+  'prison',
+  'priver',
+  'problème',
+  'procéder',
+  'prodige',
+  'profond',
+  'progrès',
+  'proie',
+  'projeter',
+  'prologue',
+  'promener',
+  'propre',
+  'prospère',
+  'protéger',
+  'prouesse',
+  'proverbe',
+  'prudence',
+  'pruneau',
+  'psychose',
+  'public',
+  'puceron',
+  'puiser',
+  'pulpe',
+  'pulsar',
+  'punaise',
+  'punitif',
+  'pupitre',
+  'purifier',
+  'puzzle',
+  'pyramide',
+  'quasar',
+  'querelle',
+  'question',
+  'quiétude',
+  'quitter',
+  'quotient',
+  'racine',
+  'raconter',
+  'radieux',
+  'ragondin',
+  'raideur',
+  'raisin',
+  'ralentir',
+  'rallonge',
+  'ramasser',
+  'rapide',
+  'rasage',
+  'ratisser',
+  'ravager',
+  'ravin',
+  'rayonner',
+  'réactif',
+  'réagir',
+  'réaliser',
+  'réanimer',
+  'recevoir',
+  'réciter',
+  'réclamer',
+  'récolter',
+  'recruter',
+  'reculer',
+  'recycler',
+  'rédiger',
+  'redouter',
+  'refaire',
+  'réflexe',
+  'réformer',
+  'refrain',
+  'refuge',
+  'régalien',
+  'région',
+  'réglage',
+  'régulier',
+  'réitérer',
+  'rejeter',
+  'rejouer',
+  'relatif',
+  'relever',
+  'relief',
+  'remarque',
+  'remède',
+  'remise',
+  'remonter',
+  'remplir',
+  'remuer',
+  'renard',
+  'renfort',
+  'renifler',
+  'renoncer',
+  'rentrer',
+  'renvoi',
+  'replier',
+  'reporter',
+  'reprise',
+  'reptile',
+  'requin',
+  'réserve',
+  'résineux',
+  'résoudre',
+  'respect',
+  'rester',
+  'résultat',
+  'rétablir',
+  'retenir',
+  'réticule',
+  'retomber',
+  'retracer',
+  'réunion',
+  'réussir',
+  'revanche',
+  'revivre',
+  'révolte',
+  'révulsif',
+  'richesse',
+  'rideau',
+  'rieur',
+  'rigide',
+  'rigoler',
+  'rincer',
+  'riposter',
+  'risible',
+  'risque',
+  'rituel',
+  'rival',
+  'rivière',
+  'rocheux',
+  'romance',
+  'rompre',
+  'ronce',
+  'rondin',
+  'roseau',
+  'rosier',
+  'rotatif',
+  'rotor',
+  'rotule',
+  'rouge',
+  'rouille',
+  'rouleau',
+  'routine',
+  'royaume',
+  'ruban',
+  'rubis',
+  'ruche',
+  'ruelle',
+  'rugueux',
+  'ruiner',
+  'ruisseau',
+  'ruser',
+  'rustique',
+  'rythme',
+  'sabler',
+  'saboter',
+  'sabre',
+  'sacoche',
+  'safari',
+  'sagesse',
+  'saisir',
+  'salade',
+  'salive',
+  'salon',
+  'saluer',
+  'samedi',
+  'sanction',
+  'sanglier',
+  'sarcasme',
+  'sardine',
+  'saturer',
+  'saugrenu',
+  'saumon',
+  'sauter',
+  'sauvage',
+  'savant',
+  'savonner',
+  'scalpel',
+  'scandale',
+  'scélérat',
+  'scénario',
+  'sceptre',
+  'schéma',
+  'science',
+  'scinder',
+  'score',
+  'scrutin',
+  'sculpter',
+  'séance',
+  'sécable',
+  'sécher',
+  'secouer',
+  'sécréter',
+  'sédatif',
+  'séduire',
+  'seigneur',
+  'séjour',
+  'sélectif',
+  'semaine',
+  'sembler',
+  'semence',
+  'séminal',
+  'sénateur',
+  'sensible',
+  'sentence',
+  'séparer',
+  'séquence',
+  'serein',
+  'sergent',
+  'sérieux',
+  'serrure',
+  'sérum',
+  'service',
+  'sésame',
+  'sévir',
+  'sevrage',
+  'sextuple',
+  'sidéral',
+  'siècle',
+  'siéger',
+  'siffler',
+  'sigle',
+  'signal',
+  'silence',
+  'silicium',
+  'simple',
+  'sincère',
+  'sinistre',
+  'siphon',
+  'sirop',
+  'sismique',
+  'situer',
+  'skier',
+  'social',
+  'socle',
+  'sodium',
+  'soigneux',
+  'soldat',
+  'soleil',
+  'solitude',
+  'soluble',
+  'sombre',
+  'sommeil',
+  'somnoler',
+  'sonde',
+  'songeur',
+  'sonnette',
+  'sonore',
+  'sorcier',
+  'sortir',
+  'sosie',
+  'sottise',
+  'soucieux',
+  'soudure',
+  'souffle',
+  'soulever',
+  'soupape',
+  'source',
+  'soutirer',
+  'souvenir',
+  'spacieux',
+  'spatial',
+  'spécial',
+  'sphère',
+  'spiral',
+  'stable',
+  'station',
+  'sternum',
+  'stimulus',
+  'stipuler',
+  'strict',
+  'studieux',
+  'stupeur',
+  'styliste',
+  'sublime',
+  'substrat',
+  'subtil',
+  'subvenir',
+  'succès',
+  'sucre',
+  'suffixe',
+  'suggérer',
+  'suiveur',
+  'sulfate',
+  'superbe',
+  'supplier',
+  'surface',
+  'suricate',
+  'surmener',
+  'surprise',
+  'sursaut',
+  'survie',
+  'suspect',
+  'syllabe',
+  'symbole',
+  'symétrie',
+  'synapse',
+  'syntaxe',
+  'système',
+  'tabac',
+  'tablier',
+  'tactile',
+  'tailler',
+  'talent',
+  'talisman',
+  'talonner',
+  'tambour',
+  'tamiser',
+  'tangible',
+  'tapis',
+  'taquiner',
+  'tarder',
+  'tarif',
+  'tartine',
+  'tasse',
+  'tatami',
+  'tatouage',
+  'taupe',
+  'taureau',
+  'taxer',
+  'témoin',
+  'temporel',
+  'tenaille',
+  'tendre',
+  'teneur',
+  'tenir',
+  'tension',
+  'terminer',
+  'terne',
+  'terrible',
+  'tétine',
+  'texte',
+  'thème',
+  'théorie',
+  'thérapie',
+  'thorax',
+  'tibia',
+  'tiède',
+  'timide',
+  'tirelire',
+  'tiroir',
+  'tissu',
+  'titane',
+  'titre',
+  'tituber',
+  'toboggan',
+  'tolérant',
+  'tomate',
+  'tonique',
+  'tonneau',
+  'toponyme',
+  'torche',
+  'tordre',
+  'tornade',
+  'torpille',
+  'torrent',
+  'torse',
+  'tortue',
+  'totem',
+  'toucher',
+  'tournage',
+  'tousser',
+  'toxine',
+  'traction',
+  'trafic',
+  'tragique',
+  'trahir',
+  'train',
+  'trancher',
+  'travail',
+  'trèfle',
+  'tremper',
+  'trésor',
+  'treuil',
+  'triage',
+  'tribunal',
+  'tricoter',
+  'trilogie',
+  'triomphe',
+  'tripler',
+  'triturer',
+  'trivial',
+  'trombone',
+  'tronc',
+  'tropical',
+  'troupeau',
+  'tuile',
+  'tulipe',
+  'tumulte',
+  'tunnel',
+  'turbine',
+  'tuteur',
+  'tutoyer',
+  'tuyau',
+  'tympan',
+  'typhon',
+  'typique',
+  'tyran',
+  'ubuesque',
+  'ultime',
+  'ultrason',
+  'unanime',
+  'unifier',
+  'union',
+  'unique',
+  'unitaire',
+  'univers',
+  'uranium',
+  'urbain',
+  'urticant',
+  'usage',
+  'usine',
+  'usuel',
+  'usure',
+  'utile',
+  'utopie',
+  'vacarme',
+  'vaccin',
+  'vagabond',
+  'vague',
+  'vaillant',
+  'vaincre',
+  'vaisseau',
+  'valable',
+  'valise',
+  'vallon',
+  'valve',
+  'vampire',
+  'vanille',
+  'vapeur',
+  'varier',
+  'vaseux',
+  'vassal',
+  'vaste',
+  'vecteur',
+  'vedette',
+  'végétal',
+  'véhicule',
+  'veinard',
+  'véloce',
+  'vendredi',
+  'vénérer',
+  'venger',
+  'venimeux',
+  'ventouse',
+  'verdure',
+  'vérin',
+  'vernir',
+  'verrou',
+  'verser',
+  'vertu',
+  'veston',
+  'vétéran',
+  'vétuste',
+  'vexant',
+  'vexer',
+  'viaduc',
+  'viande',
+  'victoire',
+  'vidange',
+  'vidéo',
+  'vignette',
+  'vigueur',
+  'vilain',
+  'village',
+  'vinaigre',
+  'violon',
+  'vipère',
+  'virement',
+  'virtuose',
+  'virus',
+  'visage',
+  'viseur',
+  'vision',
+  'visqueux',
+  'visuel',
+  'vital',
+  'vitesse',
+  'viticole',
+  'vitrine',
+  'vivace',
+  'vivipare',
+  'vocation',
+  'voguer',
+  'voile',
+  'voisin',
+  'voiture',
+  'volaille',
+  'volcan',
+  'voltiger',
+  'volume',
+  'vorace',
+  'vortex',
+  'voter',
+  'vouloir',
+  'voyage',
+  'voyelle',
+  'wagon',
+  'xénon',
+  'yacht',
+  'zèbre',
+  'zénith',
+  'zeste',
+  'zoologie'
+];
diff --git a/lib/models/generate_wallets.dart b/lib/models/generate_wallets.dart
index 1266dfc2ad2d3c90daf6e590af94d5b2cbf54ac0..2e32fa4f3910b98788b47e43eaff770760e4959f 100644
--- a/lib/models/generate_wallets.dart
+++ b/lib/models/generate_wallets.dart
@@ -5,6 +5,7 @@ import 'package:flutter/foundation.dart';
 import 'package:flutter/material.dart';
 import 'package:flutter/services.dart';
 import 'package:gecko/globals.dart';
+import 'package:gecko/models/bip39_words.dart';
 import 'package:gecko/models/chest_data.dart';
 import 'package:gecko/models/wallet_data.dart';
 import 'package:pdf/pdf.dart';
@@ -39,6 +40,21 @@ class GenerateWalletsProvider with ChangeNotifier {
   bool canImport = false;
   bool isPinChanged = false;
 
+  // Import Chest
+  TextEditingController cellController0 = TextEditingController();
+  TextEditingController cellController1 = TextEditingController();
+  TextEditingController cellController2 = TextEditingController();
+  TextEditingController cellController3 = TextEditingController();
+  TextEditingController cellController4 = TextEditingController();
+  TextEditingController cellController5 = TextEditingController();
+  TextEditingController cellController6 = TextEditingController();
+  TextEditingController cellController7 = TextEditingController();
+  TextEditingController cellController8 = TextEditingController();
+  TextEditingController cellController9 = TextEditingController();
+  TextEditingController cellController10 = TextEditingController();
+  TextEditingController cellController11 = TextEditingController();
+  bool isFirstTimeSentenceComplete = true;
+
   Future storeHDWChest(
       NewWallet _wallet, String _name, BuildContext context) async {
     int chestNumber = 0;
@@ -140,7 +156,7 @@ class GenerateWalletsProvider with ChangeNotifier {
   Future<String> generateMnemonic() async {
     try {
       generatedMnemonic = await DubpRust.genMnemonic(language: Language.french);
-      actualWallet = await generateWallet(generatedMnemonic);
+      actualWallet = await generateWallet(generatedMnemonic, isImport: false);
       walletIsGenerated = true;
     } catch (e) {
       log.e(e);
@@ -148,7 +164,8 @@ class GenerateWalletsProvider with ChangeNotifier {
     return generatedMnemonic;
   }
 
-  Future<NewWallet> generateWallet(generatedMnemonic) async {
+  Future<NewWallet> generateWallet(String generatedMnemonic,
+      {@required bool isImport}) async {
     try {
       actualWallet = await DubpRust.genWalletFromMnemonic(
         language: Language.french,
@@ -159,8 +176,10 @@ class GenerateWalletsProvider with ChangeNotifier {
       log.e(e);
     }
 
-    mnemonicController.text = generatedMnemonic;
-    pin.text = actualWallet.pin;
+    if (!isImport) {
+      mnemonicController.text = generatedMnemonic;
+      pin.text = actualWallet.pin;
+    }
     // notifyListeners();
 
     return actualWallet;
@@ -288,15 +307,9 @@ class GenerateWalletsProvider with ChangeNotifier {
     notifyListeners();
   }
 
-  void resetImportView() {
-    cesiumID.text = '';
-    cesiumPWD.text = '';
-    cesiumPubkey.text = '';
-    pin.text = '';
-    canImport = false;
-    isPinChanged = false;
-    isCesiumIDVisible = false;
-    isCesiumPWDVisible = false;
+  void resetCesiumImportView() {
+    cesiumID.text = cesiumPWD.text = cesiumPubkey.text = pin.text = '';
+    canImport = isPinChanged = isCesiumIDVisible = isCesiumPWDVisible = false;
     actualWallet = null;
     notifyListeners();
   }
@@ -315,6 +328,78 @@ class GenerateWalletsProvider with ChangeNotifier {
     return _wordsList;
   }
 
+  bool isBipWord(String word) {
+    notifyListeners();
+    return bip39Words.contains(word);
+  }
+
+  bool isBipWordsList(List words) {
+    bool isValid = true;
+    for (String word in words) {
+      if (!bip39Words.contains(word)) {
+        isValid = false;
+      }
+    }
+    return isValid;
+  }
+
+  void resetImportView() {
+    cellController0.text = cellController1.text = cellController2.text =
+        cellController3.text = cellController4.text = cellController5.text =
+            cellController6.text = cellController7.text = cellController8.text =
+                cellController9.text =
+                    cellController10.text = cellController11.text = '';
+    isFirstTimeSentenceComplete = true;
+    notifyListeners();
+  }
+
+  bool isSentenceComplete(BuildContext context) {
+    if (isBipWordsList(
+      [
+        cellController0.text,
+        cellController1.text,
+        cellController2.text,
+        cellController3.text,
+        cellController4.text,
+        cellController5.text,
+        cellController6.text,
+        cellController7.text,
+        cellController8.text,
+        cellController9.text,
+        cellController10.text,
+        cellController11.text
+      ],
+    )) {
+      if (isFirstTimeSentenceComplete) {
+        FocusScope.of(context).unfocus();
+      }
+      isFirstTimeSentenceComplete = false;
+      return true;
+    } else {
+      return false;
+    }
+  }
+
+  Future<bool> isSentenceValid() async {
+    String inputMnemonic =
+        '${cellController0.text} ${cellController1.text} ${cellController2.text} ${cellController3.text} ${cellController4.text} ${cellController5.text} ${cellController6.text} ${cellController7.text} ${cellController8.text} ${cellController9.text} ${cellController10.text} ${cellController11.text}';
+    //TODO: Fix bad accent management
+
+    // inputMnemonic = inputMnemonic.replaceAll('é', 'eM-LM-^A');
+    // inputMnemonic = inputMnemonic.replaceAll('è', 'eM-LM-^@');
+
+    NewWallet generatedWallet =
+        await generateWallet(inputMnemonic, isImport: true);
+
+    log.d(inputMnemonic);
+
+    if (generatedWallet == null) {
+      return false;
+    } else {
+      return true;
+    }
+  }
+
   void reloadBuild() {
     notifyListeners();
   }
diff --git a/lib/models/my_wallets.dart b/lib/models/my_wallets.dart
index 69531080779ec5a18b3d7694ed19b0e95833635c..3edd56b710d3818d30ac8f87ecc78912fe50ef08 100644
--- a/lib/models/my_wallets.dart
+++ b/lib/models/my_wallets.dart
@@ -71,6 +71,7 @@ class MyWalletsProvider with ChangeNotifier {
         await walletBox.clear();
         await chestBox.clear();
         await configBox.delete('defaultWallet');
+        rebuildWidget();
 
         Navigator.pop(context);
       }
diff --git a/lib/screens/home.dart b/lib/screens/home.dart
index 57cd70e6c214b6542316bd073bd9b7ef2d95157f..f50503535fb3aaaad7500ad1234795c035225eaf 100644
--- a/lib/screens/home.dart
+++ b/lib/screens/home.dart
@@ -7,6 +7,7 @@ import 'package:flutter/material.dart';
 import 'package:gecko/models/home.dart';
 import 'package:gecko/models/my_wallets.dart';
 import 'package:gecko/models/wallet_data.dart';
+import 'package:gecko/screens/myWallets/restore_chest.dart';
 import 'package:gecko/screens/myWallets/unlocking_wallet.dart';
 import 'package:gecko/screens/onBoarding/1.dart';
 import 'dart:ui';
@@ -484,7 +485,14 @@ Widget welcomeHome(context) {
                     style: OutlinedButton.styleFrom(
                         side: BorderSide(width: 4, color: orangeC)),
                     onPressed: () {
-                      Navigator.push(context, null);
+                      Navigator.push(
+                        context,
+                        MaterialPageRoute(
+                          builder: (context) {
+                            return const RestoreChest();
+                          },
+                        ),
+                      );
                     },
                     child: Text(
                       "Restaurer mes portefeuilles",
diff --git a/lib/screens/myWallets/change_pin.dart b/lib/screens/myWallets/change_pin.dart
index 25ba873f5e9c93b29331f870064d49ed4a2d17ed..49a9b7466b0e302b8ce4e10a4b02710c7610c8d2 100644
--- a/lib/screens/myWallets/change_pin.dart
+++ b/lib/screens/myWallets/change_pin.dart
@@ -34,17 +34,18 @@ class ChangePinScreen extends StatelessWidget with ChangeNotifier {
       child: Scaffold(
         resizeToAvoidBottomInset: false,
         appBar: AppBar(
-            toolbarHeight: 60 * ratio,
-            leading: IconButton(
-                icon: const Icon(Icons.arrow_back, color: Colors.black),
-                onPressed: () {
-                  _changePin.newPin.text = '';
-                  Navigator.of(context).pop();
-                }),
-            title: SizedBox(
-              height: 22,
-              child: Text(walletName),
-            )),
+          toolbarHeight: 60 * ratio,
+          leading: IconButton(
+              icon: const Icon(Icons.arrow_back, color: Colors.black),
+              onPressed: () {
+                _changePin.newPin.text = '';
+                Navigator.of(context).pop();
+              }),
+          title: SizedBox(
+            height: 22,
+            child: Text(walletName),
+          ),
+        ),
         body: Center(
           child: SafeArea(
             child: Column(children: <Widget>[
diff --git a/lib/screens/myWallets/import_wallet.dart b/lib/screens/myWallets/import_cesium_wallet.dart
similarity index 97%
rename from lib/screens/myWallets/import_wallet.dart
rename to lib/screens/myWallets/import_cesium_wallet.dart
index 5a86fc82d4ef2f906f92653b1bf079fe2672822a..84e2fea97990f0610b2c9e995d262e933bb77179 100644
--- a/lib/screens/myWallets/import_wallet.dart
+++ b/lib/screens/myWallets/import_cesium_wallet.dart
@@ -24,7 +24,7 @@ class ImportWalletScreen extends StatelessWidget {
 
     return WillPopScope(
         onWillPop: () {
-          _generateWalletProvider.resetImportView();
+          _generateWalletProvider.resetCesiumImportView();
           return Future<bool>.value(true);
         },
         child: Scaffold(
@@ -33,7 +33,7 @@ class ImportWalletScreen extends StatelessWidget {
                 leading: IconButton(
                     icon: const Icon(Icons.arrow_back, color: Colors.black),
                     onPressed: () {
-                      _generateWalletProvider.resetImportView();
+                      _generateWalletProvider.resetCesiumImportView();
                       Navigator.of(context).pop();
                     }),
                 title: const SizedBox(
@@ -171,7 +171,8 @@ class ImportWalletScreen extends StatelessWidget {
                                         .importCesiumWallet()
                                         .then((value) {
                                       _myWalletProvider.rebuildWidget();
-                                      _generateWalletProvider.resetImportView();
+                                      _generateWalletProvider
+                                          .resetCesiumImportView();
                                       Navigator.popUntil(
                                         context,
                                         ModalRoute.withName('/'),
diff --git a/lib/screens/myWallets/restore_chest.dart b/lib/screens/myWallets/restore_chest.dart
new file mode 100644
index 0000000000000000000000000000000000000000..9ae3d98889f7e29de22614013ba946fddf1c694d
--- /dev/null
+++ b/lib/screens/myWallets/restore_chest.dart
@@ -0,0 +1,182 @@
+import 'package:bubble/bubble.dart';
+import 'package:flutter/services.dart';
+import 'package:gecko/globals.dart';
+import 'package:flutter/material.dart';
+import 'package:gecko/models/generate_wallets.dart';
+import 'package:gecko/screens/common_elements.dart';
+import 'package:gecko/screens/onBoarding/11.dart';
+import 'package:provider/provider.dart';
+// import 'package:gecko/models/home.dart';
+// import 'package:provider/provider.dart';
+
+class RestoreChest extends StatelessWidget {
+  const RestoreChest({Key key}) : super(key: key);
+
+  @override
+  Widget build(BuildContext context) {
+    SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
+    GenerateWalletsProvider generateWalletProvider =
+        Provider.of<GenerateWalletsProvider>(context, listen: false);
+
+    return WillPopScope(
+      onWillPop: () {
+        generateWalletProvider.resetImportView();
+        return Future<bool>.value(true);
+      },
+      child: Scaffold(
+        appBar: AppBar(
+            toolbarHeight: 60 * ratio,
+            leading: IconButton(
+                icon: const Icon(Icons.arrow_back, color: Colors.black),
+                onPressed: () {
+                  generateWalletProvider.resetImportView();
+                  Navigator.of(context).pop();
+                }),
+            title: const SizedBox(
+              height: 22,
+              child: Text('Restaurer un coffre'),
+            )),
+        body: SafeArea(
+          child: Column(children: <Widget>[
+            SizedBox(height: isTall ? 30 : 15),
+            bubbleSpeak(
+                'Pour restaurer vos portefeuilles Gecko, rentrez dans les champs ci-dessous les 12 mots qui constituent votre phrase de restauration :'),
+            SizedBox(height: isTall ? 30 : 15),
+            Column(children: <Widget>[
+              Row(
+                  mainAxisAlignment: MainAxisAlignment.spaceAround,
+                  children: <Widget>[
+                    arrayCell(context, generateWalletProvider.cellController0),
+                    arrayCell(context, generateWalletProvider.cellController1),
+                    arrayCell(context, generateWalletProvider.cellController2),
+                    arrayCell(context, generateWalletProvider.cellController3),
+                  ]),
+              const SizedBox(height: 15),
+              Row(
+                  mainAxisAlignment: MainAxisAlignment.spaceAround,
+                  children: <Widget>[
+                    arrayCell(context, generateWalletProvider.cellController4),
+                    arrayCell(context, generateWalletProvider.cellController5),
+                    arrayCell(context, generateWalletProvider.cellController6),
+                    arrayCell(context, generateWalletProvider.cellController7),
+                  ]),
+              const SizedBox(height: 15),
+              Row(
+                  mainAxisAlignment: MainAxisAlignment.spaceAround,
+                  children: <Widget>[
+                    arrayCell(context, generateWalletProvider.cellController8),
+                    arrayCell(context, generateWalletProvider.cellController9),
+                    arrayCell(context, generateWalletProvider.cellController10),
+                    arrayCell(context, generateWalletProvider.cellController11),
+                  ]),
+            ]),
+            // const Spacer(),
+            if (generateWalletProvider.isSentenceComplete(context))
+              Expanded(
+                  child: Align(
+                alignment: Alignment.center,
+                child: SizedBox(
+                  width: 410,
+                  height: 70,
+                  child: ElevatedButton(
+                    style: ElevatedButton.styleFrom(
+                      elevation: 4,
+                      primary: orangeC, // background
+                      onPrimary: Colors.white, // foreground
+                    ),
+                    onPressed: () async {
+                      if (await generateWalletProvider.isSentenceValid()) {
+                        generateWalletProvider.resetImportView();
+                        await Navigator.push(
+                          context,
+                          FaderTransition(
+                              page: OnboardingStepThirteen(), isFast: true),
+                        );
+                      } else {
+                        await badMnemonicPopup(context);
+                      }
+                    },
+                    child: const Text(
+                      'Restaurer ce coffre',
+                      style:
+                          TextStyle(fontSize: 24, fontWeight: FontWeight.w600),
+                    ),
+                  ),
+                ),
+                // SizedBox(height: isTall ? 80 : 80),
+              ))
+          ]),
+        ),
+      ),
+    );
+  }
+
+  Widget bubbleSpeak(String text) {
+    return Bubble(
+      margin: const BubbleEdges.symmetric(horizontal: 20),
+      padding: BubbleEdges.all(isTall ? 25 : 15),
+      borderWidth: 1,
+      borderColor: Colors.black,
+      radius: Radius.zero,
+      color: Colors.white,
+      child: Text(
+        text,
+        key: const Key('importText'),
+        textAlign: TextAlign.justify,
+        style: const TextStyle(
+            color: Colors.black, fontSize: 21, fontWeight: FontWeight.w400),
+      ),
+    );
+  }
+
+  Widget arrayCell(BuildContext context, TextEditingController cellCtl) {
+    GenerateWalletsProvider generateWalletProvider =
+        Provider.of<GenerateWalletsProvider>(context);
+
+    return Container(
+      width: 102,
+      height: 40 * ratio,
+      child: TextField(
+        autofocus: true,
+        controller: cellCtl,
+        textInputAction: TextInputAction.next,
+        onChanged: (v) {
+          bool isValid = generateWalletProvider.isBipWord(v);
+
+          if (isValid && generateWalletProvider.cellController11.text.isEmpty) {
+            FocusScope.of(context).nextFocus();
+          }
+        },
+        textAlign: TextAlign.center,
+        style: const TextStyle(fontSize: 20),
+      ),
+      decoration: BoxDecoration(
+        border: Border.all(color: Colors.grey),
+        color: Colors.white,
+        borderRadius: BorderRadius.circular(3),
+      ),
+    );
+  }
+
+  Future<bool> badMnemonicPopup(BuildContext context) async {
+    return showDialog<bool>(
+      context: context,
+      barrierDismissible: true, // user must tap button!
+      builder: (BuildContext context) {
+        return AlertDialog(
+          title: const Text('Phrase incorrecte'),
+          content: const Text(
+              'Votre phrase de restauration semble incorrecte, veuillez la corriger.'),
+          actions: <Widget>[
+            TextButton(
+              child: const Text("OK"),
+              onPressed: () {
+                Navigator.pop(context);
+              },
+            ),
+          ],
+        );
+      },
+    );
+  }
+}
diff --git a/lib/screens/myWallets/wallets_home.dart b/lib/screens/myWallets/wallets_home.dart
index c323c1e5bf542d23ec5f04e02518fd9b96f3ee87..2fb8544a390d1331b171c28091abde5c17efdcfc 100644
--- a/lib/screens/myWallets/wallets_home.dart
+++ b/lib/screens/myWallets/wallets_home.dart
@@ -11,7 +11,6 @@ import 'package:gecko/screens/myWallets/cesium_wallet_options.dart';
 import 'package:gecko/screens/myWallets/chest_options.dart';
 import 'package:gecko/screens/myWallets/choose_chest.dart';
 import 'package:gecko/screens/myWallets/wallet_options.dart';
-import 'package:gecko/screens/onBoarding/0_no_keychain_found.dart';
 import 'package:graphql_flutter/graphql_flutter.dart';
 import 'package:provider/provider.dart';
 
@@ -28,13 +27,10 @@ class WalletsHome extends StatelessWidget {
 
     final int _currentChestNumber = myWalletProvider.getCurrentChest();
     final ChestData _currentChest = chestBox.get(_currentChestNumber);
-    bool isWalletsExists;
-
     if (!_currentChest.isCesium) {
       myWalletProvider.listWallets =
           myWalletProvider.readAllWallets(_currentChestNumber);
     }
-    isWalletsExists = myWalletProvider.checkIfWalletExist();
 
     return WillPopScope(
       onWillPop: () {
@@ -61,12 +57,9 @@ class WalletsHome extends StatelessWidget {
           backgroundColor: const Color(0xffFFD58D),
         ),
         body: SafeArea(
-          child: !isWalletsExists
-              ? const NoKeyChainScreen()
-              : _currentChest.isCesium
-                  ? cesiumWalletOptions(
-                      context, _currentChest, myWalletProvider)
-                  : myWalletsTiles(context),
+          child: _currentChest.isCesium
+              ? cesiumWalletOptions(context, _currentChest, myWalletProvider)
+              : myWalletsTiles(context),
         ),
       ),
     );
diff --git a/lib/screens/onBoarding/0_no_keychain_found.dart b/lib/screens/onBoarding/0_no_keychain_found.dart
index 31745a7ffc3429cb5d4e72215e2e7a0a479b7ffb..685bc27b19691fa2e1bf6b59802cf490eda54a43 100644
--- a/lib/screens/onBoarding/0_no_keychain_found.dart
+++ b/lib/screens/onBoarding/0_no_keychain_found.dart
@@ -4,7 +4,7 @@ import 'package:flutter/material.dart';
 import 'package:flutter_svg/flutter_svg.dart';
 import 'package:gecko/globals.dart';
 import 'package:gecko/screens/common_elements.dart';
-import 'package:gecko/screens/myWallets/import_wallet.dart';
+import 'package:gecko/screens/myWallets/import_cesium_wallet.dart';
 import 'package:gecko/screens/onBoarding/1.dart';
 
 class NoKeyChainScreen extends StatelessWidget {
diff --git a/lib/screens/settings.dart b/lib/screens/settings.dart
index 9494df2f429fdd8dce7f6aa902c3cebe73fd4b47..c2b9bf89c1e7be35546cf880747265c81b4e2544 100644
--- a/lib/screens/settings.dart
+++ b/lib/screens/settings.dart
@@ -5,7 +5,7 @@ import 'package:gecko/models/home.dart';
 import 'package:gecko/models/my_wallets.dart';
 import 'package:gecko/screens/myWallets/generate_wallets.dart';
 import 'dart:io';
-import 'package:gecko/screens/myWallets/import_wallet.dart';
+import 'package:gecko/screens/myWallets/import_cesium_wallet.dart';
 import 'package:gecko/globals.dart';
 import 'package:provider/provider.dart';
 
diff --git a/pubspec.yaml b/pubspec.yaml
index c1326932e86fad65c480c3d59ce3b91248a2db9a..07f093fbb53f963b2116e50866d5c2caf398a2e8 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -5,7 +5,7 @@ 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+1
+version: 0.0.3+2
 
 environment:
   sdk: ">=2.7.0 <3.0.0"