Webhook Event: ramp.payout.completed
This webhook is triggered when a ramp payout is successfully completed.
It supports two scenarios:
- Off-Ramp โ Converting cryptocurrency to fiat.
- Crypto-to-Crypto โ Transferring cryptocurrency to another cryptocurrency wallet.
1. ramp.payout.completed (Off-Ramp)
For off-ramp payout, the category is set as OFF_RAMP.
The source type is CRYPTOCURRENCY and the target type is FIAT.
Example Payload
{
"event": "ramp.payout.completed",
"data": {
"id": "8bd9a372-8d2b-494c-b0b2-xxxxxxxxxxxxx",
"type": "SEND",
"category": "OFF_RAMP",
"state": "COMPLETED",
"referenceNumber": "YQXUA0ELOXXXXXX",
"quote": {
"id": "55ce26f5-96c1-40cd-9fd3-xxxxxxxxxxxxx",
"source": {
"currency": "USDC",
"symbol": "USDC",
"type": "CRYPTOCURRENCY",
"amount": 0.12,
"blockchain": "MATIC"
},
"target": {
"currency": "NGN",
"country": "NG",
"type": "FIAT",
"paymentChannel": "BANK_TRANSFER",
"amount": 201.68
},
"rate": 0,
"fees": {
"amount": 0,
"gas": {
"type": "MEDIUM",
"amount": 0.02
}
},
"summary": {
"total": 0.14
}
},
"recipient": {
"name": "NZAN CHRISTIANA OMOM",
"address": "",
"email": "",
"website": "",
"type": "BUSINESS",
"account": {
"bankName": "Guaranty Trust Bank",
"sortCode": "058",
"accountNumber": "071261XXXXXXXX",
"branchCode": "",
"mobileProvider": "",
"address": "",
"swiftCode": "",
"routingNumber": ""
},
"paymentChannel": "BANK_TRANSFER",
"currency": "NGN",
"country": "NG"
},
"created": "2025-01-08T12:23:51.908663",
"processed": "2025-01-08T12:30:10.499526"
}
}Payload Breakdown
Top-Level Fields
| Field | Type | Description |
|---|---|---|
| event | string | Event type (ramp.payout.completed) |
| data | object | Contains all transaction details |
Transaction Data (data object)
| Field | Type | Description |
|---|---|---|
| id | string | Unique transaction identifier |
| type | string | Transaction type (SEND) |
| category | string | Ramp category (OFF_RAMP) |
| state | string | Transaction status (COMPLETED) |
| referenceNumber | string | Internal reference ID |
| created | string | ISO 8601 creation timestamp |
| processed | string | ISO 8601 processing timestamp |
Quote Details (data.quote object)
Quote Metadata
| Field | Type | Description |
|---|---|---|
| id | string | Unique quote ID |
Source (Crypto)
| Field | Type | Description |
|---|---|---|
| source.currency | string | Source cryptocurrency code |
| source.symbol | string | Cryptocurrency symbol |
| source.type | string | Asset type (CRYPTOCURRENCY) |
| source.amount | number | Amount sent in crypto |
| source.blockchain | string | Blockchain network |
Target (Fiat)
| Field | Type | Description |
|---|---|---|
| target.currency | string | Target fiat currency |
| target.country | string | Target country code |
| target.type | string | Asset type (FIAT) |
| target.paymentChannel | string | Transfer method |
| target.amount | number | Amount received in fiat |
Fees & Summary
| Field | Type | Description |
|---|---|---|
| fees.amount | number | Total service fee |
| fees.gas.type | string | Gas fee tier (LOW/MEDIUM/HIGH) |
| fees.gas.amount | number | Gas fee amount |
| summary.total | number | Total crypto amount (source + fees) |
Recipient Details (data.recipient object)
| Field | Type | Description |
|---|---|---|
| name | string | Recipient name |
| type | string | Recipient type (BUSINESS/INDIVIDUAL) |
| paymentChannel | string | Transfer method |
| currency | string | Settlement currency |
| country | string | Recipient country |
Bank Account (Fiat-specific fields)
| Field | Type | Description |
|---|---|---|
| account.bankName | string | Recipient bank name |
| account.sortCode | string | Bank sort code |
| account.accountNumber | string | Bank account number |
| account.branchCode | string | Bank branch code |
| account.mobileProvider | string | Mobile money provider |
| account.address | string | Recipient physical address |
| account.swiftCode | string | SWIFT/BIC code |
| account.routingNumber | string | Bank routing number |
2. ramp.payout.completed (Crypto)
For crypto-to-crypto payout, the category is set as CRYPTOCURRENCY.
Both the source.type and target.type are CRYPTOCURRENCY.
Example Payload (Crypto)
{
"event": "ramp.payout.completed",
"data": {
"id": "8bd9a372-8d2b-494c-b0b2-xxxxxxxxxxxxx",
"type": "SEND",
"category": "CRYPTOCURRENCY",
"state": "COMPLETED",
"referenceNumber": "YQXUA0ELOHXDL",
"quote": {
"id": "55ce26f5-96c1-4ghd-9fd3-xxxxxxxxxxxxx",
"source": {
"currency": "USDC",
"symbol": "USDC",
"type": "CRYPTOCURRENCY",
"amount": 0.12,
"blockchain": "MATIC"
},
"target": {
"currency": "USDC",
"symbol": "USDC",
"type": "CRYPTOCURRENCY",
"amount": 0.12,
"blockchain": "MATIC"
},
"rate": 0,
"fees": {
"amount": 0,
"gas": {
"type": "MEDIUM",
"amount": 0.02
}
},
"summary": {
"total": 0.14
}
},
"recipient": {
"address": "0x018b979db90e60d2b2a4xxxxxxxxxxxxxxxxxxxx",
"alias": "Testing",
"blockchain": "MATIC",
"symbol": "POL"
},
"created": "2025-01-08T12:23:51.908663",
"processed": "2025-01-08T12:30:10.499526"
}
}title: Payload Breakdown (Crypto) description: Detailed breakdown of the payload structure for crypto-related webhook events, including transaction metadata, asset details, fees, and recipient information.
Payload Breakdown (Crypto)
Top-Level Fields
| Field | Type | Description |
|---|---|---|
event | string | Webhook event type |
data | object | Transaction details container |
Transaction Metadata
| Field | Type | Description |
|---|---|---|
id | string | Unique transaction ID |
type | string | Always "SEND" for transfers |
category | string | "CRYPTOCURRENCY" identifier |
state | string | Current transaction state |
referenceNumber | string | Internal tracking reference |
created | string | Transaction initiation timestamp |
processed | string | Transaction completion timestamp |
Quote Information
| Field | Type | Description |
|---|---|---|
id | string | Unique quote reference |
Source Assets
| Field | Type | Description |
|---|---|---|
source.currency | string | Cryptocurrency ticker |
source.symbol | string | Asset symbol |
source.type | string | Asset classification |
source.amount | number | Sent amount |
source.blockchain | string | Originating network |
Destination Assets
| Field | Type | Description |
|---|---|---|
target.currency | string | Destination asset ticker |
target.symbol | string | Destination symbol |
target.type | string | Destination asset type |
target.amount | number | Received amount |
target.blockchain | string | Destination network |
Fee Structure
| Field | Type | Description |
|---|---|---|
fees.amount | number | Platform fees |
fees.gas.type | string | Network fee priority |
fees.gas.amount | number | Estimated gas costs |
summary.total | number | Total amount deducted |
Recipient Information
| Field | Type | Description |
|---|---|---|
address | string | Destination wallet address |
alias | string | Wallet identifier |
blockchain | string | Destination chain |
symbol | string | Native token symbol |