diff --git a/BTCPayServer/Controllers/WalletsController.PSBT.cs b/BTCPayServer/Controllers/WalletsController.PSBT.cs index 8940a4ca2..3f48ea373 100644 --- a/BTCPayServer/Controllers/WalletsController.PSBT.cs +++ b/BTCPayServer/Controllers/WalletsController.PSBT.cs @@ -314,13 +314,6 @@ namespace BTCPayServer.Controllers string error = null; try { - if (!string.IsNullOrEmpty(vm.SigningContext.OriginalPSBT) && - !string.IsNullOrEmpty(vm.SigningContext.PSBT)) - { - //if a hw device signed, we are sent back to the ready page with updated psbt data for final verification. If they are happy, they will click to broadcast with payjoin which brings us here. - return await WalletPSBTReady(walletId, vm, "broadcast"); - } - var proposedPayjoin = await GetPayjoinProposedTX(new BitcoinUrlBuilder(vm.SigningContext.PayJoinBIP21, network.NBitcoinNetwork), psbt, derivationSchemeSettings, network, cancellationToken); try diff --git a/BTCPayServer/Controllers/WalletsController.cs b/BTCPayServer/Controllers/WalletsController.cs index 29f877821..8eed1b862 100644 --- a/BTCPayServer/Controllers/WalletsController.cs +++ b/BTCPayServer/Controllers/WalletsController.cs @@ -782,6 +782,12 @@ namespace BTCPayServer.Controllers } }; AddSigningContext(redirectVm, vm.SigningContext); + if (!string.IsNullOrEmpty(vm.SigningContext.OriginalPSBT) && + !string.IsNullOrEmpty(vm.SigningContext.PSBT)) + { + //if a hw device signed a payjoin, we want it broadcast instantly + redirectVm.Parameters.Add(new KeyValuePair("command", "broadcast")); + } return View("PostRedirect", redirectVm); }