diff --git a/cw_bitcoin/lib/bitcoin_wallet_addresses.dart b/cw_bitcoin/lib/bitcoin_wallet_addresses.dart
index 52696a14a..5f0fd99de 100644
--- a/cw_bitcoin/lib/bitcoin_wallet_addresses.dart
+++ b/cw_bitcoin/lib/bitcoin_wallet_addresses.dart
@@ -31,6 +31,9 @@ abstract class BitcoinWalletAddressesBase extends ElectrumWalletAddresses with S
     silentPaymentWallets = [silentPaymentWallet!];
   }
 
+  @override
+  final walletAddressTypes = BITCOIN_ADDRESS_TYPES;
+
   static const OLD_SP_PATH = "m/352'/1'/0'/#'/0";
   static const BITCOIN_ADDRESS_TYPES = [
     SegwitAddressType.p2wpkh,
@@ -53,6 +56,8 @@ abstract class BitcoinWalletAddressesBase extends ElectrumWalletAddresses with S
 
   @override
   Future<void> init() async {
+    super.init();
+
     // TODO: if restored from snapshot
 
     if (allAddresses.where((address) => address.type == SegwitAddressType.p2wpkh).isEmpty) {
diff --git a/cw_bitcoin/lib/electrum_wallet.dart b/cw_bitcoin/lib/electrum_wallet.dart
index 10668e8ae..f92f6d0b1 100644
--- a/cw_bitcoin/lib/electrum_wallet.dart
+++ b/cw_bitcoin/lib/electrum_wallet.dart
@@ -1349,7 +1349,7 @@ abstract class ElectrumWalletBase
 
       await save();
     } else if (response.completed) {
-      checkAddressesGap();
+      // checkAddressesGap();
     }
   }
 
diff --git a/cw_bitcoin/lib/electrum_wallet_addresses.dart b/cw_bitcoin/lib/electrum_wallet_addresses.dart
index d9a2fbe6f..cfd9fd82b 100644
--- a/cw_bitcoin/lib/electrum_wallet_addresses.dart
+++ b/cw_bitcoin/lib/electrum_wallet_addresses.dart
@@ -65,17 +65,17 @@ abstract class ElectrumWalletAddressesBase extends WalletAddresses with Store {
 
   @computed
   List<BaseBitcoinAddressRecord> get selectedReceiveAddresses =>
-      receiveAddressesByType[_addressPageType]!;
+      receiveAddressesByType[_addressPageType] ?? [];
 
   @computed
   List<BaseBitcoinAddressRecord> get selectedChangeAddresses =>
-      receiveAddressesByType[_addressPageType]!;
+      changeAddressesByType[_addressPageType] ?? [];
 
   List<BaseBitcoinAddressRecord> getAddressesByType(
     BitcoinAddressType type, [
     bool isChange = false,
   ]) =>
-      isChange ? changeAddressesByType[type]! : receiveAddressesByType[type]!;
+      (isChange ? changeAddressesByType[type] : receiveAddressesByType[type]) ?? [];
 
   @computed
   BitcoinAddressType get addressPageType => _addressPageType;
@@ -282,7 +282,6 @@ abstract class ElectrumWalletAddressesBase extends WalletAddresses with Store {
 
   @action
   void updateAddressesByType() {
-    receiveAddressesByType.clear();
     walletAddressTypes.forEach((type) {
       receiveAddressesByType[type] =
           _allAddresses.where((addr) => _isAddressByType(addr, type)).toList();
diff --git a/cw_bitcoin/lib/litecoin_wallet_addresses.dart b/cw_bitcoin/lib/litecoin_wallet_addresses.dart
index 1faa8eeb5..7daab74d6 100644
--- a/cw_bitcoin/lib/litecoin_wallet_addresses.dart
+++ b/cw_bitcoin/lib/litecoin_wallet_addresses.dart
@@ -37,6 +37,11 @@ abstract class LitecoinWalletAddressesBase extends ElectrumWalletAddresses with
     printV("initialized with ${mwebAddrs.length} mweb addresses");
   }
 
+  @override
+  final walletAddressTypes = LITECOIN_ADDRESS_TYPES;
+
+  static const LITECOIN_ADDRESS_TYPES = [SegwitAddressType.p2wpkh];
+
   final ObservableList<LitecoinMWEBAddressRecord> mwebAddresses;
 
   late final Bip32Slip10Secp256k1? mwebHd;
diff --git a/cw_bitcoin_cash/lib/src/bitcoin_cash_wallet_addresses.dart b/cw_bitcoin_cash/lib/src/bitcoin_cash_wallet_addresses.dart
index f534128bf..5f22d408b 100644
--- a/cw_bitcoin_cash/lib/src/bitcoin_cash_wallet_addresses.dart
+++ b/cw_bitcoin_cash/lib/src/bitcoin_cash_wallet_addresses.dart
@@ -20,6 +20,11 @@ abstract class BitcoinCashWalletAddressesBase extends ElectrumWalletAddresses wi
     super.initialAddressPageType,
   }) : super(walletInfo);
 
+  @override
+  final walletAddressTypes = BITCOIN_CASH_ADDRESS_TYPES;
+
+  static const BITCOIN_CASH_ADDRESS_TYPES = [P2pkhAddressType.p2pkh];
+
   @override
   Future<void> init() async {
     await generateInitialAddresses(type: P2pkhAddressType.p2pkh);