Skip to main content

Signing transactions

Bitcoin

Before a transaction can be sent to the Bitcoin network, each input must be signed.

Threshold ECDSA

Canisters can sign transactions with threshold ECDSA through the sign_with_ecdsa method.

The following snippet shows a simplified example of how to sign a Bitcoin transaction for the special case where all the inputs are referencing outpoints that are owned by own_address and own_address is a P2PKH address.

motoko/basic_bitcoin/src/basic_bitcoin/src/P2pkh.mo
loading...

Threshold Schnorr

Canisters can sign transactions with threshold Schnorr through the sign_with_schnorr method.

Signing P2TR key path transactions

motoko/basic_bitcoin/src/basic_bitcoin/src/P2tr.mo
loading...

Signing P2TR script path transactions

motoko/basic_bitcoin/src/basic_bitcoin/src/P2tr.mo
loading...

Resources

Learn more about threshold ECDSA.

Learn more about threshold Schnorr.