Skip to main content

ONRAMP webhooks

Overview​

ONRAMP webhooks notify the merchant system about fiat deposit order creation, confirmation, payment, expiration, and failure.

Use webhooks as the main way to update onramp order status in the merchant system. If you need to verify the current order state, use [POST] fiat/deposit/order.

Event types​

Event typeWhen it is sent
FIAT_DEPOSIT_ORDER_CREATEDOnramp order was created.
FIAT_DEPOSIT_ORDER_CONFIRMOnramp order was confirmed and a payment link was issued.
FIAT_DEPOSIT_FIAT_FUNDS_RECEIVEDCustomer fiat payment was received.
FIAT_DEPOSIT_ADJUSTMENTFiat deposit order amount or processing data was adjusted.
FIAT_DEPOSIT_ORDER_EXPIREDCustomer did not complete payment before the order expired.
FIAT_DEPOSIT_ORDER_FAILEDOnramp order payment or processing failed.

Order state and webhook event names​

The order state field and webhook eventType are related, but they are not identical.

Order stateRelated webhook event
CREATEDFIAT_DEPOSIT_ORDER_CREATED
IN_PROGRESSFIAT_DEPOSIT_ORDER_CONFIRM
PAIDFIAT_DEPOSIT_FIAT_FUNDS_RECEIVED
DEPOSIT_COMPLETEDProcessing after fiat payment was completed.
EXTERNAL_WITHDRAWAL_IN_PROGRESSExternal address withdrawal is in progress.
PAUSEDExternal address withdrawal requires attention.
COMPLETEDFinal successful processing state.
FAILEDFIAT_DEPOSIT_ORDER_FAILED
EXPIREDFIAT_DEPOSIT_ORDER_EXPIRED

Webhook payload structure​

Each webhook request contains a common envelope and an event-specific data object.

Common data fields​

FieldTypeDescription
typestringEvent type. Usually matches eventType.
orderIdstringCalypso onramp order ID.
parentExternalIdstring or numberSystem ID of the order.
idempotencyKeystringExternal ID used during order creation.
externalIdstringMerchant-side order ID, if provided during order creation.
currencystringCryptocurrency received by the merchant.

Amount and result fields​

FieldTypeDescription
cryptoAmountstring or numberCryptocurrency amount.
fiatCurrencystringFiat currency paid by the customer.
fiatAmountstring or numberFiat amount.
reasonstringFailure reason, if included in the event.

Webhook example​

{
"requestId": "bf9348b7-2c14-46d7-868c-b597852da319",
"id": 3,
"createdDate": "2026-06-29T12:13:05.909616",
"level": "SUCCESS",
"service": "FIAT_DEPOSIT",
"eventType": "FIAT_DEPOSIT_FIAT_FUNDS_RECEIVED",
"data": {
"type": "FIAT_DEPOSIT_FIAT_FUNDS_RECEIVED",
"orderId": "123e4567-e89b-12d3-a456-426614174003",
"externalId": "order-1001",
"idempotencyKey": "123e4567-e89b-12d3-a456-426614174002",
"fiatAmount": 100,
"fiatCurrency": "USD",
"cryptoAmount": 99.5,
"currency": "USDT_TRX"
}
}
EventRecommended merchant action
FIAT_DEPOSIT_ORDER_CREATEDSave the order ID and merchant-side mapping.
FIAT_DEPOSIT_ORDER_CONFIRMRedirect the customer to the payment page if it was not done yet.
FIAT_DEPOSIT_FIAT_FUNDS_RECEIVEDMark fiat payment as received and wait for final processing state if needed.
FIAT_DEPOSIT_ADJUSTMENTUpdate stored order amounts or processing data and verify the current state through [POST] fiat/deposit/order.
FIAT_DEPOSIT_ORDER_EXPIREDMark the order as expired and create a new order if payment is still required.
FIAT_DEPOSIT_ORDER_FAILEDMark the order as failed and verify the current state through [POST] fiat/deposit/order.
DocumentLink
Create payment via ONRAMPHow to create a payment via ONRAMP
Webhook API referenceWebhook API