Skip to main content
Card operations are asynchronous. After the network processes a request, we send the result to your webhook URL as an HTTP POST with a JSON body.

Set up

  1. Register your endpoint with Set webhook URL.
  2. Pass your own clientTransactionId on requests. It is included in the matching webhook. If you omit it, the API generates one, returns it in the response and includes it in the webhook.
  3. Respond with HTTP 200 and the plain-text body success (without quotes).
If your endpoint does not respond with success, we retry the notification up to 5 times.

Event envelope

Every event has the same top-level fields:

Event types

Card events

CardTransaction

Sent when a card transaction is created or updated. data is a card transaction object.

CreateCard, DeleteCard, FrozenCard, UnfrozenCard, CardStateChange, LockCard

Sent when a card is created, closed, frozen, unfrozen, locked or changes status. data is a card object.

Card3dsOtp

Sent when a purchase needs 3DS verification. Show the otp to the cardholder.

ThreeDomainSecureForwarding

Sent when a transaction must be approved at an authorization URL before it expires.

CardTrade

Sent only when a card order fails or is cancelled.

CardBinStatus

Sent when a BIN is enabled, disabled or put under maintenance.

Overspend

Sent once a day while a card is overspent.

Settlement

Sent when an overspend is settled by deducting your account balance. The payload has the same fields as Overspend, with type set to Settlement.

Wallet events

AssetsDeposit

Sent when your wallet receives a transfer.
Deposits with status OnHold are held and not credited. Use Refund held deposit with the transfer_id to return them.

BlockchainRefund

Sent when a held deposit has been refunded.

AssetsWithdrawal

Sent when you request a withdrawal and whenever its status changes.

Cardholder events

CardholderUpdate

Sent when a cardholder’s status changes.