curl --request PUT \
--url https://api-sandbox.superbank.co/v0/settlement-requests/{id} \
--header 'Content-Type: application/json' \
--header 'X-Api-Key: <api-key>' \
--data '
{
"status": "FUNDS_SENT"
}
'import requests
url = "https://api-sandbox.superbank.co/v0/settlement-requests/{id}"
payload = { "status": "FUNDS_SENT" }
headers = {
"X-Api-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'X-Api-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({status: 'FUNDS_SENT'})
};
fetch('https://api-sandbox.superbank.co/v0/settlement-requests/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"id": "d4e5f6a7-b8c9-4d0e-a1f2-3b4c5d6e7f8a",
"type": "FIAT_TO_STABLECOIN",
"payment_reason": "PERSONAL_TRANSFERS",
"status": "REQUEST_STARTED",
"amount": "99.00",
"destination": {},
"payment_instructions": {
"currency": "USDC",
"rail": "SOLANA",
"valid_until": "2026-01-20T15:22:12.805Z",
"amount": "729.16",
"wallet_address": "FRNthe6oqA8fhVMfXMM12rGmFYvejtkmH3bRfYBxWnLB",
"chain": "SOLANA",
"bank_name": "JPMorgan Chase",
"account_number": "123456789",
"routing_number": "021000021",
"deposit_message": "SB-39760060",
"destination_amount": "1000.00",
"destination_currency": "CAD",
"exchange_rate": "1.3788512205",
"fee": {
"fixed": 1,
"variable": 0.005,
"total": 6
}
},
"created_at": "2026-01-20T15:17:12.805Z",
"updated_at": "2026-01-20T15:20:00.000Z",
"external_id": "order_abc123",
"metadata": {
"restaurant_id": "rest_42",
"source": "web"
},
"transaction_id": "your_trx_123",
"source": {
"currency": "USDC",
"rail": "SOLANA",
"wallet_address": "0x388C818CA8B9251b393131C08a736A67ccB19297"
},
"outbound_payment": {
"id": "d4e5f6a7-b8c9-4d0e-a1f2-3b4c5d6e7f8a",
"type": "PAYOUT",
"status": "PROCESSING",
"amount": "99.00",
"currency": "USDC",
"created_at": "2026-01-20T15:20:00.000Z"
},
"inbound_payment": {
"id": "d4e5f6a7-b8c9-4d0e-a1f2-3b4c5d6e7f8a",
"type": "PAYOUT",
"status": "PROCESSING",
"amount": "99.00",
"currency": "USDC",
"created_at": "2026-01-20T15:20:00.000Z"
},
"processing_at": "2026-01-20T15:20:00.000Z",
"completed_at": "2026-01-20T15:25:00.000Z",
"reconciliation_expected_at": "2026-01-23T15:20:00.000Z",
"failure_code": "AMOUNT_MISMATCH_UNDERPAYMENT",
"failure_reason": "Amount mismatch: expected 100.00, received 90.00"
}Update settlement request status
Update the status of a settlement request. Use status=PROCESSING to initiate the OUTBOUND payment. Use status=COMPLETED with txHash to complete with reconciliation. Use status=CANCELED to cancel the request.
curl --request PUT \
--url https://api-sandbox.superbank.co/v0/settlement-requests/{id} \
--header 'Content-Type: application/json' \
--header 'X-Api-Key: <api-key>' \
--data '
{
"status": "FUNDS_SENT"
}
'import requests
url = "https://api-sandbox.superbank.co/v0/settlement-requests/{id}"
payload = { "status": "FUNDS_SENT" }
headers = {
"X-Api-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'X-Api-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({status: 'FUNDS_SENT'})
};
fetch('https://api-sandbox.superbank.co/v0/settlement-requests/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"id": "d4e5f6a7-b8c9-4d0e-a1f2-3b4c5d6e7f8a",
"type": "FIAT_TO_STABLECOIN",
"payment_reason": "PERSONAL_TRANSFERS",
"status": "REQUEST_STARTED",
"amount": "99.00",
"destination": {},
"payment_instructions": {
"currency": "USDC",
"rail": "SOLANA",
"valid_until": "2026-01-20T15:22:12.805Z",
"amount": "729.16",
"wallet_address": "FRNthe6oqA8fhVMfXMM12rGmFYvejtkmH3bRfYBxWnLB",
"chain": "SOLANA",
"bank_name": "JPMorgan Chase",
"account_number": "123456789",
"routing_number": "021000021",
"deposit_message": "SB-39760060",
"destination_amount": "1000.00",
"destination_currency": "CAD",
"exchange_rate": "1.3788512205",
"fee": {
"fixed": 1,
"variable": 0.005,
"total": 6
}
},
"created_at": "2026-01-20T15:17:12.805Z",
"updated_at": "2026-01-20T15:20:00.000Z",
"external_id": "order_abc123",
"metadata": {
"restaurant_id": "rest_42",
"source": "web"
},
"transaction_id": "your_trx_123",
"source": {
"currency": "USDC",
"rail": "SOLANA",
"wallet_address": "0x388C818CA8B9251b393131C08a736A67ccB19297"
},
"outbound_payment": {
"id": "d4e5f6a7-b8c9-4d0e-a1f2-3b4c5d6e7f8a",
"type": "PAYOUT",
"status": "PROCESSING",
"amount": "99.00",
"currency": "USDC",
"created_at": "2026-01-20T15:20:00.000Z"
},
"inbound_payment": {
"id": "d4e5f6a7-b8c9-4d0e-a1f2-3b4c5d6e7f8a",
"type": "PAYOUT",
"status": "PROCESSING",
"amount": "99.00",
"currency": "USDC",
"created_at": "2026-01-20T15:20:00.000Z"
},
"processing_at": "2026-01-20T15:20:00.000Z",
"completed_at": "2026-01-20T15:25:00.000Z",
"reconciliation_expected_at": "2026-01-23T15:20:00.000Z",
"failure_code": "AMOUNT_MISMATCH_UNDERPAYMENT",
"failure_reason": "Amount mismatch: expected 100.00, received 90.00"
}Authorizations
Path Parameters
The unique identifier of the settlement request
Body
The status to update the settlement request to
FUNDS_SENT, REQUEST_COMPLETED, REQUEST_CANCELED, PAYIN_CANCELED, PAYIN_UNDER_REVIEW, PAYIN_FAILED, PAYIN_AMOUNT_MISMATCH "FUNDS_SENT"
An identifier of your choice for this settlement. Same field as external_id on create — provided here for clients that set the identifier at FUNDS_SENT time rather than on create.
255"order_abc123"
Deprecated — removal: 2026-05-25. Use external_id instead. Both fields map to the same underlying value; if both are sent, external_id wins.
"your_trx_123"
The transaction hash that will be associated with the settlement request
"5K8z2tF3mN9pQrS4uV6wX7yZ1aB2cD3eF4gH5iJ6kL7m8N9oP0qR1sT2uV3wX4yZ5a"
Response
Settlement request updated
The unique identifier of the settlement request
"d4e5f6a7-b8c9-4d0e-a1f2-3b4c5d6e7f8a"
The type of settlement request
STABLECOIN_TO_STABLECOIN, FIAT_TO_STABLECOIN, STABLECOIN_TO_FIAT, FIAT_TO_FIAT "FIAT_TO_STABLECOIN"
Reason for the payment; internal for the sender
CHARITABLE_CONTRIBUTIONS, CONSULTING_FEES, EDUCATION_FEES, EMPLOYEE_SALARIES_OR_WAGES, FAMILY_SUPPORT, GIFTS, INSURANCE, INTERCOMPANY_TRANSFER, INVESTMENTS, LOANS, PERSONAL_TRANSFERS, PURCHASE_OF_GOODS, PURCHASE_OF_SERVICES, REAL_ESTATE, RENT, TAXES, TRAVEL, UTILITY_BILLS "PERSONAL_TRANSFERS"
The current lifecycle status of the settlement request
REQUEST_STARTED, REQUEST_EXPIRED, REQUEST_CANCELED, REQUEST_COMPLETED, REQUEST_REFUNDED, FUNDS_SENT, FUNDS_RECEIVING_LATE, SETTLEMENT_SENT, SETTLEMENT_COMPLETED, PAYIN_CANCELED, PAYIN_UNDER_REVIEW, PAYIN_FAILED, PAYIN_AMOUNT_MISMATCH, PAYOUT_CANCELED, PAYOUT_UNDER_REVIEW, PAYOUT_FAILED "REQUEST_STARTED"
The amount of the settlement request
"99.00"
The destination details for the settlement
Instructions describing the inbound payment
Show child attributes
Show child attributes
The timestamp when the settlement request was created
"2026-01-20T15:17:12.805Z"
The timestamp of the most recent update
"2026-01-20T15:20:00.000Z"
An identifier you supplied for this settlement (e.g. your internal order id). Filterable via GET /v0/settlement-requests?external_id=....
"order_abc123"
Free-form key/value pairs you supplied for correlation. Up to 50 string keys (≤40 chars) with string values (≤500 chars). Echoed on every read and webhook; not filterable.
Show child attributes
Show child attributes
{
"restaurant_id": "rest_42",
"source": "web"
}
Deprecated — removal: 2026-05-25. Use external_id. Same value, kept for compatibility until the removal date.
"your_trx_123"
The source details (for off-ramp)
Show child attributes
Show child attributes
The outbound payment from the pre-funded wallet to the destination
Show child attributes
Show child attributes
The inbound payment received from an external source
Show child attributes
Show child attributes
The timestamp when processing began
"2026-01-20T15:20:00.000Z"
The timestamp when completed
"2026-01-20T15:25:00.000Z"
The timestamp when funds are expected to reconcile
"2026-01-23T15:20:00.000Z"
Structured failure code for programmatic handling
AMOUNT_MISMATCH_UNDERPAYMENT, AMOUNT_MISMATCH_OVERPAYMENT "AMOUNT_MISMATCH_UNDERPAYMENT"
Human-readable failure reason
"Amount mismatch: expected 100.00, received 90.00"