Depositing

📘

This section of documentation discusses features principally used when DriveWealth’s Account Management product is enabled. Partners managing customers on their own won’t have these workflows available.

Depositing customer funds is the act of moving customer funds from its originating source into a DriveWealth brokerage account.

🚧

💵 Accepted Currencies

As of January 1, 2023, DriveWealth only accepts United States Dollars (USD) for deposits and withdrawals.

Deposit flow lifecycle

Deposits have a lifecycle in which they can inform a partner about the status of a particular deposit. To understand more about the deposit lifecycle flow see below:

Individual Deposits

Individual deposits refer to funds that will be transferred to DriveWealth for a single customer’s brokerage account. DriveWealth can accept many forms of funds:

Deposit typeAPI method typeDescription
ACH (pull)ACHAutomated Clearing House is an electronic funds transfer network that allows an integrator to facilitate the movement of funds.

ACH is only available in the United States.
ACH (push)NoneSee above
Wire (push)NoneWire, also known internationally as a SWIFT transfer, is an international electronic funds transfer network; allowing the transfer of funds between international banks.

SWIFT is available world wide.
Paper check (push)NoneA check is a physical document (normally in paper form) that orders a bank to pay a specific amount of money from a person's account to the person in whose name the check has been issued.

International personal checks are not accepted. International draft checks are accepted.

Pulling funds to deposit

DriveWealth provides the ability to use its ACH rails in order to pull customer funds from any U.S. bank account. It is not a requirement to utilize DriveWealth’s ACH rails; a partner can use its own provider to push funds into a customer’s brokerage account. ACH push sends money, and ACH pull collects money.

Pulling funds starts with creating a Linked Bank Account, which stores the details of the customer’s third-party bank account:

POST /back-office/bank-accounts

{
	"bankAccountNumber": "2329...",
	"bankRoutingNumber": "1231...",
	"userID": "abc-def-xyz",
	"bankAccountNickname": "My Checking Account",
	"bankAccountType": "CHECKING"
}

Response:
{
	...
	"id": "bank_d897...",
	...
}

The ID of this Linked Bank Account can now be used to create a Deposit, which will automatically be processed:

POST /back-office/funding/deposits

{
  "accountNo": "DWBG000052",
  "amount": 250.50,
  "currency": "USD",
  "bankAccountID": "bank_d897...",
  "type": "ACH"
}

Pushing funds to deposit

When pushing funds to DriveWealth, specific instructions regarding account destinations or addresses will be provided manually, which can be relayed to a customer.

Bulk Deposits

Bulk deposit is the act of aggregating different customer deposits to transfer to DriveWealth to fund individual customer brokerage Accounts. Bulking lowers costs of transfers and decreases chances of failures.

📘

Is bulk right for your company?

Bulk deposits are right for you if your company or a third party provider (i.e. banking-as-a-service platform) have the ability to aggregate different customers’ deposits into a single account to be transferred to DriveWealth. Basically, if you or a third party provider can custody customer funds and transfer customer funds, bulk funding is likely right for you.

For example: John, JJ, Garrett & Marcus all make deposits of $100.00 each to their brokerage accounts. The next day DriveWealth would expect one transfer in the amount of $400.00. The one transfer would be split among their accounts per the deposit instructions below.

Bulk deposits are processed from 00:00:00.000 to 23:59:59.999 UTC for an aggregated bulk deposit. This means all bulk deposits that are submitted during these times will be included in the next bulk deposit settlement report.

The bulk deposit flow starts by indicating how much money will be transferred for each individual customer:

POST /back-office/funding/deposits

{
  "accountNo": "DWBG000052",
  "amount": 100.00,
  "currency": "USD",
  "type": "INSTANT_FUNDING" 
}

This API will continue to be used throughout the rest of the day for more customers who wish to deposit funds. Each time this occurs, DriveWealth updates a Settlement object, which details how much money in total will be expected to settle all of these Deposits:

