Depositing Funds
Depositing refers to sending fiat or crypto funds from external accounts into a Rail account.
To transfer funds between Rail accounts, see Transfers. To withdraw assets from a Rail account to an external account, see Withdrawing Funds.
Today, we have two Deposit endpoints: one for Deposit accounts and one for Payment accounts. These will be combined into a single one shortly.
Push
Push means the source account has to initiate the transaction. Fedwire, Swift support Push only. ACH supports both Push and Pull.
To get the PUSH
deposit instructions, call the deposits
endpoint with
-
deposit_type
ofPUSH
-
deposit_destination.destination_account_id
set to theaccount_id
where the funds need to be deposited into.
You will get the deposit instructions for the rails supported by the account.
Once our partner banks receive the funds, it goes through the usual transaction monitoring checks by our settlement banks, before showing in the available balance.
NOTE: In sandbox, to simulate a fiat deposit, enter the
memo
in the response object in the "Confirm Deposit" screens in the Management UI.
Pull
Pull means the destination has to initiate the transaction. ACH supports both Push and Pull.
To initiate a PULL
deposit instrucution, follow the following steps:
- Setup a Fiat US Linked counterparty type. Click here to learn more.
-
Create the
PULL
deposit using thedeposits
endpoint . Use the counterparty as thesource_counterparty_id
and set theamount
you wish to pull. -
To complete the
PULL
deposit operation, you have to Accept the Deposit. You can do that by calling thedeposits/{DEPOSIT_ID}/accept
endpoint
NOTE: In Sandbox, unlike the Push, you don't need to confirm the deposit in the Management UI. Funds should appear after a few mins.
Deposit Lifecycle
Scenario 1 - Deposit Lifecycle - Happy Path
Scenario where the deposit lifecycle executes without any RFI being required.