diff --git a/lib/models/generateWallets.dart b/lib/models/generateWallets.dart
index d7947eb1f16f4e194bef844b5bdf848058dc195c..c7b7281d909a799356155d8e012948864e843fe5 100644
--- a/lib/models/generateWallets.dart
+++ b/lib/models/generateWallets.dart
@@ -159,10 +159,10 @@ class GenerateWalletsProvider with ChangeNotifier {
   Future<NewWallet> generateWallet(generatedMnemonic) async {
     try {
       this.actualWallet = await DubpRust.genWalletFromMnemonic(
-          language: Language.french,
-          mnemonic: generatedMnemonic,
-          secretCodeType: SecretCodeType.letters,
-          walletType: WalletType.bip32Ed25519);
+        language: Language.french,
+        mnemonic: generatedMnemonic,
+        secretCodeType: SecretCodeType.letters,
+      );
     } catch (e) {
       print(e);
     }
diff --git a/native/dubp_rs/src/dewif.rs b/native/dubp_rs/src/dewif.rs
index c017d69488f59dc3b2e131e9f31d55a1ce801164..c05ad85d1152027c82861e9aabca096a1f42c532 100644
--- a/native/dubp_rs/src/dewif.rs
+++ b/native/dubp_rs/src/dewif.rs
@@ -42,7 +42,6 @@ pub(super) fn gen_dewif(
     member_wallet: bool,
     secret_code_type: SecretCodeType,
     system_memory: i64,
-    wallet_type: WalletType,
 ) -> Result<Vec<String>, DubpError> {
     let currency = parse_currency(currency)?;
     let mnemonic =
@@ -52,17 +51,10 @@ pub(super) fn gen_dewif(
     let log_n = log_n(system_memory);
     let secret_code = gen_secret_code(member_wallet, secret_code_type, log_n)?;
 
-    let dewif = match wallet_type {
-        WalletType::Bip32Ed25519 => {
-            let keypair = dup_crypto::keys::ed25519::bip32::KeyPair::from_seed(seed.clone());
-            let pubkey = keypair.public_key();
-            dup_crypto::dewif::write_dewif_v4_content(currency, log_n, &secret_code, &pubkey, seed)
-        }
-        WalletType::Ed25519 => {
-            let keypair = KeyPairFromSeed32Generator::generate(seed);
-            dup_crypto::dewif::write_dewif_v3_content(currency, &keypair, log_n, &secret_code)
-        }
-    };
+    let keypair = dup_crypto::keys::ed25519::bip32::KeyPair::from_seed(seed.clone());
+    let pubkey = keypair.public_key();
+    let dewif =
+        dup_crypto::dewif::write_dewif_v4_content(currency, log_n, &secret_code, &pubkey, seed);
 
     Ok(vec![dewif, secret_code])
 }
diff --git a/native/dubp_rs/src/lib.rs b/native/dubp_rs/src/lib.rs
index 6109089622430353661b6d6e7b8b6c4df20dc9a3..544d1c412bd8d57dc8ee7df90dff159a4577fd3a 100644
--- a/native/dubp_rs/src/lib.rs
+++ b/native/dubp_rs/src/lib.rs
@@ -87,7 +87,6 @@ pub extern "C" fn gen_dewif(
     member_wallet: u32,
     secret_code_type: u32,
     system_memory: i64,
-    wallet_type: u32,
 ) {
     exec_async(
         port,
@@ -97,7 +96,6 @@ pub extern "C" fn gen_dewif(
             let mnemonic = char_ptr_to_str(mnemonic)?;
             let member_wallet = member_wallet != 0;
             let secret_code_type = SecretCodeType::from(secret_code_type);
-            let wallet_type = WalletType::from(wallet_type);
             Ok((
                 currency,
                 language,
@@ -105,18 +103,9 @@ pub extern "C" fn gen_dewif(
                 member_wallet,
                 secret_code_type,
                 system_memory,
-                wallet_type,
             ))
         },
-        |(
-            currency,
-            language,
-            mnemonic,
-            member_wallet,
-            secret_code_type,
-            system_memory,
-            wallet_type,
-        )| {
+        |(currency, language, mnemonic, member_wallet, secret_code_type, system_memory)| {
             dewif::gen_dewif(
                 currency,
                 language,
@@ -124,7 +113,6 @@ pub extern "C" fn gen_dewif(
                 member_wallet,
                 secret_code_type,
                 system_memory,
-                wallet_type,
             )
         },
     )
diff --git a/packages/dubp_rs/README.md b/packages/dubp_rs/README.md
index 2c27fe87ee7fc45cb3dfe84d3350fffb487afd59..958eb82c4309552a2a58792ab4fa66385dd953e1 100644
--- a/packages/dubp_rs/README.md
+++ b/packages/dubp_rs/README.md
@@ -144,10 +144,11 @@ NewWallet new_wallet = await DubpRust.genWalletFromMnemonic(
 #### Function signature
 
 ```dart
-static Future<String> sign({
+static Future<String> signBip32Transparent({
+    int accountIndex,
     String currency = "g1",
     String dewif,
-    String pin,
+    String secretCode,
     String message
 });
 ```
@@ -157,7 +158,8 @@ If the wallet is not dedicated to the Äž1 currency, you must indicate the curren
 #### Usage example
 
 ```dart
-String signature = await DubpRust.sign(
+String signature = await DubpRust.signBip32Transparent(
+    accountIndex: 3,
     dewif: "AAAAARAAAAGfFDAs+jVZYkfhBlHZZ2fEQIvBqnG16g5+02cY18wSOjW0cUg2JV3SUTJYN2CrbQeRDwGazWnzSFBphchMmiL0",
     pin: "CDJ4UB",
     message: "toto"
diff --git a/packages/dubp_rs/lib/dubp.dart b/packages/dubp_rs/lib/dubp.dart
index d4d41634b1e185c5cccb38d53bf61d89d6fc3499..ee4ee9bdf16f827aca80d7cc00b4428b36345824 100644
--- a/packages/dubp_rs/lib/dubp.dart
+++ b/packages/dubp_rs/lib/dubp.dart
@@ -156,7 +156,6 @@ class DubpRust {
     Language language = Language.english,
     String mnemonic,
     SecretCodeType secretCodeType = SecretCodeType.letters,
-    WalletType walletType = WalletType.ed25519,
   }) async {
     int ram = SysInfo.getTotalPhysicalMemory();
     print('ram=$ram');
@@ -172,7 +171,6 @@ class DubpRust {
       0,
       secretCodeType.index,
       ram,
-      walletType.index,
     );
     List<String> newWallet = await completer.future;
 
@@ -263,24 +261,6 @@ class DubpRust {
     return completer.future;
   }
 
-  /// Sign the message `message` with `dewif` keypair encryted in DEWIF format.
-  ///
-  /// If you have several messages to sign, use `signSeveral` method instead.
-  static Future<String> sign(
-      {String currency = "g1", String dewif, String pin, String message}) {
-    final completer = Completer<String>();
-    final sendPort =
-        singleCompletePort<String, String>(completer, callback: _handleErr);
-    native.sign(
-      sendPort.nativePort,
-      Utf8.toUtf8(currency),
-      Utf8.toUtf8(dewif),
-      Utf8.toUtf8(pin),
-      Utf8.toUtf8(message),
-    );
-    return completer.future;
-  }
-
   /// Sign the message `message` with `dewif` Bip32-Ed25519 keypair encryted
   /// in DEWIF format.
   ///
@@ -323,33 +303,6 @@ class DubpRust {
     return completer.future;
   }
 
-  /// Sign several messages `messages` with `dewif` keypair encryted in DEWIF
-  /// format.
-  ///
-  /// This method is optimized to sign several messages at once. If you have
-  /// several messages to sign, avoid calling the `sign` method for each
-  /// message. Use this `signSeveral` method instead.
-  static Future<List<String>> signSeveral(
-      {String currency = "g1",
-      String dewif,
-      String pin,
-      List<String> messages}) {
-    final completer = Completer<List<String>>();
-    final sendPort = singleCompletePort<List<String>, List>(completer,
-        callback: _handleErrList);
-
-    native.sign_several(
-      sendPort.nativePort,
-      Utf8.toUtf8(currency),
-      Utf8.toUtf8(dewif),
-      Utf8.toUtf8(pin),
-      messages.length,
-      _listStringToPtr(messages),
-    );
-
-    return completer.future;
-  }
-
   /// Sign several messages `messages` with `dewif` keypair encryted in DEWIF
   /// format.
   ///