Skip to main content

Customers webhooks

Overview​

Customer webhooks notify the merchant system about customer purse address lifecycle events and incoming customer deposit processing.

Use webhooks to update transaction state in your system, detect compliance results, reconcile received funds, and react to expired customer addresses.

Webhook events​

Event typeDeliveryTriggerMerchant action
CUSTOMER_PURSE_EXPIREDRequired for address expirationCustomer purse address expired.Request a new purse address if the customer needs to continue depositing.
CUSTOMER_PURSE_MEM_POOL_FOUNDOptionalTransaction was detected in the mempool. This event is not guaranteed.Save the transaction ID and wait for the next webhook.
CUSTOMER_PURSE_PENDING_COMPLIANCEOptionalTransaction is under compliance check. This event may be skipped if the transaction automatically passes compliance.Keep the transaction pending in your system if this webhook is received.
CUSTOMER_PURSE_COMPLIANCE_DECLINEDRequired for negative compliance resultTransaction failed compliance check.Do not credit the customer balance. Check transaction details if needed.
CUSTOMER_PURSE_FUNDS_RECEIVED_FOR_PURSERequired for successful customer purse depositTransaction was received successfully for the customer purse.Confirm transaction details and credit the customer balance if expected.
CUSTOMER_PURSE_TRANSLATION_TO_ACCOUNT_COMPLETEDOptionalFunds were credited to the merchant account.Reconcile customer transaction with the merchant account balance.

Payload fields​

Fields can differ by event type. The table below describes fields used in customer purse webhook payloads.

FieldTypeEventsDescription
customerIdstringCustomer purse eventsCalypso customer ID.
customerBlockedbooleanCustomer purse eventsCustomer blocked status at the moment of the event.
purseIdstringCustomer purse eventsCustomer purse ID.
addressstringCustomer purse eventsCustomer deposit address.
currencystringTransaction eventsTransaction currency.
transactionIdstringTransaction eventsCalypso customer purse transaction ID.
amountnumberTransaction eventsTransaction amount.
senderAddressstringMEM_POOL_FOUND, FUNDS_RECEIVED_FOR_PURSESender address.
transactionHashstringTransaction eventsBlockchain transaction hash.
createdDatestringTransaction eventsDate and time when the transaction was created.
serviceFeenumberTRANSLATION_TO_ACCOUNT_COMPLETEDTransaction service fee.
externalIdstringTRANSLATION_TO_ACCOUNT_COMPLETEDMerchant-side external order identifier, if provided.

Event examples​

CUSTOMER_PURSE_FUNDS_RECEIVED_FOR_PURSE​

{
"requestId": "a381f753-3079-4214-9720-b416fc35ca10",
"id": 1331293,
"createdDate": "2026-06-29T09:00:00.000Z",
"level": "INFO",
"service": "CUSTOMER_PURSE",
"eventType": "CUSTOMER_PURSE_FUNDS_RECEIVED_FOR_PURSE",
"data": {
"type": "CUSTOMER_PURSE_FUNDS_RECEIVED_FOR_PURSE",
"amount": 2,
"purseId": "0a510bef-6b87-4d85-b803-6af87d5fb996",
"currency": "USDT_TRX",
"customerId": "acf0e319-3054-47fa-8117-12691a568359",
"createdDate": "2026-06-29T09:00:00.000Z",
"senderAddress": "internal withdrawal address",
"transactionId": "123dce78-2ca9-4e94-b657-5751c95cabd6",
"customerBlocked": false,
"transactionHash": "0xe9dce5e6e602f900f14b209ec8800cf62f7def380f53723905a7724c8c22523a"
}
}

CUSTOMER_PURSE_EXPIRED​

{
"eventType": "CUSTOMER_PURSE_EXPIRED",
"data": {
"customerId": "acf0e319-3054-47fa-8117-12691a568359",
"customerBlocked": false,
"purseId": "0a510bef-6b87-4d85-b803-6af87d5fb996",
"address": "0x8ab54579efb614b9c46fb36db6a753df2cd18d65"
}
}
CaseRecommendation
Webhook receivedSave the event and update transaction state in your system.
Terminal transaction webhook receivedConfirm transaction details by using [POST] customer-purse/transaction/get.
Customer is blockedPay attention to customerBlocked: true and process funds according to your internal rules.
Address expiredRequest a new customer purse address before showing a deposit address to the customer again.
DocumentLink
Process customer transactionsHow to process Customer transactions
Get customer deposit addressHow to get a deposit address for a customer
Customer Purse API referenceCustomer Purse API