Real-time status webhook hosted by Ledger. Partners call this endpoint to notify Ledger whenever the status of a swap transaction changes.

  • Authenticated with the provider-specific x-api-key header (a shared secret provisioned by Ledger). Calls without a valid key are rejected with 401, and the same 401 is returned for unknown / unsupported providers so callers cannot probe which providers exist.
  • Processing is asynchronous: a 200 means the update was authenticated, validated and queued, not that it has already been persisted. The update is applied shortly after, and only while the swap is still in a non-final status.
  • providerStatus is your own status string (typically the same value your GET /status endpoint returns). Ledger maps it to an internal status using the same per-provider mapping it uses when polling your /status endpoint; a value Ledger cannot map is rejected with 422 and nothing is persisted.
post/webhook/{swapId}/status

Request

  • Base URL: https://developers.ledger.com (the document declares no server; this is the origin it was published from)
  • URL: https://developers.ledger.com/webhook/{swapId}/status
  • Auth: API key in header x-api-key

Path parameters

swapIdstring required

The swap transaction id (the swapId returned by /swap/fixed or /swap/float).

Request body

providerIdstring required

Your provider id. Used by Ledger to authenticate the call and to select the status mapping; it must match the provider that owns the swap.

providerStatusstring required

Your own transaction status string, typically the same value returned by your GET /status endpoint. Ledger maps it to an internal status using the per-provider mapping; an unmapped value is rejected with 422.

amountstring required

Final amount transferred to the user, in the output currency. Required, because a finalized swap leaves the polling set and a missing amount would never be backfilled.

providerFeesstring

Fees paid to the provider, converted to the output currency.

networkFeesstring

Referral / extra fee, converted to the output currency.

payinTransactionIdstring

On-chain payin transaction hash.

transactionHashstring

On-chain payout transaction hash.

Example request

{
  "providerId": "moonpaytrade",
  "providerStatus": "finished"
}

Response

The status update was accepted and queued for asynchronous processing.

messagestring required

Always queued - the update was accepted and will be applied asynchronously.

Example response

{
  "message": "queued"
}

Changes

No recorded changes to this operation across all 1 revision of this API.