For the complete documentation index, see llms.txt. This page is also available as Markdown.

Funding Request

Funding Request Webhook

The Funding Request webhook keeps the integration in sync with the full lifecycle of a deposit made against a funding request from the moment it's detected on-chain, through confirmation and any required compliance review, to final settlement or failure. Rather than polling the Funding Request API, subscribe to this webhook to receive real-time status updates as they happen.

This message type (FUNDING_REQUEST) replaces the legacy FUNDING_REQUEST_DEPOSIT_CONFIRMING and FUNDING_REQUEST_DEPOSIT_RECEIVED webhooks.

A single funding request may receive multiple FUNDING_REQUEST messages over its lifetime as it progresses through these stages; the current stage is always identified by the pair of fields transactionStatus and statusReason in the payload.

Statuses

transactionStatus
statusReason
Meaning

CONFIRMING

Deposit Confirming

Deposit detected on-chain, awaiting blockchain confirmations

CONFIRMING

Deposit Under Review

Deposit flagged for manual compliance review

PROCESSING

Deposit Completed

Deposit confirmed and being processed toward the beneficiary

PROCESSING

Conversion Processed

Currency conversion for the deposit has been executed

COMPLETED

Funding Request Completed

Funds credited to the beneficiary account.

FAILED

Deposit Failed

The on-chain deposit could not be completed due to Blockchain deposit failure terminal failure

FAILED

Deposit Rejected

The deposit was rejected during compliance review

COMPLETED and FAILED are terminal states so no further FUNDING_REQUEST messages will be sent for that deposit once one of these is received.

Funding Request

Notifies you of status updates for a deposit tied to a funding request, from the moment it's detected on-chain to its final outcome. Replaces the legacy FUNDING_REQUEST_DEPOSIT_CONFIRMING and FUNDING_REQUEST_DEPOSIT_RECEIVED webhooks. The messageType header is always FUNDING_REQUEST, and the transactionStatus and statusReason fields together tell you which stage the deposit is in.

Payload

Funding request deposit webhook envelope.

messageIdstring · uuidRequired

Unique identifier for this webhook message.

Example: 2ad9e460-08f7-5b62-a74d-bfbb4b08471f
messageTypeconst: FUNDING_REQUESTRequired

Event type identifier. Value: FUNDING_REQUEST.

messageTimestring · date-timeRequired

Timestamp when the webhook message was generated.

Example: 2026-07-29T10:45:00.000Z
Responses
200

Webhook acknowledged

No content

Payload

{
  "messageId": "77fd9946-3a9e-4ad6-b058-2b0eeb574337",
  "messageTime": "2026-07-29T10:15:00.000Z",
  "messageType": "FUNDING_REQUEST",
  "message": {
    "fundingRequestId": "3af89f4f-2f6e-446f-9950-fdaecad274a6",
    "customerAccountId": "6aa91b4f-87ee-4b4f-9070-3a08b1ec23da",
    "customerReference": "invoice-1234",
    "beneficiaryAccountId": "8103911a-e35a-44f5-a456-57c115c3a7cd",
    "transactionStatus": "CONFIRMING",
    "statusReason": "Deposit Confirming",
    "fundingDetails": {
      "depositId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "txHash": "0xf9eb44e765d225fab36d07adffbdc75de50d7003df1250fa79d7f0b2171c2d08",
      "depositAmount": "100.00",
      "depositCurrency": "USDC",
      "beneficiaryCurrency": "USD",
      "beneficiaryAmount": null,
      "conversionRate": "1.00"
    },
    "fundingInstructions": {
      "address": "0xe422eDEa249f48A97818efF8C77901d880B009a3",
      "fundingCurrency": "USDC",
      "network": "ETHEREUM",
      "source": {
        "type": "wallet",
        "sourceWalletAddress": "0x1234567890abcdef1234567890abcdef12345678",
        "sourceWalletNetwork": "Ethereum"
      }
    },
    "clientMemo": "order-ref-abc",
    "createdAt": "2026-07-29T09:00:00.000Z",
    "detectedAt": "2026-07-29T10:14:55.000Z",
    "confirmedAt": null,
    "completedAt": null,
    "failedAt": null,
    "updatedAt": "2026-07-29T10:15:00.000Z"
  }
}

Last updated