Authorize a quote's SCA challenge
Satisfy the Strong Customer Authentication challenge carried by a quote in
PENDING_AUTHORIZATION status by submitting an ScaAuthorization proof.
This is used for realtime-funding quotes: the quote is returned with an
scaChallenge and without paymentInstructions; once authorized, the
quote advances and its paymentInstructions are populated so the customer
can fund the transfer.
As with all SCA, a quote may require more than one authorization: after
authorizing, if the quote is still PENDING_AUTHORIZATION it carries the
next scaChallenge — authorize that too, repeating until it advances (see
ScaChallenge).
This endpoint is only meaningful for customers in a region where SCA is required (e.g. EU). For customers outside SCA-regulated regions, this returns 409.
In sandbox, the SMS code is always 123456.
Authorizations
API token authentication using format <api token id>:<api client secret>
Path Parameters
The unique identifier of the quote whose SCA challenge is being authorized.
Body
Proof that satisfies an ScaChallenge. Provide exactly one of code (for SMS_OTP / TOTP) or passkeyAssertion (for PASSKEY). When supplying a passkeyAssertion, origin is required — the WebAuthn assertion is bound to the origin it was produced against, and a passkey confirmation is rejected without it.
The one-time code the customer received by SMS, or read from their authenticator app. In sandbox, the code is always 123456.
"123456"
Opaque WebAuthn assertion produced by the device from the challenge's passkeyAssertionOptions. Required when satisfying a PASSKEY challenge.
The WebAuthn origin the passkeyAssertion was produced against. Required alongside passkeyAssertion; omit it for the code path. When the challenge lists passkeyAllowedOrigins (enrollment / login challenges), it must be one of those. A per-transaction passkey challenge carries passkeyAssertionOptions but may omit passkeyAllowedOrigins; in that case supply the origin your app invoked the WebAuthn API from, which must match the relying party in passkeyAssertionOptions.
"https://app.example.com"
Response
Challenge authorized; the updated quote is returned.
Unique identifier for this quote
"Quote:019542f5-b3e7-1d02-0000-000000000006"
Current status of the quote. PENDING_AUTHORIZATION occurs only for customers in a region where Strong Customer Authentication is required (e.g. EU): the quote carries an scaChallenge that must be authorized before execution, and for realtime-funding sources paymentInstructions are withheld until it is satisfied.
PENDING, PENDING_AUTHORIZATION, PROCESSING, COMPLETED, FAILED, EXPIRED "PENDING"
When this quote was created
"2025-10-03T12:00:00Z"
Absolute UTC timestamp when the rate locked in this quote becomes invalid and the quote can no longer be executed. The window depends on the rail and corridor: instant rails (Lightning, Spark, USDC on Solana/Base/Polygon, RTP, SEPA Instant) typically expire in 1–5 minutes; corridors with longer settlement guarantees may have longer windows. Always rely on this timestamp rather than assuming a fixed window.
"2025-10-03T12:05:00Z"
Source account details
- Account
- Real-time Funding
Destination account details
- Account
- UMA Address
Currency for the sending amount
Currency for the receiving amount
The total amount that will be sent in the smallest unit of the sending currency (eg. cents).
123010
The total amount that will be received in the smallest unit of the receiving currency (eg. cents).
1000
Number of sending currency units per receiving currency unit.
The fees associated with the quote in the smallest unit of the sending currency (eg. cents). Note: this value may fluctuate between quotes — some underlying fee components are defined in the receiving currency, so their equivalent in the sending currency moves with the FX rate. The fees shown here are locked only for the lifetime of this quote.
x >= 010
The ID of the transaction created from this quote.
"Transaction:019542f5-b3e7-1d02-0000-000000000005"
Payment instructions for executing the payment. This is not required when using an internal account source.
Free-form information about the payment that travels with it to the recipient, as provided on the quote request. The field this populates depends on the payment rail: for ACH it populates the Addenda record, for FedNow and RTP it populates the remittanceInformation field, and for wires it populates the OBI (Originator to Beneficiary Information) / beneficiary information.
80"12345"
Additional information about the counterparty, if available and required by the platform in their configuration.
Details about the rate and fees for the transaction.
Present only while status is PENDING_AUTHORIZATION: the Strong Customer Authentication challenge to satisfy before this quote can be executed (or, for realtime-funding sources, before paymentInstructions are issued). Omitted for customers outside SCA-regulated regions (non-EU).