diff --git a/lib/pages/send_view/confirm_transaction_view.dart b/lib/pages/send_view/confirm_transaction_view.dart
index b7e2181a1..1164e0418 100644
--- a/lib/pages/send_view/confirm_transaction_view.dart
+++ b/lib/pages/send_view/confirm_transaction_view.dart
@@ -12,6 +12,8 @@ import 'package:stackwallet/pages_desktop_specific/my_stack_view/wallet_view/sub
 import 'package:stackwallet/providers/providers.dart';
 import 'package:stackwallet/providers/wallet/public_private_balance_state_provider.dart';
 import 'package:stackwallet/route_generator.dart';
+import 'package:stackwallet/services/coins/coin_paynym_extension.dart';
+import 'package:stackwallet/services/coins/dogecoin/dogecoin_wallet.dart';
 import 'package:stackwallet/services/coins/epiccash/epiccash_wallet.dart';
 import 'package:stackwallet/services/coins/firo/firo_wallet.dart';
 import 'package:stackwallet/utilities/assets.dart';
@@ -41,6 +43,9 @@ class ConfirmTransactionView extends ConsumerStatefulWidget {
     required this.walletId,
     this.routeOnSuccessName = WalletView.routeName,
     this.isTradeTransaction = false,
+    this.isPaynymTransaction = false,
+    this.isPaynymNotificationTransaction = false,
+    this.onSuccessInsteadOfRouteOnSuccess,
   }) : super(key: key);
 
   static const String routeName = "/confirmTransactionView";
@@ -49,6 +54,9 @@ class ConfirmTransactionView extends ConsumerStatefulWidget {
   final String walletId;
   final String routeOnSuccessName;
   final bool isTradeTransaction;
+  final bool isPaynymTransaction;
+  final bool isPaynymNotificationTransaction;
+  final VoidCallback? onSuccessInsteadOfRouteOnSuccess;
 
   @override
   ConsumerState<ConfirmTransactionView> createState() =>
@@ -83,14 +91,22 @@ class _ConfirmTransactionViewState
 
     try {
       String txid;
-      final coin = manager.coin;
-      if ((coin == Coin.firo || coin == Coin.firoTestNet) &&
-          ref.read(publicPrivateBalanceStateProvider.state).state !=
-              "Private") {
-        txid = await (manager.wallet as FiroWallet)
-            .confirmSendPublic(txData: transactionInfo);
+      if (widget.isPaynymNotificationTransaction) {
+        txid = await (manager.wallet as DogecoinWallet)
+            .confirmNotificationTx(preparedTx: transactionInfo);
+      } else if (widget.isPaynymTransaction) {
+        //
+        throw UnimplementedError("paynym send not implemented yet");
       } else {
-        txid = await manager.confirmSend(txData: transactionInfo);
+        final coin = manager.coin;
+        if ((coin == Coin.firo || coin == Coin.firoTestNet) &&
+            ref.read(publicPrivateBalanceStateProvider.state).state !=
+                "Private") {
+          txid = await (manager.wallet as FiroWallet)
+              .confirmSendPublic(txData: transactionInfo);
+        } else {
+          txid = await manager.confirmSend(txData: transactionInfo);
+        }
       }
 
       // save note
@@ -102,7 +118,12 @@ class _ConfirmTransactionViewState
 
       // pop back to wallet
       if (mounted) {
-        Navigator.of(context).popUntil(ModalRoute.withName(routeOnSuccessName));
+        if (widget.onSuccessInsteadOfRouteOnSuccess == null) {
+          Navigator.of(context)
+              .popUntil(ModalRoute.withName(routeOnSuccessName));
+        } else {
+          widget.onSuccessInsteadOfRouteOnSuccess!.call();
+        }
       }
     } on BadEpicHttpAddressException catch (_) {
       if (mounted) {