The mobile wallet enables collaborative transactions for on-chain purchases and sales through the exchange.
Bull Bitcoin announced on 5 November the introduction of Payjoin for deposits and withdrawals, claiming to be the first exchange to offer it. The update extends collaborative transactions to bitcoin purchases and sales, where payment recipients also contribute to constructing the transaction.
Through the exchange integration in BULL Wallet, on-chain purchases and sales use Payjoin by default. Users must connect their Bull Bitcoin account to the app to access the feature. Lightning and Liquid orders remain excluded.
In a Payjoin transaction, sender and recipient both include UTXOs, the portions of bitcoin received and not yet spent. This makes the assumption used in blockchain analysis that all inputs belong to the same person less reliable. It also becomes more difficult to distinguish the payment from the change and reconstruct the amount actually transferred.
For buyers, automation makes it possible to combine a UTXO already in the wallet with newly received bitcoin, creating a single larger UTXO. This avoids accumulating a separate new output with each purchase. According to Bull Bitcoin, this automatic consolidation can reduce fees on future transactions. When a user sells, the exchange instead adds one of its own UTXOs.
The company calls the integration Payjoin trading and says its implementation reduces address reuse and the presence of round amounts. The aim is to make it harder for external observers to identify the fiat value of trades or recognise recurring purchases.
The project continues work begun in December 2024, when BULL Wallet integrated Payjoin V2 in collaboration with Dan Gould and the Payjoin Dev Kit team. The software used by the wallet and exchange is free and open source.
To receive a Payjoin, the wallet must already contain at least one UTXO: the first purchase in an empty wallet therefore uses an ordinary transaction. The app must remain open until completion. If the process fails or is interrupted, the order is executed through a standard on-chain transaction.





