Webhook events: onchain payments
Common events
When you work with Cross River accounts, cards and payments, you register for specific webhooks which have a specific event format.
This table presents common cryptowebhook events that are described in detail below.
Event Name | Description | Related Endpoint |
|---|---|---|
Outbound crypto payment successfully sent/broadcast to chain | ||
Outbound payment canceled before blockchain initiation | ||
Outbound payment rejected during validation/compliance | ||
Inbound crypto payment credited to the specified account | | |
Onchain transaction detected for a payment | Send PII |
Event examples
Crypto.Payment.Sent
Triggered when a payment has been successfully broadcast to the blockchain and confirmed as sent. Indicates that funds have left Cross River’s on-chain wallet and the transaction hash is available.
{
"event": {
"id": "f367af94-3b70-47a7-a83e-b39d012735e2",
"eventName": "Crypto.Payment.Sent",
"status": "Pending",
"partnerId": "7712a77c-60a7-49c5-9f08-b1a1012d253f",
"createdAt": "2025-11-22T12:54:49.703-05:00",
"resources": [
"crypto/v1/payments/9b420f90-b10c-427e-aa3a-b39d01247829"
],
"details": [
{
"paymentId": "9b420f90-b10c-427e-aa3a-b39d01247829",
"productId": "37d97c35-1fcd-49e7-a0cd-b1a1012eb05d",
"referenceId": "CRP326LT2T2840",
"accountNumber": "2564791479",
"amountNative": "100.0",
"amount": "100000000",
"currency": "usdc",
"unit": "Mwei",
"networkFeeNative": "0.000045059",
"networkFee": "45059",
"serviceFeeNative": "0.0",
"serviceFee": "0",
"feeCurrency": "eth",
"feeUnit": "Gwei",
"coreTransactionId": "fd0f368e-afe4-4a5d-bc9c-b39d01271a99",
"blockchain": "ethereum",
"sourceAddress": "0x1E40695142E086a8F8c62545d199f8E81333242B",
"destinationAddress": "0x0e6f76783822826ED173fEE6265bDbbdfEd4a0F5",
"transactionHash": "0x6712d9d6074c39a4557c26ccce5d1d7d09a5f9486b41084fb4d439240bfca7c8",
"completedAt": "11/22/2025 12:54:29 PM",
"status": "Completed",
"clientIdentifier": "QUOTE-2025-001",
"direction": "Outbound",
"memoPostId": "9b420f90-b10c-427e-aa3a-b39d01247829"
}
]
}
}
Crypto.Payment.Canceled
Triggered when a previously originated payment is canceled before blockchain submission. Typically occurs due to partner-initiated cancellation or insufficient liquidity before minting.
{
"event": {
"id": "e6c23b82-5d0f-4163-8176-b39d01285061",
"eventName": "Crypto.Payment.Canceled",
"status": "Pending",
"partnerId": "7712a77c-60a7-49c5-9f08-b1a1012d253f",
"createdAt": "2025-11-22T12:58:50.773-05:00",
"resources": [
"crypto/v1/payments/b57c8712-c93c-45fc-9d31-b39d0128214a"
],
"details": [
{
"paymentId": "b57c8712-c93c-45fc-9d31-b39d0128214a",
"productId": "37d97c35-1fcd-49e7-a0cd-b1a1012eb05d",
"referenceId": "CRP32665C4QBX6",
"accountNumber": "2564791479",
"amountNative": "100.0",
"amount": "100000000",
"currency": "usdc",
"unit": "Mwei",
"networkFeeNative": null,
"networkFee": null,
"serviceFeeNative": null,
"serviceFee": null,
"feeCurrency": "eth",
"feeUnit": "Gwei",
"coreTransactionId": null,
"blockchain": "ethereum",
"sourceAddress": "0x1E40695142E086a8F8c62545d199f8E81333242B",
"destinationAddress": "0x0e6f76783822826ED173fEE6265bDbbdfEd4a0F5",
"transactionHash": null,
"completedAt": null,
"status": "Canceled",
"clientIdentifier": "QUOTE-2025-001",
"direction": "Outbound",
"memoPostId": null
}
]
}
}
Crypto.Payment.Rejected
Triggered when a payment is rejected during validation, compliance screening, or blockchain broadcast failure. No funds are debited from the source wallet.
{
"event": {
"id": "9140c805-ffc7-498c-a3a9-b39d0128b9ea",
"eventName": "Crypto.Payment.Rejected",
"status": "Pending",
"partnerId": "7712a77c-60a7-49c5-9f08-b1a1012d253f",
"createdAt": "2025-11-22T13:00:20.823-05:00",
"resources": [
"crypto/v1/payments/a04f6ff1-078e-4e22-9528-b39d01287e87"
],
"details": [
{
"paymentId": "a04f6ff1-078e-4e22-9528-b1a1012eb05d8b",
"productId": "37d97c35-1fcd-49e7-a0cd-b1a1012eb05d",
"referenceId": "CRP3266U3I146Q",
"accountNumber": "2564791479",
"amountNative": "101.0",
"amount": "101000000",
"currency": "usdc",
"unit": "Mwei",
"networkFeeNative": null,
"networkFee": null,
"serviceFeeNative": null,
"serviceFee": null,
"feeCurrency": "eth",
"feeUnit": "Gwei",
"coreTransactionId": null,
"blockchain": "ethereum",
"sourceAddress": "0x1E40695142E086a8F8c62545d199f8E81333242B",
"destinationAddress": "0x0e6f76783822826ED173fEE6265bDbbdfEd4a0F5",
"transactionHash": null,
"completedAt": null,
"status": "Rejected",
"clientIdentifier": "QUOTE-2025-001",
"direction": "Outbound",
"memoPostId": null
}
]
}
}
Crypto.Payment.Received
Triggered when an inbound blockchain transfer to a Cross River wallet is detected and reconciled to an account. Indicates the funds have been credited on-chain and will appear in account balance.
{
"event": {
"id": "9dff134c-93fe-4b97-b056-b39d012b8053",
"eventName": "Crypto.Payment.Received",
"status": "Pending",
"partnerId": "7712a77c-60a7-49c5-9f08-b1a1012d253f",
"createdAt": "2025-11-22T13:10:27.057-05:00",
"resources": [
"crypto/v1/payments/180cc43f-76fb-4a52-9d9c-b39d012b007d"
],
"details": [
{
"paymentId": "180cc43f-76fb-4a52-9d9c-b39d012b007d",
"productId": "37d97c35-1fcd-49e7-a0cd-b1a1012eb05d",
"referenceId": "CRP326G7811Y89",
"accountNumber": "2564791479",
"amountNative": "17.0",
"amount": "17000000",
"currency": "usdc",
"unit": "Mwei",
"networkFeeNative": "0.000000062",
"networkFee": "62",
"serviceFeeNative": null,
"serviceFee": null,
"feeCurrency": "eth",
"feeUnit": "Gwei",
"coreTransactionId": "03c03ed3-e737-4486-b4df-b39d012b72b7",
"blockchain": "ethereum",
"sourceAddress": "0x0e6f76783822826ED173fEE6265bDbbdfEd4a0F5",
"destinationAddress": "0x719d2Ce9E9bD2807a1e8e7a8f6370cE845F2485E",
"transactionHash": "0x76757a8bad37569f70ee53bd74e967a399668ef4f0ebcd977c2b0992fecbfd8b",
"completedAt": "11/22/2025 1:10:16 PM",
"status": "Completed",
"direction": "Inbound"
}
]
}
}
Crypto.Payment.OnchainTransactionDetected
Triggered when an onchain transaction is detected for a payment. This event notifies the partner that Cross River has received the onchain transaction details and created or updated the related payment record. In the example below, the payment is inbound and remains on hold until PII is provided (if required).
{
"id": "88e943d0-aedb-45bd-b70f-b45701320cbf",
"eventName": "Crypto.Payment.OnchainTransactionDetected",
"status": "Pending",
"partnerId": "aa554e0a-910c-435f-89ba-b06c01305d57",
"createdAt": "2026-05-27T14:34:17.593-04:00",
"resources": [
"crypto/v1/payments/f87ee6d5-7775-46cd-a6de-b4570131ee00"
],
"details": [
{
"paymentId": "f87ee6d5-7775-46cd-a6de-b4570131ee00",
"productId": "ac6686be-005f-4b05-bb4a-b42f013bba12",
"referenceId": "CRP147BW063MN5",
"accountNumber": "123989446893",
"amountNative": "1.0",
"amount": "1000000",
"currency": "usdc",
"unit": "Mwei",
"networkFeeNative": "0.00008",
"networkFee": "80000",
"serviceFeeNative": null,
"serviceFee": null,
"feeCurrency": "sol",
"feeUnit": "Lamport",
"coreTransactionId": null,
"blockchain": "solana",
"sourceAddress": "FVfZayznELJYdghc3pwe3WumFgxgkDh6hWjrEhgMZw84",
"destinationAddress": "EULmgJikmjL7RVWY77udr16Ji1Zb69bLqJoc6xMGf6rW",
"transactionHash": "2k38gpiAx9hFeVNQXcQpmovQtYetxQQS3VrR9Z2nwVwJRY9P9F75P6CrhDSb6G1zsyoZzgmEpVGcLjmuAxD8LbYD",
"completedAt": null,
"status": "Hold",
"clientIdentifier": null,
"direction": "Inbound",
"memoPostId": null
}
]
}