Skip to main content

Transfer

The Transfer API allows you to transfer USD to fund a user's cash account or transfer USD out to user's bank account.

Currently, we only support ACH transfer to USA based banks. We recommend using Plaid to obtain user's account and routing numbers.

Note, crypto transfers & withdrawals are not supported yet.

  1. Add bank information to user account
  2. Deposit directly from user's account
  3. Withdraw to user's bank account
  4. Deposit from business bank account

Add bank information to user account#

URL : /v1/account/<accountId>/banking/add/

Method : POST

Auth required : Yes (API key and secret are required)

Body payload#

Sample body payload:

{  "account_owner_name": "John Doe",  "bank_account_type": "CHECKING",  "bank_account_number": "32131231abc",  "bank_routing_number": "121000358",  "bank_nickname": "Bank of America Checking"}

- account_owner_name - String. The name of the bank account owner.

- bank_account_type - Enum. Type of bank account. We recommend users fund from a checking account. Options: CHECKING, SAVINGS

- bank_account_number - String. The bank account number.

- bank_routing_number - String. The bank routing number.

- bank_nickname - String. A user inputted nickname for the bank for labeling purposes

Success Response#

Code : 200 OK

Error Response#

Code : 400 BAD REQUEST

Condition : If accountId is invalid or if organization does not have access to this account.

Deposit funds from user's bank account#

URL : /v1/account/<accountId>/banking/deposit/

Method : POST

Auth required : Yes (API key and secret are required)

Body payload#

Sample body payload:

{  "transfer_amount": 500.00,  "scheduled_transfer_date": "2021-11-12 00:00:00 GMT-06:00",  "estimated_transfer_complete_date": "2021-11-15 00:00:00 GMT-06:00"}

- transfer_amount - Double. The amount of USD to deposit

- scheduled_transfer_date - String, optional. The datetime when the transfer is scheduled for

- estimated_transfer_complete_date - String. The estimated datetime when the deposit will be live to trade

Success Response#

Code : 200 OK

Sample response payload:

{  "transferId": 123415}

- transferId - Int. The ID of transfer. Can use as receipt.

Error Response#

Code : 400 BAD REQUEST

Condition : If accountId is invalid or if organization does not have access to this account or user does not have a bank account attached to their account

Code : 409 BANK DENIED

Condition : Bank has denied deposit request or user does not have enough funds

Withdraw funds to user's bank account#

URL : /v1/account/<accountId>/banking/withdraw/

Method : POST

Auth required : Yes (API key and secret are required)

Body payload#

Sample body payload:

{  "transfer_amount": 500.00,  "estimated_transfer_complete_date": "2021-11-12 00:00:00 GMT-06:00"}

- transfer_amount - Double. The amount of USD to deposit

- scheduled_transfer_date - String, optional. The datetime when the withdraw is scheduled for

- estimated_transfer_complete_date - String. The estimated datetime when the withdraw will be live to trade

Success Response#

Code : 200 OK

Sample response payload:

{  "transferId": 123415}

- transferId - Int. The ID of transfer. Can use as receipt.

Success Response#

Code : 200 OK

Error Response#

Code : 400 BAD REQUEST

Condition : If accountId is invalid or if organization does not have access to this account or user does not have a bank account attached to their account

Code : 409 BANK DENIED

Condition : Bank has denied withdraw request or bank information is invalid

Deposit from a business bank account#

Fund an end user's cash account with your business cash account or business brokerage account. Use this API if you want to fund your user's account from a business account you own rather than directly from the consumer's bank account.

๐Ÿšจ Note, this API should only be used to transfer cash from your business cash account to an end user's cash account. Do not use to transfer cash between users.

URL : /v1/account/<accountId>/banking/transfer/

Method : POST

Auth required : Yes (API key and secret are required)

Body payload#

Sample body payload:

{  "bank_routing_number": "122100024",  "bank_account_number": "123456789",  "transfer_amount": 500.00,  "scheduled_transfer_date": "2021-11-12 00:00:00 GMT-06:00"}

- bank_routing_number - String. The routing number of the business account to transfer from

- bank_account_number - String. The routing number of the business account to transfer from

- transfer_amount - Double. The amount of USD to deposit

- scheduled_transfer_date - String, optional. The datetime when the transfer is scheduled for

Success Response#

Code : 200 OK

Sample response payload:

{  "transferId": 123415}

- transferId - Int. The ID of transfer. Can use as receipt.

Error Response#

Code : 400 BAD REQUEST

Condition : If accountId is invalid or if organization does not have access to this account or user does not have a bank account attached to their account