๐Ÿ“ฃ New Region Unlocked: You can now send payouts directly to Malawi! ๐Ÿ‡ฒ๐Ÿ‡ผ
๐Ÿ”— Webhooks
๐Ÿ’ฑ Ramp Webhook

Webhook Event: ramp.payout.completed

This webhook is triggered when a ramp payout is successfully completed.
It supports two scenarios:

  1. Off-Ramp โ€“ Converting cryptocurrency to fiat.
  2. 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

FieldTypeDescription
eventstringEvent type (ramp.payout.completed)
dataobjectContains all transaction details

Transaction Data (data object)

FieldTypeDescription
idstringUnique transaction identifier
typestringTransaction type (SEND)
categorystringRamp category (OFF_RAMP)
statestringTransaction status (COMPLETED)
referenceNumberstringInternal reference ID
createdstringISO 8601 creation timestamp
processedstringISO 8601 processing timestamp

Quote Details (data.quote object)

Quote Metadata

FieldTypeDescription
idstringUnique quote ID

Source (Crypto)

FieldTypeDescription
source.currencystringSource cryptocurrency code
source.symbolstringCryptocurrency symbol
source.typestringAsset type (CRYPTOCURRENCY)
source.amountnumberAmount sent in crypto
source.blockchainstringBlockchain network

Target (Fiat)

FieldTypeDescription
target.currencystringTarget fiat currency
target.countrystringTarget country code
target.typestringAsset type (FIAT)
target.paymentChannelstringTransfer method
target.amountnumberAmount received in fiat

Fees & Summary

FieldTypeDescription
fees.amountnumberTotal service fee
fees.gas.typestringGas fee tier (LOW/MEDIUM/HIGH)
fees.gas.amountnumberGas fee amount
summary.totalnumberTotal crypto amount (source + fees)

Recipient Details (data.recipient object)

FieldTypeDescription
namestringRecipient name
typestringRecipient type (BUSINESS/INDIVIDUAL)
paymentChannelstringTransfer method
currencystringSettlement currency
countrystringRecipient country

Bank Account (Fiat-specific fields)

FieldTypeDescription
account.bankNamestringRecipient bank name
account.sortCodestringBank sort code
account.accountNumberstringBank account number
account.branchCodestringBank branch code
account.mobileProviderstringMobile money provider
account.addressstringRecipient physical address
account.swiftCodestringSWIFT/BIC code
account.routingNumberstringBank 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

FieldTypeDescription
eventstringWebhook event type
dataobjectTransaction details container

Transaction Metadata

FieldTypeDescription
idstringUnique transaction ID
typestringAlways "SEND" for transfers
categorystring"CRYPTOCURRENCY" identifier
statestringCurrent transaction state
referenceNumberstringInternal tracking reference
createdstringTransaction initiation timestamp
processedstringTransaction completion timestamp

Quote Information

FieldTypeDescription
idstringUnique quote reference

Source Assets

FieldTypeDescription
source.currencystringCryptocurrency ticker
source.symbolstringAsset symbol
source.typestringAsset classification
source.amountnumberSent amount
source.blockchainstringOriginating network

Destination Assets

FieldTypeDescription
target.currencystringDestination asset ticker
target.symbolstringDestination symbol
target.typestringDestination asset type
target.amountnumberReceived amount
target.blockchainstringDestination network

Fee Structure

FieldTypeDescription
fees.amountnumberPlatform fees
fees.gas.typestringNetwork fee priority
fees.gas.amountnumberEstimated gas costs
summary.totalnumberTotal amount deducted

Recipient Information

FieldTypeDescription
addressstringDestination wallet address
aliasstringWallet identifier
blockchainstringDestination chain
symbolstringNative token symbol