The B2B API offers a webhook mechanism to notify about events that occur asynchronously. For Crypto as a Service (CaaS), webhooks are used to inform about various platform events including user management actions (banning/unbanning), transaction events (deposits, withdrawals, trades), and automated operations (AutoSwap completions).

Ban User Webhook

When a user is banned from the platform, a notification will be sent with the following structure:
{
  "reason": "Violated terms & conditions",
  "is_banned": true,
  "updated_at": "2025-09-17T11:00:22.433079Z",
  "end_user_id": "test_coelsa_130625_1"
}
KeyTypeDescription
reasonstringThe reason why the user was banned.
is_bannedbooleanIndicates the user’s banned status. Will be true for ban events.
updated_atstringISO datetime indicating when the user status was updated.
end_user_idstringEnd user’s external ref identifier.

Unban User Webhook

When a user is unbanned from the platform, a notification will be sent with the following structure:
{
  "reason": "Allowed to operate",
  "is_banned": false,
  "updated_at": "2025-09-17T11:00:34.584949Z",
  "end_user_id": "test_coelsa_130625_1"
}
KeyTypeDescription
reasonstringThe reason why the user was unbanned.
is_bannedbooleanIndicates the user’s banned status. Will be false for unban events.
updated_atstringISO datetime indicating when the user status was updated.
end_user_idstringEnd user’s external ref identifier.

Withdrawal Webhook

When a withdrawal is completed, a notification will be sent with the following structure:
{
    "id": "1356b568-e6e6-445a-b9ec-e8dd9a2839fd",
    "hash": "0xa56fd57368d4776d6a3f9703729c5cb4e91a70c27212bb4bf248f89f63338959",
    "amount": "0.000200000000000000",
    "status": "COMPLETED",
    "txn_id": "3ee05362-0249-4bcc-a41c-e1a2a56c87fd",
    "network": "ETHEREUM",
    "op_type": "WITHDRAWAL",
    "created_at": "2024-01-11T19:43:11.229494Z",
    "create_date": "2024-01-11T19:43:11.229494Z",
    "end_user_id": "438ea6b0d5ca0ae7601ac7acc84d57f7a3f56fac7f66d5a59429c1c636f1af1c",
    "currency_code": "ETH",
    "confirmation_date": "2024-01-11T19:43:26.881527Z",
    "address_destination": "0x6f2777420B02bF41F7e2dd62112bDEE230778B3e"
}
KeyTypeDescription
idstringUnique identifier for the withdrawal.
hashstringTransaction hash on the blockchain.
amountstringAmount withdrawn in the specified currency.
statusstringStatus of the withdrawal. Will be COMPLETED for completed withdrawals.
txn_idstringInternal transaction identifier.
networkstringBlockchain network used for the withdrawal.
op_typestringOperation type. Will be WITHDRAWAL for withdrawal events.
created_atstringISO datetime indicating when the withdrawal was created.
create_datestringISO datetime indicating when the withdrawal was created.
end_user_idstringEnd user’s external ref identifier.
currency_codestringCurrency code of the withdrawn asset.
confirmation_datestringISO datetime indicating when the withdrawal was confirmed.
address_destinationstringDestination address for the withdrawal.

Deposit Webhook

When a deposit is completed, a notification will be sent with the following structure:
{
    "id": "fa42ad82-5854-4b62-bc1f-fe27b51f856d",
    "hash": "0xb8762f8ed09c0d38762522a233b2168ce7e6acbadab51b80fabf19ea32e030d9",
    "index": 0,
    "amount": "0.000200000000000000",
    "reason": "",
    "status": "COMPLETED",
    "txn_id": "ea297b09-08d7-4ce1-a2d4-f463fc0866f4",
    "network": "ETHEREUM",
    "op_type": "DEPOSIT",
    "created_at": "2024-01-12T08:51:22.126231Z",
    "is_blocked": false,
    "risk_score": null,
    "create_date": "2024-01-12T08:51:22.126231Z",
    "end_user_id": "438ea6b0d5ca0ae7601ac7acc84d57f7a3f56fac7f66d5a59429c1c636f1af1c",
    "currency_code": "ETH",
    "confirmation_date": "2024-01-12T08:54:56.740701Z",
    "address_destination": "0x6f2777420B02bF41F7e2dd62112bDEE230778B3e"
}
KeyTypeDescription
idstringUnique identifier for the deposit.
hashstringTransaction hash on the blockchain.
indexnumberTransaction output index.
amountstringAmount deposited in the specified currency.
reasonstringAdditional reason of the blocked deposit.
statusstringStatus of the deposit. Will be COMPLETED for completed deposits.
txn_idstringInternal transaction identifier.
networkstringBlockchain network used for the deposit.
op_typestringOperation type. Will be DEPOSIT for deposit events.
created_atstringISO datetime indicating when the deposit was created.
is_blockedbooleanIndicates if the deposit is blocked.
risk_scorenumberRisk assessment score for the deposit (can be null).
create_datestringISO datetime indicating when the deposit was created.
end_user_idstringEnd user’s external ref identifier.
currency_codestringCurrency code of the deposited asset.
confirmation_datestringISO datetime indicating when the deposit was confirmed.
address_destinationstringDestination address for the deposit.

Trade Webhook

