Event types
An event’s type is resource.event: payment.succeeded is about a payment. Choose the types an endpoint should get when you set it up, or All events for every type, including types we add later. Listening to everything is easy, but your server then gets events it may not need: we suggest naming the types you handle.
Since is the API version a type came in. An endpoint that listens to a type, or to All events, gets it whatever its own version, with its object shaped in that version. New types can come in any version, so let your code ignore a type it doesn’t know.
Payments
A payment was created, changed status or got new payment details.
| Type | Sent when | Since |
|---|---|---|
payment.created | A payment was created and waits for the payer; the payment details to show are in it. | 2026-10-01.acacia |
payment.processing | The payer or you confirmed the payment; we wait for the money to arrive. | 2026-10-01.acacia |
payment.succeeded | The money arrived. Sent again, with a higher version, when we correct a confirmed amount. | 2026-10-01.acacia |
payment.failed | The payment failed and will not be paid. | 2026-10-01.acacia |
payment.expired | Time to pay passed; money that arrives within the late-payment window still makes it succeeded. | 2026-10-01.acacia |
payment.instructions_updated | The payer got new payment details for the same amount; the status did not change. | 2026-10-01.acacia |
Payouts
Money sent from your balance to a bank account was created, paid, failed, canceled or put under review. Test mode only for now: its magic amounts send every one.
| Type | Sent when | Since |
|---|---|---|
payout.created | A payout was made and waits to be sent; its amount and fee are held from your available balance. | 2026-10-24.acacia |
payout.paid | The recipient's bank took the payout. | 2026-10-24.acacia |
payout.failed | The payout was not sent, or the bank refused it; failure_code says why, and its amount and fee are back in your balance. | 2026-10-24.acacia |
payout.requires_review | We could not tell whether the payout went through, and our team is checking: it ends paid or failed. | 2026-10-24.acacia |
payout.canceled | You canceled a pending payout; its amount and fee are back in your balance. | 2026-10-24.acacia |
Settlements
Your balance on a market was paid out to you in USDT, or such a payout changed. Live mode only: test mode makes no settlements.
| Type | Sent when | Since |
|---|---|---|
settlement.created | A settlement of your balance was made, by you or by our team, and waits to be sent; its amount is reserved from your available balance. | 2026-10-19.acacia |
settlement.updated | A pending settlement's amount, rate or address changed before it was sent, or a paid one was reversed: its amount is back in your balance. | 2026-10-19.acacia |
settlement.paid | A settlement was sent; its tx_hash is the TRON transfer. | 2026-10-19.acacia |
settlement.canceled | A settlement will not be sent; its amount is back in your balance. | 2026-10-19.acacia |
The settlement object
Section titled “The settlement object”The settlement.* events carry a settlement in data.object: a payout of your balance on a market in USDT, to one of your payout addresses, as Stripe’s payout is. It is the same object GET /settlements/{id} answers, as it was right after the event; the Settlements page lists its fields. Each of your accounts on that market gets the event, for the settlements you request and for those our team makes for you (origin). They are live mode only: test mode makes no settlements, so an endpoint in test mode never gets one.
version grows with every change of a settlement: ignore an event whose version is lower than one you processed.