Webhook Payloads
Canonical Structure
interface WebhookPayload {
id: string;
type: string;
timestamp: string;
data: {
order: CheckoutOrder | null;
payment: CheckoutPayment | null;
paymentBridge: Record<string, unknown> | null;
};
}
data.order
CheckoutOrder is present for order lifecycle events and usually includes:
idmerchantIdstatusrequestedUsdcAmountremainingUsdcAmountdestinationAddressdestinationTokendestinationChainIdmetadata
data.payment
CheckoutPayment may be present for fulfillment/payout-related events.
Useful fields:
idorderIdrailpaymentAmountnetSettledUsdcAmountfulfillTransaction
Example
{
"id": "evt_abc123",
"type": "PAYMENT_SETTLED",
"timestamp": "2026-04-03T10:00:00.000Z",
"data": {
"order": {
"id": "ord_123",
"merchantId": "merchant_123",
"status": "FULFILLED",
"requestedUsdcAmount": "50.00",
"remainingUsdcAmount": "0.00",
"destinationAddress": "0x742d...",
"destinationToken": "USDC",
"destinationChainId": "8453"
},
"payment": {
"id": "pay_123",
"orderId": "ord_123",
"rail": "venmo",
"paymentAmount": "50.00",
"netSettledUsdcAmount": "49.50",
"fulfillTransaction": "0xabc..."
},
"paymentBridge": null
}
}
Bridge Event Payloads
For PAYMENT_BRIDGE_PENDING, PAYMENT_BRIDGE_SUBMITTED, PAYMENT_BRIDGE_COMPLETED, and PAYMENT_BRIDGE_FAILED, data.paymentBridge includes bridge state and destination transfer metadata.