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 of PUSH
  • deposit_destination.destination_account_id set to the account_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:

  1. Setup a Fiat US Linked counterparty type. Click here to learn more.
  2. Create the PULL deposit using the deposits endpoint . Use the counterparty as the source_counterparty_id and set the amount you wish to pull.
  3. To complete the PULL deposit operation, you have to Accept the Deposit. You can do that by calling the deposits/{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.

path

© 2024 Rail. All Rights Reserved.