STABLE_COIN_PAYMENT_WEBHOOK endpoint. This is the only stablecoin payment event VelaFi sends. Orders that are rejected, cancelled, refunded, or flagged for an amount or network mismatch do not trigger a webhook. The payload includes full order details, blockchain transaction data, and the on-chain addresses involved. Your endpoint should verify the signature header and return HTTP 200 with {"callbackStatus": "SUCCESS"} to confirm receipt. VelaFi retries delivery if your endpoint does not respond within the timeout window.
Request Headers
Payload Fields
string
The ID of the webhook endpoint that delivered this event.
string
Always
STABLE_COIN_PAYMENT_WEBHOOK for this event type.string
Unique payment order ID.
string
ID of the user associated with the payment order.
string
ID of the merchant that owns this payment order.
string
ID of the payment link that generated this order.
string
ID of the destination wallet.
string
Human-readable name of the destination wallet.
string
Your merchant-supplied reference number for the order.
string
Stablecoin currency of the payment (e.g.,
USDT, USDC).string
Network code (e.g.,
USDT-POL, USDT-BEP20).string
Human-readable network name (e.g.,
Polygon (POS), Binance Smart Chain (BEP20)).string
Gross amount deposited by the payer.
string
Transaction fee deducted from the deposit.
string
Net amount received after fees (
depositAmount - feeAmount).string
Order status at the time of delivery. Because this webhook is sent when the order is confirmed, the value is normally
CONFIRMED.string
On-chain sender wallet address.
string
On-chain recipient wallet address.
string
Blockchain transaction hash for the on-chain settlement.
string
URL of the payment link associated with this order.
string
Unix timestamp (milliseconds) when the order was created.
string
Unix timestamp (milliseconds) at which the order is cancelled if it is not paid. It is set to 30 minutes after
createTime when the order is created, so confirmed orders also have it.string
Unix timestamp (milliseconds) when processing began.
string
Unix timestamp (milliseconds) when the on-chain transaction was confirmed.
string
Unix timestamp (milliseconds) at which this delivery attempt was signed.
Example Payload
Incoming POST body
Required Response
Return the following JSON body with HTTP status200:
Your response
All values are sent as JSON strings. Timestamps are Unix milliseconds, and a timestamp that is not set is sent as the string
"null". The txHash uniquely identifies the on-chain settlement — use it to verify finality independently on the blockchain if required by your compliance workflow.