POST /back-office/funding/settlements/instant-funding/{settlementID}

{
  "id": "2e901d48-dd17...",
  "date": "2019-03-22",
  "status": "PENDING",
  "amounts": {
    "total": 400.00,
    "deposits": 100
  },
  ...
}

The amount shown above is expected to arrive at DriveWealth on the date listed. This amount should be pushed to DriveWealth, typically via domestic or international wire transfer.

Pushing funds to Virtual Accounts

When pushing funds to DriveWealth, a Virtual Account provides a unique banking and routing number to direct funds into, to assist in the efficient processing and tracking of funds.

For bulk deposits, a static Virtual Account number will be provided to you prior to launch.

For individual deposits, each Account that is created has a unique Virtual Account automatically setup, which can be retrieved via the Retrieve Virtual Bank Account by Account API.

GET /back-office/accounts/{accountID}/funding/deposit-instructions

{
  ...
  "wireDetails": {
    "bankAccountNumber": "495...",
    "bankName": "JPMorgan Chase Bank National Association",
    "bankSwiftCode": "CHASUS33",
    ...
  },
  "achDetails": { ... },
  "wireDomesticDetails": { ... },
  ...
}

Trading with money en route

Although customers may not have settled money in their brokerage Account, DriveWealth can still allow them to trade on funds in transit. This is often referred to as Instant Trading.

Instant Trading can be enabled by DriveWealth for all bulk Deposit methods, and for individual ACH (pull) Deposits.

🚧

Instant trading requires LPMA or margin accounts

In most cases, Instant Trading should only be used with Margin or LPMA accounts (see Enabling leverage). Why? Cash accounts are subject to Good Faith Violations. If a Cash account buys assets with funds that are in transit, then sells those assets before the funds arrive, they are subject to GFVs and can be subject to restriction or even closure.

With Instant Trading enabled, once the Create Deposit API is used, some cash values in the Account will change, and some will not. For example, if an Account has no money in it, and you create a $200 ACH deposit, the following will show in the Retrieve money details by Account API:

GET /back-office/accounts/{accountID}/summary/money
{
  "accountID": "cc07f91b-7ee1...",
  "accountNo": "DWBG000052",
  "tradingType": "CASH",
  "updated": "2022-12-25T18:41:32.440Z",
  "cash": {
    "cashAvailableForTrade": 200.0,
    "cashAvailableForWithdrawal": 0,
    "cashBalance": 0,
    "noBuyingPowerReason": [],
    "cashSettlement": [],
    "pendingPaymentsAmount": 200.0
  },
  "payments": {
    "buyingPower": {
      "pendingDepositsAmountAvailable": 200.0,
      "pendingDepositsAmountNotAvailable": 0
    },
    "redemptions": {
      "amountWithheldFromRedemptions": 0
    }
  }
}

As you can see, money is available instantly to trade with, but those funds are not yet available to withdraw. The withdrawable number will increase only after these funds physically arrive at DriveWealth. You’ll also know this process is complete as the Deposit we created will have moved to status SUCCESSFUL.

Seasoning periods

The seasoning period is the time in days that must elapse before a Withdrawal can be made from deposited funds. The seasoning period includes deposited funds that were not invested and any purchases of securities that may have been sold and settled to the account.

Deposit TypeDefault Seasoning Period
ACH30 days
WIREInstant
CHECK14 days

These are the default seasoning periods which can be adjusted during your integration.

Cash Rewards

Rewards are a great way to invite and incentivize customers to partners app. DriveWealth enable partners to be able to deposit money directly to customer accounts via their Cash Promotion Account. This Cash Promotion Account is fully funded by the partner and is owned/managed by the partner.

For more details on buying power; see above for more details.

POST /back-office/funding/deposits

{
  "accountNo": "DWBG000052",
  "amount": 5.00,
  "currency": "USD",
  "type": "CASH_PROMOTION" 
}