Bitcoin: get Ownership proof

Export SLIP-0019 ownership proof. Read more

const result = await TrezorConnect.getOwnershipProof(params);

:note: Supported only by T2T1 with Firmware 2.4.4 or higher!

Params

Optional common params

Exporting single proof

  • pathrequired string | Array<number> minimum length is 5. read more
  • coin - optional string

    Determines network definition specified in coins.json file. Coin shortcut, name or label can be used.

  • scriptTypeoptional InputScriptType
  • userConfirmationoptional boolean
  • ownershipIdsoptional Array<string>
  • commitmentDataoptional string
  • multisigoptional MultisigRedeemScriptType
  • preauthorizedoptional boolean read more

Exporting bundle of proofs

  • bundle - Array of Objects with fields listed above.

Example

Display ownership proof of the first bitcoin address:

TrezorConnect.getOwnershipProof({
    path: "m/86'/0'/0'/0/0",
});

Return a bundle of ownership proofs:

TrezorConnect.getOwnershipProof({
    bundle: [
        { path: "m/86'/0'/0'/0/0" }, // taproot
        { path: "m/84'/0'/0'/0/0" }, // bech32
        { path: "m/49'/0'/0'/0/0" }, // segwit
    ],
});

Result

OwnershipProof type

Result with single proof:

{
    success: true,
    payload: {
        ownership_proof: string,
        signature: string,
        path: number[],
        serializedPath: string
    }
}

Result with bundle of proofs sorted by FIFO

{
    success: true,
    payload: [
        { ownership_proof: string, signature: string, path: number[], serializedPath: string }, // taproot
        { ownership_proof: string, signature: string, path: number[], serializedPath: string }, // bech32
        { ownership_proof: string, signature: string, path: number[], serializedPath: string }  // segwit
    ]
}

Error

{
    success: false,
    payload: {
        error: string // error message
    }
}