diff --git a/lib/wallets/wallet/impl/xelis_wallet.dart b/lib/wallets/wallet/impl/xelis_wallet.dart
index 72094fcf4..bcbf09f4c 100644
--- a/lib/wallets/wallet/impl/xelis_wallet.dart
+++ b/lib/wallets/wallet/impl/xelis_wallet.dart
@@ -361,12 +361,22 @@ class XelisWallet extends LibXelisWallet {
       await libXelisWallet!.rescan(topoheight: BigInt.from(pruningHeight));
     }
 
-    final txList = objTransactions ??
-      (await libXelisWallet!.allHistory())
-        .map((jsonStr) => xelis_sdk.TransactionEntry.fromJson(
-            json.decode(jsonStr),
-          ) as xelis_sdk.TransactionEntry)
-        .toList();
+    xelis_sdk.TransactionEntry _checkDecodeJsonStringTxEntry(
+      String jsonString,
+    ) {
+      final json = jsonDecode(jsonString);
+      if (json is Map) {
+        return xelis_sdk.TransactionEntry.fromJson(json.cast());
+      }
+
+      throw Exception("Not a Map on jsonDecode($jsonString)");
+    }
+
+    final txList =
+        objTransactions ??
+        (await libXelisWallet!.allHistory())
+            .map(_checkDecodeJsonStringTxEntry)
+            .toList();
 
     final List<TransactionV2> txns = [];