Skip to main content
These are the events you can subscribe a webhook to. Each marks a stage in the deposit or withdrawal lifecycle, or a change to a transaction. Every payload uses the Version 2 webhook format: the event data is wrapped in an envelope carrying an eventId and a data object.
Event names are wire values. They read partner.customer.* because that is the identifier the platform emits — subscribe with exactly the string shown here. Elsewhere in these docs the people they describe are simply called your customers.

Available events

GET /v1/webhooks/event-types returns the subscribable event types live, along with the properties carried by each one. It is the platform’s own list, so it can name an event that is registered but not yet emitted — this page is the published set. Subscribe to something that appears only there and you will simply never be called.

Deposit events

partner.customer.deposit.created

A deposit has been created for your customer and is waiting to be paid.

partner.customer.deposit.initiated

Your customer has started the payment.

partner.customer.deposit.submitted

The payment has been submitted to the bank.

partner.customer.deposit.accepted

The incoming payment has been accepted and reconciled against the bank.

partner.customer.deposit.failed

The deposit could not be processed.

partner.customer.deposit.completed

Funds have settled and the balance is credited. This is the event to credit your customer on.

partner.customer.deposit.expired

The deposit was not funded in time and will not complete. Terminal — there will be no later completed for this reference, so release anything you were holding against it.

Withdrawal events

partner.customer.withdrawal.requested

A withdrawal has been requested for your customer.

partner.customer.withdrawal.accepted

The withdrawal has been accepted for processing.

partner.customer.withdrawal.sent

The withdrawal has been sent to the beneficiary’s bank.

partner.customer.withdrawal.failed

The withdrawal could not be completed.

Transaction events

transaction.status.changed

A transaction moved to a new status. Covers deposits and withdrawals alike, and is the lightest way to track settlement.

Common Fields

Envelope Fields

The Version 2 envelope wraps every event:

Base Fields

All event payloads include these fields in the data object:

Customer event fields

Every partner.customer.* event includes these in its data object:

Optional Fields

Many events include these optional fields when provided in the original request:

Testing Webhook Events

You can test your webhook implementation by using the StableMint sandbox environment. This allows you to simulate different event types and ensure your application handles them correctly. For more information on how to set up and handle webhooks, please refer to our Receiving Webhooks guide. For any questions or assistance with webhook events, please contact us at contact@stablemint.io.