When a trade is completed, a notification will be sent with the following structure:
{
    "id": "09035e55-c8d2-4740-ab10-a32f04003fed",
    "rate": "102290.08391854",
    "status": "COMPLETED",
    "txn_id": "5e7e1bf3-8870-4672-8feb-10ebc8cfe21e",
    "op_type": "BUY",
    "quote_id": "0e3d93c5-f7cc-4c52-9281-3d6657e171e4",
    "base_asset": "LTC",
    "base_amount": "0.01759701",
    "charged_fee": "35.29409033",
    "create_date": "2023-11-01T15:46:28.835186Z",
    "end_user_id": "END_USER_5",
    "market_rate": "100284.39599857",
    "quote_asset": "ARS",
    "external_ref": "test",
    "quote_amount": "1800.00000000"
}
KeyTypeDescription
idstringUnique identifier for the trade.
ratestringExchange rate used for the trade.
statusstringStatus of the trade. Will be COMPLETED for completed trades.
txn_idstringInternal transaction identifier.
op_typestringOperation type (e.g., BUY, SELL).
quote_idstringIdentifier of the quote used for the trade.
base_assetstringBase asset currency code.
base_amountstringAmount of the base asset.
charged_feestringFee charged for the trade.
create_datestringISO datetime indicating when the trade was created.
end_user_idstringEnd user’s external ref identifier.
market_ratestringMarket rate at the time of the trade.
quote_assetstringQuote asset currency code.
external_refstringExternal reference identifier.
quote_amountstringAmount of the quote asset.

AutoSwap Webhook

When an AutoSwap is completed, a notification will be sent with the following structure:
{
    "id": "819ceb14-e74a-4e08-96ff-cb8e2a3e4cac",
    "trade": {
        "id": "09035e55-c8d2-4740-ab10-a32f04003fed",
        "rate": "102290.08391854",
        "status": "COMPLETED",
        "txn_id": "5e7e1bf3-8870-4672-8feb-10ebc8cfe21e",
        "op_type": "BUY",
        "quote_id": "0e3d93c5-f7cc-4c52-9281-3d6657e171e4",
        "base_asset": "ETH",
        "base_amount": "0.01759701",
        "charged_fee": "35.29409033",
        "create_date": "2023-11-01T15:46:28.835186Z",
        "end_user_id": "END_USER_5",
        "market_rate": "100284.39599857",
        "quote_asset": "LTC",
        "external_ref": "test",
        "quote_amount": "1800.00000000"
    },
    "deposit": {
        "id": "c6bf5da2-6db0-4673-9220-431f460b5c26",
        "hash": "0x085601b3af8ba7a7fc067dec4f5ee1dbbe516093028479a03f3c4d8d7bb25422",
        "index": 0,
        "amount": "0.000200000000000000",
        "reason": "",
        "status": "PENDING",
        "txn_id": "e3b7c5f0-4c81-4a9d-8c65-fb135f25cab6",
        "network": "ETHEREUM",
        "op_type": "DEPOSIT",
        "created_at": "2024-01-11T19:33:30.643088Z",
        "is_blocked": false,
        "risk_score": null,
        "create_date": "2024-01-11T19:33:30.643088Z",
        "end_user_id": "438ea6b0d5ca0ae7601ac7acc84d57f7a3f56fac7f66d5a59429c1c636f1af1c",
        "auto_swap_id": "819ceb14-e74a-4e08-96ff-cb8e2a3e4cac",
        "currency_code": "ETH",
        "confirmation_date": "2024-01-11T19:40:35.621612Z",
        "address_destination": "0x6f2777420B02bF41F7e2dd62112bDEE230778B3e"
    },
    "withdrawal": {
        "id": "1356b568-e6e6-445a-b9ec-e8dd9a2839fd",
        "hash": "0xa56fd57368d4776d6a3f9703729c5cb4e91a70c27212bb4bf248f89f63338959",
        "amount": "0.000200000000000000",
        "status": "COMPLETED",
        "txn_id": "3ee05362-0249-4bcc-a41c-e1a2a56c87fd",
        "network": "ETHEREUM",
        "op_type": "WITHDRAWAL",
        "created_at": "2024-01-11T19:43:11.229494Z",
        "create_date": "2024-01-11T19:43:11.229494Z",
        "end_user_id": "438ea6b0d5ca0ae7601ac7acc84d57f7a3f56fac7f66d5a59429c1c636f1af1c",
        "currency_code": "LTC",
        "confirmation_date": "2024-01-11T19:43:26.881527Z",
        "address_destination": "0x6f2777420B02bF41F7e2dd62112bDEE230778B3e"
    },
    "create_date": "2025-03-21T19:23:19.099723Z",
    "update_date": "2025-03-21T19:23:19.099760Z",
    "auto_swap_id": "819ceb14-e74a-4e08-96ff-cb8e2a3e4cac",
    "error_reason": null
}
KeyTypeDescription
idstringUnique identifier for the AutoSwap.
tradeobjectTrade object containing all trade-related information.
depositobjectDeposit object containing all deposit-related information.
withdrawalobjectWithdrawal object containing all withdrawal-related information.
create_datestringISO datetime indicating when the AutoSwap was created.
update_datestringISO datetime indicating when the AutoSwap was last updated.
auto_swap_idstringUnique identifier for the AutoSwap operation.
error_reasonstringError reason if the AutoSwap failed (can be null).
The nested trade, deposit, and withdrawal objects contain the same fields as their respective individual webhook payloads described above.