Skip to content

Intended reader: anyone approving a signature request that came from a site rather than from the send screen. Goal: knowing what the finished transaction can become, not just what it looks like now. Prerequisites: a pending PSBT approval. Safety: a PSBT is a transaction that someone else wrote. Everything on it was chosen by them.

A partially signed Bitcoin transaction is a draft that can carry some signatures and be completed later. Marketplaces and applications use them because a trade needs inputs from two people who are never online at the same moment.

The important consequence: you are signing something you did not construct. The inputs, the outputs, the fee, and the flags were all chosen by whoever sent it.

What you are about to sign
Origin
app.example
Your input
7c9b…:0 (protected, inscription)
Leaves your wallet
1 inscription
Comes back to you
0.04000000 BTC
Signature scope
SIGHASH_SINGLE | ANYONECANPAY
Fee
Paid by the other party

The screen lists every input and output, marks which inputs are yours, marks which of your inputs are protected, and computes the net effect on your wallet. A manual input selector is available inside this flow when the request allows you to choose which of your coins fund it.

Signature scope. This is the sighash setting, and it determines what your signature commits to.

ScopeYou are agreeing to
SIGHASH_ALLThe whole transaction, exactly as shown. Nothing can change without invalidating your signature.
SIGHASH_SINGLE | ANYONECANPAYOnly your input and one matching output. Everyone else can still change their part.
SIGHASH_NONEYour input, and no output at all. Whoever completes it decides where the money goes.
  1. Read the origin at the top. Confirm it is the site you are actually using.
  2. Read what leaves and what comes back. Compare against the price you were quoted.
  3. Read the signature scope. If it is not the whole transaction, decide whether you are willing to leave an open offer standing.
  4. Check whether any of your protected coins are being spent, and whether that is what you meant.
  5. Check the fee and who pays it.
  6. Check for anything marked UNKNOWN.
  7. Approve, or reject.
  • The scope is SIGHASH_NONE. There is almost no legitimate reason for a wallet to be asked for that.
  • The amount coming back does not match the price you agreed.
  • A protected coin is being spent and you did not start an asset sale.
  • The origin is not the site you are on.
  • The wallet could not decode part of the request.

Approving returns your signature to the requesting site. It does not necessarily broadcast anything: the site may hold your signature until a counterparty completes the transaction.

Check your activity. A PSBT you signed may not appear as a transaction until it is completed and broadcast by the other party. That gap is normal, and it is also why a partial signature deserves more thought than a payment: there may be no immediate evidence of what you agreed to.

Universe Wallet has a transaction inspector that looks up a transaction by its id. It is a lookup tool for transactions that already exist. It does not decode or review a PSBT. The approval screen is the place where a PSBT is reviewed.