v1

latestOpenAPI 3.1.02026-07-241653251.3 MB
Payments

Execute payment quote

Executes the quote identified by quote_id and creates the underlying fiat transaction. The quote must not have expired.

post/payments/execute

Headers

X-SCX-SIGNEDstring required

HMAC-SHA256 signature of the request, base64-encoded. See the Authentication guide for the exact signing formula.

X-SCX-TIMESTAMPstring required
Example:1678901234

Current Unix timestamp in seconds. Must be within 60 seconds of server time or the request is rejected.

Request body

participant_codestring required

Participant code of the customer executing the quote.

quote_idstring uuid required

Identifier of the quote returned by POST /payments/rfq. Must not have expired.

ach_signed_agreementnumber required

Unix timestamp in seconds at which the customer accepted the ACH debit authorization.

descriptionstring

Optional free-text descriptor for the transaction (max 10 characters).

external_account_idstring required

Identifier of the previously-linked external fiat account that will be debited.

account_groupstring

Optional override of the account group on the customer side. Defaults to the calling platform.

networkstring[]

Ordered list of acceptable fiat rails. When omitted, the service picks the best eligible rail for the account.

Example request

{
  "participant_code": "ABCDEF",
  "quote_id": "b4e04dea-430c-49e9-97e4-bb201a2e1f4a",
  "ach_signed_agreement": 1777895506,
  "description": "crypto buy",
  "external_account_id": "4f941b3b-df5a-4aae-85ee-d15a79077852",
  "account_group": "ABCDEF",
  "network": [
    "same_day_ach"
  ]
}

Response

Quote executed. Poll /payments/status with the returned transaction_id to observe lifecycle transitions.

Example response

{
  "message": {
    "request_id": "0f68333e-2114-469d-b505-c850d776e063",
    "transaction_id": "3c9558d1-2f78-4e5a-a946-40f89dff008b",
    "status": "submitted",
    "warning": "participant balance appears insufficient for the requested quote, transaction may fail"
  }
}