Sign wallet transaction

post/api/v2/{coin}/wallet/{walletId}/signtx

Sign transactions for multisignature wallets using external-signing mode. You must maintain your keys, in the clear, on a separate Express server. BitGo doesn't decrypt your private keys.

Path Parameters

  • coinstringRequired
    A cryptocurrency or token ticker symbol.
    Example: btc
  • walletIdstringRequired
    Example: 59cd72485007a239fb00282ed480da1f
    Pattern: ^[0-9a-f]{32}$

Request Body

keychain object
The user's keychain object with an `encryptedPrv` property. The `walletPassphrase` parameter is required when using `keychain`. Any request must include either `keychain` or `prv`.
encryptedPrv string
Encrypted user private key
prv string
User private key Note: The request must include either `prv` or `keychain`
Example: xprv9s21ZrQH143K3xQwj4yx3fHjDieEdqFDweBvFxn28qGvfQGvweUWuUuDRpepDu6opq3jiWHU9h3yYTKk5vvu4ykRuGA4i4Kz1vmFMPLTsoC
txPrebuild object
The transaction description object as created by 'Build Transaction'
wallet string
Example: 59cd72485007a239fb00282ed480da1f
Match pattern: ^[0-9a-f]{32}$
txHex string
Serialized transaction hex
txBase64 string
Serialized transaction base64 (applies to XLM only). The request must include this or a txHex
txInfoOne of
txInfo (UTXO)
feeInfoOne of
feeInfo (UTXO)
coldDerivationSeed string
A seed used to create a deterministic BIP-32 path which is then used to derive a private key. This is useful when one wants to create multiple BitGo cold wallets but only protect a single master private key. Using the seed one can create a child key for a specific wallet, for instance an Ethereum wallet could use the "eth" seed while an XRP wallet could use "xrp" as a seed. Both of these child keys would be derived from a single master key and so only the master key needs to be stored and protected.
walletPassphrase string
Passphrase to decrypt the user keychain. `walletPassphrase` is a required parameter when the parameter `keychain` is provided.
recipients array[object]
Array of objects describing the recipients. See buildTransaction for more detail. Required on ETH.

200 Response

txInfoOne of
txHex string
Serialized transaction hex
Example: 01000000000101d58f82d996dd872012675adadf4606734906b25a413f6e2ee535c0c10aef96020000000000ffffffff028de888000000000017a914c91aa24f65827eecec775037d886f2952b73cbe48740420f000000000017a9149304d18497b9bfe9532778a0f06d9fff3b3befaf870500473044022023d7210ba6d8bbd7a28b8af226f40f7235caab79156f93f9c9969fc459ea7f73022050fbdca788fba3de686b66b3501853695ff9d6f375867470207d233b099576e001000069522103d4788cda52f91c1f6c82eb91491ca76108c9c5f0839bc4f02eccc55fedb3311c210391bcef9dcc89570a79ba3c7514e65cd48e766a8868eca2769fa9242fdcc796662102ef3c5ebac4b54df70dea1bb2655126368be10ca0462382fcb730e55cddd2dd6a53aec8b11400

400 Response

One of
error string required
Human-readable error message
requestId string required
Client request id
context object
Properties that apply to a specific error name
name string required
Error code