Skip to main content

Ramp Webhooks

Ramp webhook events notify you when a ramp intent (buy or sell) reaches a terminal state.

Events

EventDescription
ramp.completedRamp intent completed (buy: crypto sent to wallet, sell: fiat payout submitted)
ramp.failedRamp intent failed (crypto send or payout submission failed)

Payloads

The payload varies depending on the ramp direction (buy vs sell) and outcome.

Buy Ramp Completed

Crypto has been sent to the customer's wallet:

{
"event_type": "ramp.completed",
"payment_data": {
"merchant_id": "m_abc123",
"intentId": "ri_1710345678000_a1b2c3d4e5f6g7h8",
"type": "buy",
"status": "completed",
"fiatCurrency": "USD",
"cryptoCurrency": "eth_ethereum",
"amount": 100,
"chain": "ethereum",
"destinationAddress": "0x742d35Cc6634C0532925a3b844Bc9e7595f2bD28",
"fireblocksTxId": "fb_tx_9a8b7c6d5e4f",
"completedAt": "2026-03-16T14:30:00.000Z"
}
}

Sell Ramp Completed

Fiat payout has been submitted to the customer's bank account:

{
"event_type": "ramp.completed",
"payment_data": {
"merchant_id": "m_abc123",
"intentId": "ri_1710345678000_a1b2c3d4e5f6g7h8",
"type": "sell",
"status": "completed",
"fiatCurrency": "USD",
"cryptoCurrency": "usdt_tron",
"amount": 20,
"payoutId": "po_xyz789",
"payoutAmount": 19.50,
"payoutCurrency": "USD",
"completedAt": "2026-03-16T14:30:00.000Z"
}
}

Ramp Failed

Buy or sell flow encountered an error:

{
"event_type": "ramp.failed",
"payment_data": {
"merchant_id": "m_abc123",
"intentId": "ri_1710345678000_a1b2c3d4e5f6g7h8",
"type": "buy",
"status": "failed",
"fiatCurrency": "USD",
"cryptoCurrency": "eth_ethereum",
"amount": 100,
"reason": "Crypto send failed",
"failedAt": "2026-03-16T14:30:00.000Z"
}
}

Payload Fields

FieldTypePresentDescription
merchant_idstringAlwaysYour merchant ID
intentIdstringAlwaysRamp intent ID (ri_...)
typestringAlways"buy" or "sell"
statusstringAlways"completed" or "failed"
fiatCurrencystringAlwaysISO currency code (e.g. USD, EUR)
cryptoCurrencystringAlwaysCrypto identifier (e.g. eth_ethereum, usdt_tron)
amountnumberAlwaysOriginal intent amount
completedAtstringOn successISO 8601 completion timestamp
failedAtstringOn failureISO 8601 failure timestamp
reasonstringOn failureHuman-readable failure reason
chainstringBuy successBlockchain network (e.g. ethereum, tron)
destinationAddressstringBuy successWallet address crypto was sent to
cryptoTxIdstringBuy successCrypto transaction reference
payoutIdstringSell successPayout reference ID
payoutAmountnumberSell successFiat amount paid out
payoutCurrencystringSell successFiat currency of payout