Skip to content

Webhook events

cTpeWay tells your server what happened by sending events to your webhook endpoints. This list is generated from the API description. For how to receive and verify events, see the Webhooks guide.

Event Sent when
deposit.payment_confirmed A payment to a deposit address confirmed. payment.settlement tracks its release.
deposit.payment_detected A payment to a deposit address was seen on the network. Not final yet.
deposit.payment_released A payment to a deposit address was swept to the master wallet.
Event Sent when
invoice.canceled The merchant canceled the invoice.
invoice.created An invoice was created.
invoice.expired The invoice expired unpaid. Payments that still arrive are reported as late payments.
invoice.late_payment A payment confirmed after the invoice expired or was canceled. The invoice keeps its status until the merchant accepts or refunds it.
invoice.option_selected The payer chose how to pay; the option now has an address and, for fiat invoices, a locked amount.
invoice.paid The invoice is paid. settlement tracks the release of the funds to the master wallet.
invoice.partially_refunded Part of what was paid to the invoice went back to the payer: the invoice now carries the flag partially_refunded and keeps its status. Sent once, when the first such refund completes; every refund has its own refund.completed.
invoice.payment_detected A payment to the invoice was seen on the network. Not final yet.
invoice.payment_reverted A payment to the invoice was orphaned or dropped; the invoice was re-evaluated without it.
invoice.refunded Everything paid to the invoice went back to the payer: a paid invoice is now refunded, which is final.
invoice.underpaid Confirmed payments are below the amount due. More can arrive until the invoice expires.
Event Sent when
master_wallet.low_balance Deposits are held because the master wallet is short of native coin.
Event Sent when
payment.confirmed The payment reached the network’s confirmation threshold. settlement tracks its release.
payment.detected A transfer to one of the merchant’s addresses was seen. It is not final yet.
payment.dropped An unconfirmed payment disappeared from the network without being included.
payment.orphaned A chain reorganisation removed the payment’s transaction.
payment.transaction_attached The transaction of a payment that was detected by a balance change (detected_by: balance) has been identified: the payment now has tx_hash and tx_index, which its earlier events did not carry. The payment (same id), its status and its settlement are unchanged.
Event Sent when
payout.broadcast The payout’s transaction (tx_hash) was handed to the network. It is not in a block yet.
payout.confirmed The payout’s transaction is final on the network.
payout.created A payout was accepted. Nothing has been sent yet; it can still be canceled.
payout.failed The payout paid nothing and will not be retried: it was refused, canceled, or its transaction failed (failure_code).
Event Sent when
refund.completed The refund’s payout is final on the network.
refund.created A refund was accepted and its payout created.
refund.failed The refund’s payout failed or was canceled: nothing was returned (failure_code).
Event Sent when
settlement.failed The release could not be completed; reason says why. It is retried manually.
settlement.held A confirmed deposit is waiting in its address: the master wallet cannot pay the fee and network costs yet, or a release guard applies (reason).
settlement.released The deposit was swept to the master wallet.
Event Sent when
test.ping A test event, sent on request to check that an endpoint receives and verifies deliveries.
Event Sent when
webhook_endpoint.failing Every retry of a delivery to this endpoint failed. Deliveries continue; the endpoint recovers on its first success.

Every event carries api_version: "v1".