REST APIWallet & TransactKey

POST

Path Params

  • coin string required
    A cryptocurrency or token ticker symbol.

Body Params

object

  • coinSpecific object
    coinSpecific object
    • lnbtc object
      lnbtc object
      • purpose string enum
        The purpose of the key.
        userAuthnodeAuth
    • tlnbtc object
      tlnbtc object
      • purpose string enum
        The purpose of the key.
        userAuthnodeAuth
  • encryptedPrv string
    Private part of this key pair, encrypted with a passphrase that only the client knows. Required for all sources except bitgo.
  • source string enum
    backupbitgocolduser
  • enterprise string
    The Enterprise that will own this key
  • newFeeAddress boolean
    Create a new keychain instead of fetching enterprise key (only for Ethereum)
  • originalPasscodeEncryptionCode string
    Passphrase that is used to decrypt box D (i.e. encrypted wallet passphrase) on your wallet keycard
  • pub string
    Public part of this key pair. If the key type is "independent" (default) it is required for user key and is optional for backup key. If key type is "tss" this field is not required.
  • isDistributedCustody boolean
    Set to true if you want to create a key for distributed custody. This parameter is only valid if you have the distributed custody enterprise license enabled and are creating a BitGo key. Otherwise it will throw an error.
  • commonPub string
    The commonPub for the key. This value is necessary for MPC keys when the source is either “user” or “backup”. Setting this indicates to BitGo that the owner of the key has received all key shares they needed for generating their key.
  • commonKeychain string
    The commonKeychain for the key if this is a MPC key. This value is required to be set when the type is set to “tss” and when the source is either “user” or “backup”. Setting this indicates to BitGo that the owner of the key has received all key shares they needed for generating their key. This value is the common pub concatenated with the common chaincode.
  • keyShares array of objects
    Only required for BitGo MPC keys. Those will be the shares from the user and the backup provider that BitGo will end up generating the BitGo key (share) from.
    keyShares object
    • from string enum required
      The source of the key share.
      userbackupbitgo
    • to string enum required
      The recipient of the key share.
      userbackupbitgo
    • publicShare string required
      Public part of the share concatenated with chain code (64+64 characters hex string).
    • privateShare string required
      Private part of the share concatenated with chain code (64+64 characters hex string). Depending on who the source and the recipient are, the share might be encrypted against the recipient's public key.
    • privateShareProof string
      The certificate of the private share, signed by the source of the key share.
    • vssProof string
      The verifiable shamir share verification value
  • type string
    Coin name used to choose correct KRS public key for the given provider. Possible valid values are "btc", "eth", "bitcoin"
  • keyType string enum
    A value from a string enum denoting what kind of key this is. Defaults to “independent” indicating an on-chain key is requested. If set to “tss” this tells us that a “tss” key is requested.

    Defaults to independent

    tssindependent
  • userGPGPublicKey string
    User's public key in ASCII armored format. Only required for BitGo MPC keys.
  • backupGPGPublicKey string
    Backup public key in ASCII armored format (may be managed by user or KRS). Only required for BitGo MPC keys.
  • isMPCv2 boolean
    Whether a key or wallet is using the Multi-Party Computation version 2 protocol. Optional field.

Responses

200
OK

Response Body

ONE OF

  • encryptedPrv string
    The encrypted private key
  • id string required

    matches ^[0-9a-f]{32}$

  • isBitGo boolean
    True, if this key is owned by BitGo
  • source string enum
    backupbitgocolduser
  • type string enum required
    A value from a string enum denoting what kind of key this is. Defaults to “independent” indicating an on-chain key is requested. If set to “tss” this tells us that a “tss” key is requested.

    Defaults to independent

    tssindependent
  • pub string
    public part of a key pair
400
Bad Request

Response Body

object

  • 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