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.
Request body
Example request
{
"code": "123456",
"origin": "https://app.example.com",
"endUserIpAddress": "203.0.113.42"
}Response
Challenge authorized; the updated quote is returned.
Example response
{
"id": "Quote:019542f5-b3e7-1d02-0000-000000000006",
"status": "PENDING",
"createdAt": "2025-10-03T12:00:00Z",
"expiresAt": "2025-10-03T12:05:00Z",
"source": {
"sourceType": "ACCOUNT",
"accountId": "InternalAccount:e85dcbd6-dced-4ec4-b756-3c3a9ea3d965",
"customerId": "Customer:019542f5-b3e7-1d02-0000-000000000001"
},
"destination": {
"destinationType": "ACCOUNT",
"accountId": "ExternalAccount:a12dcbd6-dced-4ec4-b756-3c3a9ea3d123",
"paymentRail": "ACH"
},
"sendingCurrency": {
"code": "USD",
"name": "United States Dollar",
"symbol": "$",
"decimals": 2
},
"receivingCurrency": {
"code": "USD",
"name": "United States Dollar",
"symbol": "$",
"decimals": 2
},
"totalSendingAmount": 123010,
"totalReceivingAmount": 1000,
"feesIncluded": 10,
"platformFeesIncluded": 5,
"paymentInstructions": [
{
"accountOrWalletInfo": {
"accountType": "USD_ACCOUNT",
"paymentRails": [
"ACH",
"WIRE"
],
"accountNumber": "1234567890",
"routingNumber": "021000021",
"bankName": "Chase Bank",
"reference": "UMA-Q12345-REF"
},
"instructionsNotes": "Include reference UMA-Q12345-REF in memo"
},
{
"accountOrWalletInfo": {
"accountType": "SPARK_WALLET",
"assetType": "BTC",
"address": "spark1pgssyuuuhnrrdjswal5c3s3rafw9w3y5dd4cjy3duxlf7hjzkp0rqx6dj6mrhu",
"invoice": "lnbc15u1p3xnhl2pp5jptserfk3zk4qy42tlucycrfwxhydvlemu9pqr93tuzlv9cc7g3sdqsvfhkcap3xyhx7un8cqzpgxqzjcsp5f8c52y2stc300gl6s4xswtjpc37hrnnr3c9wvtgjfuvqmpm35evq9qyyssqy4lgd8tj637qcjp05rdpxxykjenthxftej7a2zzmwrmrl70fyj9hvj0rewhzj7jfyuwkwcg9g2jpwtk3wkjtwnkdks84hsnu8xps5vsq4gj5hs"
}
}
],
"transactionId": "Transaction:019542f5-b3e7-1d02-0000-000000000005",
"counterpartyInformation": {
"FULL_NAME": "John Sender",
"BIRTH_DATE": "1985-06-15",
"NATIONALITY": "DE"
},
"rateDetails": {
"counterpartyMultiplier": 1.08,
"counterpartyFixedFee": 10,
"gridApiMultiplier": 0.925,
"gridApiFixedFee": 10,
"gridApiVariableFeeRate": 0.003,
"gridApiVariableFeeAmount": 30
},
"scaChallenge": {
"id": "ScaChallenge:019542f5-b3e7-1d02-0000-000000000007",
"expiresAt": "2025-10-03T12:05:00Z",
"availableFactors": [
"SMS_OTP"
],
"purpose": "PAYOUT",
"passkeyAllowedOrigins": [
"https://app.example.com"
]
}
}