Withdrawing Funds
Withdrawing refers to sending fiat or crypto to external entities.
In general, there are 4 steps to performing a withdrawal from an account:
- Create a Counterparty for the external entity receiving the funds.
- Create a Withdrawal using counterparty id from step 1.
- Provide additional details and/or upload documents to withdrawal if required.
- Accept the Withdrawal with id from step 2.
Documents and Details
Often Rail will require clients to provide additional context on a withdrawal and/or upload documents to a withdrawal.
- Documents - Clients may be asked to uploaded documents relating to a withdrawal. These documents often inform the purpose of a withdrawal. E.g. an invoice.
- Details - Clients may be asked to provide additional details on a withdrawal. E.g. for trade financing payments you must provide 'underlying_buyer'.
Get Withdrawal Status
The Get Withdrawal Status endpoint provides you with a summary of a particular withdrawal. It provides a breakdown of all mandatory + optional fields and documents. It also highlights any errors associated with information / documents provided i.e. if any information is missing, if the information is invalid.
- Fields
- Documents
- Field_errors
- Document_errors
Withdrawal Lifecycle
Withdrawal lifecycle refers to the steps and status changes a withdrawal undergoes in order to send funds to a counterparty. The lifecycle may change depending on:
- Customer making the withdrawal.
- Counterparty receiving the withdrawal.
- Purpose of withdrawal.
- If documents are required to be uploaded.
- If any additional details are required.
Below are some example lifecycles:
Scenario 1 | Scenario 2 | Scenario 3 |
---|---|---|
No additional details or documents required. | Additional details and/or documents required for withdrawal BEFORE accept. | Additional details and/or documents requested while withdrawal AFTER accept i.e. while withdrawal is processing. |
Scenario 1
No additional details or documents required.
Action | Status |
---|---|
Request withdrawal | REQUESTED |
Get withdrawal status | READY_FOR_SUBMISSION |
Accept withdrawal | ACCEPTED |
Withdrawal waiting for approval | AUTHORIZED |
Withdrawal is approved | APPROVED |
Withdrawal begins processing | PROCESSING |
Withdrawal successfully sent | EXECUTED |
Scenario 2
Additional details and/or documents required for withdrawal BEFORE accept.
Scenario 1 | |
---|---|
Action | Status |
Request withdrawal | REQUESTED |
Get withdrawal status | CHANGES_REQUESTED |
Update withdrawal | CHANGES_REQUESTED |
Upload documents to withdrawal | CHANGES_REQUESTED |
Get withdrawal status | READY_FOR_SUBMISSION |
Accept withdrawal | ACCEPTED |
Withdrawal waiting for approval | AUTHORIZED |
Withdrawal is approved | APPROVED |
Withdrawal begins processing | PROCESSING |
Withdrawal successfully sent | EXECUTED |
Scenario 3
Additional details and/or documents requested while withdrawal AFTER accept i.e. while withdrawal is processing.
Action | Status |
---|---|
Request withdrawal | REQUESTED |
Get withdrawal status | READY_FOR_SUBMISSION |
Accept withdrawal | ACCEPTED |
Withdrawal waiting for approval | AUTHORIZED |
Withdrawal is approved | APPROVED |
Withdrawal begins processing | PROCESSING |
Rail requires additional information / documents | CHANGES_REQUESTED |
Get withdrawal status | CHANGES_REQUESTED |
Update withdrawal | CHANGES_REQUESTED |
Upload documents to withdrawal | CHANGES_REQUESTED |
Get withdrawal status | READY_FOR_SUBMISSION |
Accept withdrawal | ACCEPTED |
Withdrawal successfully sent | EXECUTED |