diff --git a/src/app/network/network.service.ts b/src/app/network/network.service.ts
index f4c9c6077463d839a297e7fb403168211e6b6ed6..8594488da78fccda613961a5b9384cafb37b3e3a 100644
--- a/src/app/network/network.service.ts
+++ b/src/app/network/network.service.ts
@@ -1,47 +1,51 @@
-import {Injectable} from "@angular/core";
-import {ApiPromise, WsProvider} from "@polkadot/api";
-import {SettingsService} from "../settings/settings.service";
-import {Peer, Peers} from "./peer.model";
-import {StartableService} from "@app/shared/services/startable-service.class";
-import {abbreviate} from "@app/shared/currencies";
-import {Currency} from "@app/network/currency.model";
+import { Injectable } from '@angular/core';
+import { ApiPromise, WsProvider } from '@polkadot/api';
+import { SettingsService } from '../settings/settings.service';
+import { Peer, Peers } from './peer.model';
+import { StartableService } from '@app/shared/services/startable-service.class';
+import { abbreviate } from '@app/shared/currencies';
+import { Currency } from '@app/network/currency.model';
 //import * as definitions from '@duniter/core-types/interfaces'
 
 const WELL_KNOWN_CURRENCIES = Object.freeze({
-  'Ğdev': <Partial<Currency>>{
-    network: "gdev",
+  Ğdev: <Partial<Currency>>{
+    network: 'gdev',
     displayName: 'Ğdev',
     symbol: 'GD',
     prefix: 42,
-    genesis: '0x9f956a87b5568f12c757bb3426897bba6123a1ef311fcd0945bd669fd0e612f8',
+    genesis:
+      '0x9f956a87b5568f12c757bb3426897bba6123a1ef311fcd0945bd669fd0e612f8',
     fees: {
       identity: 300, // = 3 Gdev
-      tx: 1 // = 0.01 Gdev
+      tx: 1, // = 0.01 Gdev
     },
-    decimals: 2
+    decimals: 2,
   },
-  'Ğ1': <Partial<Currency>>{
-    network: "g1",
+  Ğ1: <Partial<Currency>>{
+    network: 'g1',
     displayName: 'Ğ1',
     symbol: 'G1',
     prefix: 4450,
     genesis: '0x___TODO___',
     fees: {
       identity: 300, // = 3G1 - FIXME
-      tx: 1 // = 0.01 G1 - FIXME
+      tx: 1, // = 0.01 G1 - FIXME
     },
-    decimals: 2 // FIXME remove for autodetection
-  }
+    decimals: 2, // FIXME remove for autodetection
+  },
 });
 
-@Injectable({providedIn: 'root'})
+@Injectable({ providedIn: 'root' })
 export class NetworkService extends StartableService<ApiPromise> {
-
   currency = <Currency>{
+    network: null,
     displayName: null,
     symbol: null,
-    genesis: null
-  }
+    prefix: null,
+    genesis: null,
+    fees: { identity: null, tx: null },
+    decimals: null,
+  };
 
   get api(): ApiPromise {
     return this._data;
@@ -51,11 +55,9 @@ export class NetworkService extends StartableService<ApiPromise> {
     return this.currency.symbol || '';
   }
 
-  constructor(
-    private settings: SettingsService
-  ) {
+  constructor(private settings: SettingsService) {
     super(settings, {
-      name: 'network-service'
+      name: 'network-service',
     });
   }
 
@@ -64,12 +66,12 @@ export class NetworkService extends StartableService<ApiPromise> {
 
     const peers = await this.filterAliveNodes(settings.preferredPeers);
     if (!peers.length) {
-      throw {message: 'ERROR.CHECK_NETWORK_CONNECTION'};
+      throw { message: 'ERROR.CHECK_NETWORK_CONNECTION' };
     }
 
     const peer = this.selectRandomPeer(peers);
     const wsUri = Peers.getWsUri(peer);
-    console.info(`${this._logPrefix}Connecting to peer {${wsUri}}...`)
+    console.info(`${this._logPrefix}Connecting to peer {${wsUri}}...`);
 
     // Extract all types from definitions - fast and dirty approach, flatted on 'types'
     // const types = Object.values(definitions).reduce((res: any, { types }): object => {
@@ -80,7 +82,7 @@ export class NetworkService extends StartableService<ApiPromise> {
     // Construct
     const wsProvider = new WsProvider(wsUri);
     const api = await ApiPromise.create({
-      provider: wsProvider
+      provider: wsProvider,
       //,...types
     });
 
@@ -89,53 +91,77 @@ export class NetworkService extends StartableService<ApiPromise> {
     const chain = '' + (await api.rpc.system.chain());
     const genesis = api.genesisHash.toHex();
 
-    console.info(`${this._logPrefix}Connecting to chain {${chain}}: `, chainInfo.toHuman());
+    console.info(
+      `${this._logPrefix}Connecting to chain {${chain}}: `,
+      chainInfo.toHuman()
+    );
 
     // Check is well known currency
     if (WELL_KNOWN_CURRENCIES[chain]) {
       const wellKnownCurrency = WELL_KNOWN_CURRENCIES[chain];
       if (wellKnownCurrency.genesis && wellKnownCurrency.genesis !== genesis) {
-        console.warn(`${this._logPrefix}Invalid genesis for ${chain}! Expected ${wellKnownCurrency.genesis} but peer return ${genesis}`);
-      }
-      else {
+        console.warn(
+          `${this._logPrefix}Invalid genesis for ${chain}! Expected ${wellKnownCurrency.genesis} but peer return ${genesis}`
+        );
+      } else {
         this.currency = WELL_KNOWN_CURRENCIES[chain];
       }
     }
     this.currency.displayName = this.currency.displayName || chain;
-    this.currency.symbol = this.currency.symbol || chainInfo.tokenSymbol.value?.[0].toHuman() || abbreviate(this.currency.displayName);
-    this.currency.decimals = this.currency.decimals || +(chainInfo.tokenDecimals.value?.[0].toHuman()) || 0;
+    this.currency.symbol =
+      this.currency.symbol ||
+      chainInfo.tokenSymbol.value?.[0].toHuman() ||
+      abbreviate(this.currency.displayName);
+    this.currency.decimals =
+      this.currency.decimals ||
+      +chainInfo.tokenDecimals.value?.[0].toHuman() ||
+      0;
 
     // Read the genesis block hash
-    console.debug(`${this._logPrefix}Blockchain symbol: ${this.currency.symbol}`);
-    console.debug(`${this._logPrefix}Blockchain decimals: ${this.currency.decimals}`);
+    console.debug(
+      `${this._logPrefix}Blockchain symbol: ${this.currency.symbol}`
+    );
+    console.debug(
+      `${this._logPrefix}Blockchain decimals: ${this.currency.decimals}`
+    );
     console.debug(`${this._logPrefix}Blockchain genesis: ${genesis}`);
 
     // Retrieve the latest header
     const lastHeader = await api.rpc.chain.getHeader();
-    console.info(`${this._logPrefix}Last block: #${lastHeader.number} - hash ${lastHeader.hash}`);
+    console.info(
+      `${this._logPrefix}Last block: #${lastHeader.number} - hash ${lastHeader.hash}`
+    );
 
     return api;
   }
 
-  async filterAliveNodes(peers: string[], opts?: {
-    timeout?: number;
-  }): Promise<Peer[]> {
-      const result: Peer[] = [];
-      await Promise.all(peers
-        .map(peer => Peers.fromUri(peer))
-        .map(peer => this.isPeerAlive(peer)
-          .then(alive => {
+  async filterAliveNodes(
+    peers: string[],
+    opts?: {
+      timeout?: number;
+    }
+  ): Promise<Peer[]> {
+    const result: Peer[] = [];
+    await Promise.all(
+      peers
+        .map((peer) => Peers.fromUri(peer))
+        .map((peer) =>
+          this.isPeerAlive(peer).then((alive) => {
             if (!alive) return;
             result.push(peer);
-          }))
-      );
-      return result;
+          })
+        )
+    );
+    return result;
   }
 
-  async isPeerAlive(peer: Peer, opts?: {
-    timeout?: number;
-  }): Promise<boolean> {
-      // TODO
+  async isPeerAlive(
+    peer: Peer,
+    opts?: {
+      timeout?: number;
+    }
+  ): Promise<boolean> {
+    // TODO
     return Promise.resolve(true);
   }
 
diff --git a/src/app/wallet/account.service.ts b/src/app/wallet/account.service.ts
index 668a39688c2146acfb59f8ed8e2a4ff40a45d12a..576f364d961b340a9c1916b46786b01a3dedd114 100644
--- a/src/app/wallet/account.service.ts
+++ b/src/app/wallet/account.service.ts
@@ -303,16 +303,11 @@ export class AccountService extends StartableService {
     return true;
   }
 
-  async addV2Account(data: RegisterData): Promise<Account> {
-
-    // add the account, encrypt the stored JSON with an account-specific password
-    const { pair, json } = keyring.addUri(data.mnemonic, data.password, {
+  async addV2Account(data: {mnemonic: string; meta?: AccountMeta}): Promise<Account> {
+    const { pair, json } = keyring.addUri(data.mnemonic, this._password, {
       name: data.meta?.name || 'default',
       genesisHash: this.network.currency?.genesis
     }, 'sr25519');
-
-    //this.debug('check pair', pair, json);
-
     return this.addAccount({
       address: json.address,
       meta: {