/api/v2/{coin}/wallet/{walletId}/webhooks
Add a webhook to a wallet that sends an HTTP callback from BitGo to a specified URL when specific conditions occur. A wallet can have up to 10 webhooks of each wallet-webhook type.
Wallet-webhook types:
Address confirmation - An address initializes on chain (ETH and XRP only).
Pending approval - A wallet-level policy-triggering event occurs (such as a withdrawal, user change, policy change, pending approval state updates, and so forth).
Transaction request - A transaction request state changes.
Transfer - Any transfer occurs.
Note: Unconfirmed webhook notifications don't trigger for RBF transactions, or if a transaction confirms on chain immediately after it's sent. BitGo doesn't send 'unconfirmed' notifications in these cases.
coin
stringRequiredbtc
>= 1 characters
walletId
stringRequired59cd72485007a239fb00282ed480da1f
^[0-9a-f]{32}$
>= 1 characters
type
string required txRequest
txRequestTransaction
transfer
transaction
transactionRemoved
transactionExpire
pendingapproval
block
admin
address_confirmation
lowFee
circuitBreaker
transaction_finality_on_l1
url
string <uri>
required >= 1 characters
https://your.server.com/webhook
label
string numConfirmations
number 6
allToken
boolean false
listenToFailureStates
boolean txRequestStates
array[string] pendingApproval
canceled
rejected
initialized
pendingDelivery
delivered
pendingUserSignature
pendingUserCommitment
pendingUserRShare
pendingUserGShare
readyToSend
signed
failed
txRequestTransactionStates
array[string] initialized
pendingSignature
eddsaPendingCommitment
eddsaPendingRShare
eddsaPendingGShare
ecdsaMPCv2Round1
ecdsaMPCv2Round2
ecdsaMPCv2Round3
readyToCombineShares
signed
held
delivered
invalidSignature
rejected
1{ 2 "type": "txRequest", 3 "url": "https://your.server.com/webhook", 4 "label": "string", 5 "numConfirmations": 6, 6 "allToken": false, 7 "listenToFailureStates": true, 8 "txRequestStates": [ 9 "pendingApproval" 10 ], 11 "txRequestTransactionStates": [ 12 "initialized" 13 ] 14}
id
string required 59cd72485007a239fb00282ed480da1f
^[0-9a-f]{32}$
created
string <date-time>
required 2021-01-01T00:00:00.000Z
coin
string required btc
url
string <uri>
required https://your.server.com/webhook
version
number required 2
scope
string required wallet
enterprise
organization
state
string required active
suspended
active
successiveFailedAttempts
number required 0
listenToFailureStates
boolean required label
string walletId
string enterpriseId
string organizationId
string 59cd72485007a239fb00282ed480da1f
^[0-9a-f]{32}$
userId
string type
string txRequest
txRequestTransaction
transfer
transaction
transactionRemoved
transactionExpire
pendingapproval
block
admin
address_confirmation
lowFee
circuitBreaker
wallet_confirmation
bankAccount
userKycState
enterpriseKycState
identityStatus
accessToken
accountCreated
contractSigned
fundsDeposited
kycResult
policyBalanceChange
transaction_finality_on_l1
numConfirmations
number 6
lastAttempt
string <date-time>
2021-01-01T00:00:00.000Z
failingSince
string <date-time>
2021-01-01T00:00:00.000Z
allToken
boolean txRequestStates
array[string] pendingApproval
canceled
rejected
initialized
pendingDelivery
delivered
pendingUserSignature
pendingUserCommitment
pendingUserRShare
pendingUserGShare
readyToSend
signed
failed
txRequestTransactionStates
array[string] initialized
pendingSignature
eddsaPendingCommitment
eddsaPendingRShare
eddsaPendingGShare
ecdsaMPCv2Round1
ecdsaMPCv2Round2
ecdsaMPCv2Round3
readyToCombineShares
signed
held
delivered
invalidSignature
rejected
1{ 2 "id": "59cd72485007a239fb00282ed480da1f", 3 "created": "2021-01-01T00:00:00.000Z", 4 "coin": "btc", 5 "url": "https://your.server.com/webhook", 6 "version": 2, 7 "scope": "wallet", 8 "state": "active", 9 "successiveFailedAttempts": 0, 10 "listenToFailureStates": true, 11 "label": "string", 12 "walletId": "string", 13 "enterpriseId": "string", 14 "organizationId": "59cd72485007a239fb00282ed480da1f", 15 "userId": "string", 16 "type": "txRequest", 17 "numConfirmations": 6, 18 "lastAttempt": "2021-01-01T00:00:00.000Z", 19 "failingSince": "2021-01-01T00:00:00.000Z", 20 "allToken": true, 21 "txRequestStates": [ 22 "pendingApproval" 23 ], 24 "txRequestTransactionStates": [ 25 "initialized" 26 ] 27}
name
string context
object required error
string required requestId
string required 1{ 2 "name": "string", 3 "context": {}, 4 "error": "string", 5 "requestId": "string" 6}
name
string context
object required error
string required requestId
string required 1{ 2 "name": "string", 3 "context": {}, 4 "error": "string", 5 "requestId": "string" 6}
name
string context
object required error
string required requestId
string required 1{ 2 "name": "string", 3 "context": {}, 4 "error": "string", 5 "requestId": "string" 6}
name
string context
object required error
string required requestId
string required 1{ 2 "name": "string", 3 "context": {}, 4 "error": "string", 5 "requestId": "string" 6}
name
string context
object required error
string required requestId
string required 1{ 2 "name": "string", 3 "context": {}, 4 "error": "string", 5 "requestId": "string" 6}