---
# System prepended metadata

title: Signing PSBT

---

# Signing PSBT


### Desktop and Mobile wallets

openordex creates a PSBT that uses `SINGLE|ANYONECANPAY` sighash flag so that buyer can add inputs, outputs and sign the transaction once seller shares partially signed bitcoin transaction.

More info about sighash flags: https://en.bitcoin.it/wiki/Contract#SIGHASH_flags

   - [`walletprocesspsbt`](https://bitcoincore.org/en/doc/24.0.0/rpc/wallet/walletprocesspsbt/) RPC command can be used to sign transactions and it has an argument to set the sighash type
     
   - GUI has no option to sign such transactions and Oren has created an [issue](https://github.com/bitcoin/bitcoin/issues/27141) in core repo

There are some [bitcoin wallets](https://bitcoiner.guide/wallet/) that allow you to create taproot addresses and [sign PSBTs](https://twitter.com/orenyomtov/status/1628938029682548737), however it is a bad UX if we ask the user to copy PSBT and sign it. It should be done automatically using a browser extension.


### Browser extensions

I have tried experimenting with some browser extension (getalby, blockcore, marina, liquality etc.) and none of them allow us to sign bitcoin PSBTs



### What should be the approach to solve this problem?

We have 2 options:

1. Expect users to run bitcoind in the background when using our website. Add functionality in flamingo to interact with core using JSON-RPC and do eveyrything for the user with a good UI/UX.
2. Add a bitcoin wallet in flamingo that lets the user create taproot wallet, send/receive bitcoin, send/receive inscriptions, freeze coins, label coins and sign PSBTs

I like option 2 although it could take some time to complete everything.

---

Note: I will update this doc if I find any new information
  