Private part of this key pair, encrypted with a passphrase that only the client knows. Required for all sources except 'bitgo'.
sourcestring
Allowed values: backupbitgocolduser
Example: user
enterprisestring
The Enterprise that will own this key
Example: 59cd72485007a239fb00282ed480da1f
Match pattern: ^[0-9a-f]{32}$
newFeeAddressboolean
Create a new keychain instead of fetching enterprise key (only for Ethereum)
pubstring
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.
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.
Example: false
commonPubstring
The commonPub for the key. This value is necessary for BLS 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.
commonKeychainstring
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.
keySharesarray[object]
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.
fromstringrequired
The source of the key share.
Allowed values: userbackupbitgo
Example: user
tostringrequired
The recipient of the key share.
Allowed values: userbackupbitgo
Example: user
publicSharestringrequired
Public part of the share concatenated with chain code (64+64 characters hex string).
privateSharestringrequired
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.
privateShareProofstring
The certificate of the private share, signed by the source of the key share.
vssProofstring
The verifiable shamir share verification value
typestring
Coin name used to choose correct KRS public key for the given provider. Possible valid values are "btc", "eth", "bitcoin"
Example: eth
keyTypestring
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.
Allowed values: tssindependentblsdkg
Default: tss
Example: tss
userGPGPublicKeystring
User's public key in ASCII armored format. Only required for BitGo MPC keys.
backupGPGPublicKeystring
Backup public key in ASCII armored format (may be managed by user or KRS). Only required for BitGo MPC keys.
javascript
1
2
3
4
5
6
7
8
// Create user key.
let userKey = bitgo.coin('tbtc').keychains().create();
// Create BitGo key.
let bitGoKey = bitgo.coin('tbtc').keychains().createBitGo();
// Create backup key.
let backupKey = bitgo.coin('tbtc').keychains().createBackup({ provider: 'cme' });
200 Response
One of
encryptedPrvstring
The encrypted private key
idstringrequired
Example: 59cd72485007a239fb00282ed480da1f
Match pattern: ^[0-9a-f]{32}$
isBitGoboolean
True, if this key is owned by BitGo
Example: false
sourcestring
Allowed values: backupbitgocolduser
Example: user
typestringrequired
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.