Submit transfer for processing
Submit a DRAFT transfer for processing.
This endpoint is used when you've progressively built up transfer data via PATCH requests and are ready to submit for processing. The transfer must be in DRAFT status.
Workflow:
- Create transfer with confirm: false (or omitted) → transfer is in DRAFT status
- Update details via PATCH /transfers/:id as needed
- Call POST /transfers/:id/submit to submit for processing
After submission, the transfer status transitions to PENDING and deposit instructions are generated (for deposit-based flows).
Path parameters
Transfer ID
Headers
API key
Response
Transfer submitted for processing
Example response
{
"id": "tfr_1234567890abcdef",
"organizationId": "org_abc123",
"clientReferenceId": "order_abc123",
"sourceCustomerId": "cus_abc123",
"counterpartyId": "cp_abc123",
"agentId": "agt_abc123",
"flow": "CRYPTO_TO_FIAT",
"status": "COMPLETED",
"source": {
"currency": "usd",
"fundingCurrency": "usdc",
"paymentRail": "ACH",
"direction": "CREDIT",
"accountId": "vba_abc123",
"accountType": "VIRTUAL_BANK",
"externalAccountId": "ext_bank_456",
"fromAddress": "0x1234567890abcdef1234567890abcdef12345678",
"refundAccountId": "inw_abc123",
"accountName": "Acme Corporation",
"originator": {
"name": "Acme Suppliers LLC",
"bankName": "Example National Bank",
"routingNumber": "021000021",
"accountNumber": "987654321",
"swiftBic": "CHASUS33",
"bankCountry": "US"
}
},
"destination": {
"currency": "USDC",
"paymentRail": "ETHEREUM",
"accountId": "vwa_def456",
"accountType": "EXTERNAL_BANK",
"externalAccountId": "ext_bank_789",
"toAddress": "0x1234567890abcdef1234567890abcdef12345678",
"accountName": "Acme Corporation",
"bankName": "JPMorgan Chase Bank",
"bankCountryCode": "US",
"wireMessage": "Payment for invoice INV-2026-001",
"achReference": "ORDER123",
"swiftReference": "Payment for invoice INV-2026-001",
"rtpReference": "Payment for invoice INV-2026-001",
"payoutReference": "INV2026"
},
"sourceAmount": {
"currency": "USD",
"exponent": 2,
"value": "12345",
"displayValue": "123.45"
},
"destinationAmount": {
"currency": "USD",
"exponent": 2,
"value": "12345",
"displayValue": "123.45"
},
"refund": {
"status": "COMPLETED",
"reason": "Fees exceed deposit amount",
"amount": {
"currency": "USD",
"exponent": 2,
"value": "12345",
"displayValue": "123.45"
},
"address": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb",
"txHash": "0x1234567890abcdef..."
},
"quoteId": "quote_abc123",
"exchangeRate": "0.99985",
"referenceRate": "1.158691536019208779",
"referenceRateAsOf": "2026-09-02T18:30:04.000Z",
"referenceProvider": "XE",
"developerFeeFixed": "100",
"developerFeePercent": 0.005,
"developerFee": {
"amount": {
"currency": "USD",
"exponent": 2,
"value": "12345",
"displayValue": "123.45"
},
"fixed": "100",
"percent": 0.005,
"txHash": "0x1234567890abcdef..."
},
"depositInstructions": {
"type": "crypto",
"paymentRail": "ETHEREUM",
"toAddress": "0x1234567890abcdef1234567890abcdef12345678",
"amount": {
"currency": "USD",
"exponent": 2,
"value": "12345",
"displayValue": "123.45"
},
"accountId": "acc_abc123"
},
"createdAt": "2026-09-15T10:00:00.000Z",
"updatedAt": "2026-09-15T10:00:00.000Z",
"legs": [
{
"id": "tleg_abc123",
"type": "DEPOSIT_CRYPTO",
"inputCurrency": "USDC",
"outputCurrency": "USD",
"inputRail": "ETHEREUM",
"outputRail": "ACH",
"status": "PENDING",
"uetr": "9b6f37f2-21f0-4b2b-b03c-1893364782ce",
"imad": "20260309EREBBANK000002",
"omad": "20260309MMQFMP0B012345",
"achTraceNumber": "021000021234567",
"txHash": "0x1234567890abcdef...",
"developerFee": {
"currency": "USD",
"exponent": 2,
"value": "12345",
"displayValue": "123.45"
},
"feeTxHash": "0x1234567890abcdef..."
}
],
"remarks": "Partial payment - remaining balance to be paid next month",
"uetr": "9b6f37f2-21f0-4b2b-b03c-1893364782ce",
"imad": "20260309EREBBANK000002",
"omad": "20260309MMQFMP0B012345",
"achTraceNumber": "021000021234567",
"txHash": "0x1234567890abcdef...",
"systemRemark": "Tracking is unavailable for this SWIFT transfer. We will auto-complete it after 24 hours and mark it with an asterisk because settlement is assumed rather than confirmed.",
"metadata": {
"swiftRouting": {
"source": "GPI_ROUTE",
"senderBic": "CHASUS33",
"receiverBic": "CLRBGB22",
"checkedAt": "2026-05-10T16:34:42.597Z",
"steps": [
{
"label": "Sender bank",
"bic": "CHASUS33",
"bankName": "JP Morgan Chase",
"status": "Confirmed Active"
}
]
}
},
"estimatedSettlementAt": "2026-05-26T13:00:00.000Z",
"nextCutoffAt": "2026-05-19T19:00:00.000Z",
"cutoffTimezone": "America/New_York",
"counterparty": {
"id": "cp_abc123",
"name": "Jane Doe",
"beneficiaryType": "INDIVIDUAL",
"address": {
"addressLine1": "123 Main Street",
"addressLine2": "Apt 4B",
"city": "San Francisco",
"state": "CA",
"postalCode": "94102",
"country": "US",
"transliterated": {
"addressLine1": "123 Main Street",
"addressLine2": "Apt 4B",
"city": "Beijing",
"state": "Hebei"
}
}
}
}Changes
Changed in 5 of the 19 revisions of this API.8
- ○
added the optional property
to the response with the statusresponse-optional-property-added
- ○
added the optional property
/////to the response with the statusresponse-optional-property-added
- ○
added the optional property
/////to the response with the statusresponse-optional-property-added
- ○
- ○
added the optional property
to the response with the statusresponse-optional-property-added
- ○
- ○
added the optional property
to the response with the statusresponse-optional-property-added
- ○
added the optional property
to the response with the statusresponse-optional-property-added
- ○
- ○
added the optional property
//////////to the response with the statusresponse-optional-property-added
- ○
- ○
added the optional property
/////to the response with the statusresponse-optional-property-added
- ○