DocsAdvanced FeaturesPartner Deposit Flow

Partner-Provided Deposit Flow

When using partner-provided settlement for deposits, the partner executes the crypto leg after Settle confirms fiat receipt. This page describes the modified lifecycle, the webhook event, and the request additions.

Modified Lifecycle

1

User pays fiat

The end user initiates a fiat payment (e.g. bank transfer in ARS).

2

Settle confirms fiat receipt

Settle detects the incoming bank transfer and confirms the fiat leg.

3

Settle sends fiat_received event

A webhook event is sent to the partner's settlementWebhookUrl with order and settlement details.

4

Partner sends crypto

The partner transfers the crypto asset to the destination address provided in the order.

5

Settle confirms settlement

Settle verifies the on-chain transaction and marks the order as completed.

To activate partner-provided settlement, add the following fields to your deposit creation request (existing fields remain unchanged):

POST/api/orders/deposits

Additional Fields

settlementMode (string, "partner"), settlementWebhookUrl (string, your settlement event endpoint)

Settlement Event Webhook

When Settle confirms fiat receipt, a webhook event is sent to the settlementWebhookUrl you provided during order creation. The event includes all details the partner needs to execute the crypto settlement.

POST{settlementWebhookUrl}

Headers

X-Event-Id: unique-event-idX-Timestamp: unix-timestampX-Signature: HMAC_SHA256(secret, timestamp + rawBody)

Body Fields

event, orderId, transactionRef, fiatAmount, fiatCurrency, asset, network, settlementId

Note: Order status transitions to AwaitingPartnerSettlement after the fiat_received event is sent. If settlement is not completed within the defined window, the order may expire.

Next Steps