Bulk Funding (Cashless)
Cashless brokerage Accounts are a way for partners to seamlessly move cash between customer brokerage Accounts and their originating banking sources without requiring customers the step of depositing and withdrawing money.

Partners are eligible to use this functionality if they or their third party provider (e.g. banking-as-a-service platform) have the ability to custody and control customer cash. Partners should also be able to put temporary holds and apply journals to such cash.
The cashless Account functionality must be enabled by DriveWealth for your partner environment, which will allow for the workflows seen on this page.
Cashless workflow
The customer experience for a new customer investing in an asset starts with Order creation. There is no first step to fund the account by following a Deposit workflow.
Instead, a customer can place any size Order, regardless of their Account having no Buying Power at DriveWealth. Whether that Order is accepted is controlled by you, and dependent on the amount of cash you already custody for that customer.
This also means the customer never sees a "brokerage balance" or "investing balance"—hence the label of Cashless. Purchase orders use funds directly from a customer's linked banking system, and sale orders (or other cash events like dividends) return funds directly to that same banking balance.
Order validation
It is extremely important to create additional validation on all sized orders. Partners who utilize Cashless Accounts understand that all orders—no matter the size—will be executed without buying power checks on the individual customer’s brokerage Account.
If DriveWealth receives an Order for a buy a million dollars worth of stock, that Order will be accepted, because it is assumed that the partner validated the customer had the funds to pay for the securities first.
As purchase orders are placed, partners should be able to move funds into an omnibus settlement account on their banking system to settle with DriveWealth on settlement day T+1. It's common for this account to be titled "For Benefit Of" your customers or "Exclusive Benefit Of" your customers.
About temporary holds
Holds are critical to prevent customers from double-spending funds earmarked for security purchases.
While not required, it's strongly recommended to verify that a customer has slightly more than the intended purchase amount—especially for market orders—when assessing available cash.
Example:
Marcus has $100.00 in his Acme Bank account and places a market order to buy 1 share of ABCD, currently trading at $100.00. Since market prices can fluctuate, the actual purchase price could exceed $100.00. Therefore, this order should be denied before submission to DriveWealth, as Marcus may not have sufficient funds to cover the difference.Instead, Marcus resubmits the order as a cash amount order for $95.00. This guarantees he will not spend more than $95.00.
Before submitting the order to DriveWealth, Acme Bank places a hold on Marcus’s account for $95.00. Once the order executes and is confirmed at $95.00, Acme Bank moves those funds from Marcus’s account to an omnibus settlement account to settle with DriveWealth on T+1 (Trade Date + 1).
Partners—and by extension, customers—will automatically receive funds from the sale of securities on the respective settlement date.
Each day, DriveWealth and its partners reconcile settlements, and corresponding deposit or withdrawal journal entries are automatically posted to accounts.
For example, if a customer purchases an equity on Wednesday, a purchase transaction will be journaled immediately. Then, on Thursday (the settlement date), a deposit journal will appear once the funds are received from the partner.
Reconciliation Report Analysis
This section outlines the parameters derived from the reconciliation report, along with the corresponding transaction types categorized under each.
{
"id": "80f9b672-120d-4b73-9cc9-42fb3262c4b9_20240417",
"date": "2024-04-17",
"status": "APPROVED",
"statusComment": "Finished processing breakdown",
"amounts": {
"total": -1263.56,
"purchases": -1680.07,
"sales": 416.51,
"dividends": 0,
"fees": 0,
"other": 0
},
"transferAmounts": {
"currency": "USD",
"payablesToDW": 1263.56,
"receivablesFromDW": 0
},
"reconciliationBreakdown": "https://du2c4wzqz90h1.cloudfront.net/reconcilationReport....",
"partnerID": "80f9b672-120d-4b73-9cc9-42fb3262c4b9",
"created": "2024-04-15T22:28:21.810Z",
"updated": "2024-04-17T22:28:21.810Z",
"updatedBy": "SYSTEM"
}
Value | Description |
---|---|
purchases | Total notional value of all buy orders. |
sales | Total notional value of all sell orders. |
dividends | Total notional value of all dividends paid out on the settlement date. |
fees | Schedule B fees such as ACAT fees, account opening fees, etc (as applicable) |
other | Total notional value of other charges, including commissions and SEC/TAF fees. |
offset | Amount withheld from settlement due to other trading activities. This is a legacy field from T+2 settlement days and will always be 0. |
date | Settlement date. |
payablesToDW | Funds DriveWealth expects to receive from the partner. |
receivablesFromDW | Funds DriveWealth expects to remit to the partner. |
total | Net amount to be settled. A positive value indicates DriveWealth will wire funds to the partner; a negative value means the partner must send funds to DriveWealth. |
reconciliationBreakdown.JSON | A downloadable JSON containing a full breakdown of all transactions, including corporate actions, by account. The URL has a 15-minute time-to-live (TTL). |
Reconciliations
Under the cashless brokerage model, DriveWealth aggregates various transactions—such as asset purchases/sales, corporate actions, fees, and commissions—on a per-customer basis.
Retrieving Reconciliation Reports
You can retrieve a list of all settlements over a given period by using the Retrieve Cashless Reconciliations API
[
{
"id": "80f9b672-120d-4b73-9cc9-42fb3262c4b9_20240417",
"date": "2024-04-17",
"status": "APPROVED",
"statusComment": "Finished processing breakdown",
"totalAmount": 12001.01,
"created": "2024-04-15T22:28:21.810Z",
"updated": "2024-04-17T22:28:21.810Z",
"updatedBy": "SYSTEM"
},
{
"id": "80f9b672-120d-4b73-9cc9-42fb3262c4b9_20240418",
"date": "2024-04-18",
"status": "PENDING",
"statusComment": "Finished processing breakdown",
"totalAmount": 12001.01,
"created": "2024-04-16T22:28:21.810Z",
"updated": "2024-04-17T22:28:21.810Z",
"updatedBy": "SYSTEM"
}
]
Further, you can drill down into a particular settlement by using theRetrieve Cashless Reconcilation by ID API and passing in the reconciliation id
from the previous API response.
{
"id": "80f9b672-120d-4b73-9cc9-42fb3262c4b9_20240417",
"date": "2024-04-17",
"status": "APPROVED",
"statusComment": "Finished processing breakdown",
"amounts": {
"total": -1263.56,
"purchases": -1680.07,
"sales": 416.51,
"dividends": 0,
"fees": 0,
"other": 0
},
"transferAmounts": {
"currency": "USD",
"payablesToDW": 1263.56,
"receivablesFromDW": 0
},
"reconciliationBreakdown": "https://du2c4wzqz90h1.cloudfront.net/reconcilationReport....",
"partnerID": "80f9b672-120d-4b73-9cc9-42fb3262c4b9",
"created": "2024-04-15T22:28:21.810Z",
"updated": "2024-04-17T22:28:21.810Z",
"updatedBy": "SYSTEM"
}
The reconciliationBreakdown
will provide ALL the underlying transactions(credits/debits) in the client accounts which are used to compute the settlement numbers.
[
{
"accountID": "aab5eaa9-4843-42c7-8954-9637ae6c6bd1.1706204727286",
"accountNo": "C1NT000015",
"userID": "aab5eaa9-4843-42c7-8954-9637ae6c6bd1",
"amount": -10,
"partnerID": "30f8af51-6a63-4922-a536-3e625b4e0b14",
"transactions": [
{
"amount": -10,
"finTranCode": "SPUR",
"finTranID": "ME.7fa61f9d-2aa6-40be-a8d9-b581b9e72be3",
"created": "2025-05-02T15:15:31.164Z",
"orderID": "ME.8ff417d1-d9ea-453a-afa2-63a8fed874f7",
"orderNo": "MEWX000062"
}
]
},
{
"accountID": "e5707dda-076d-421f-80c7-1c60d77633f1.1725980997577",
"accountNo": "C1CG000031",
"userID": "e5707dda-076d-421f-80c7-1c60d77633f1",
"amount": -10,
"partnerID": "30f8af51-6a63-4922-a536-3e625b4e0b14",
"transactions": [
{
"amount": -10,
"finTranCode": "SPUR",
"finTranID": "ME.a2de941a-78e6-4286-9f85-55ca857a43b6",
"created": "2025-05-02T15:09:23.665Z",
"orderID": "ME.7975e0e0-3775-4490-8f8f-d0dc50a9ff82",
"orderNo": "MESR000054"
}
]
},
{
"accountID": "3e3a6949-3c94-4f2e-a08d-781d2102c4b3.1718735016454",
"accountNo": "C1EC000023",
"userID": "3e3a6949-3c94-4f2e-a08d-781d2102c4b3",
"amount": -10,
"partnerID": "30f8af51-6a63-4922-a536-3e625b4e0b14",
"transactions": [
{
"amount": -10,
"finTranCode": "SPUR",
"finTranID": "ME.592dc8ae-7c44-408d-a2d4-a91d5a7db130",
"created": "2025-05-02T13:30:05.083Z",
"orderID": "ME.cc9f34a7-9e73-4a24-b81d-423ca0cc6e71",
"orderNo": "MEFZ000039"
}
]
},...
]
Reconciliation Statuses, Timelines & Events
- DriveWealth system starts aggregating all credits and debit transactions under a partner environment starting at 8PM ET. As soon as we start the computing process, a reconciliation object is created with the status
PENDING
.
This generates areconciliations.created
event as documented here: Reconciliations Created Event with statusPENDING
. - All transactions are aggregated over a 24 hr period (from 8 PM ET to 8 PM ET), following which we compute and publish the
reconciliationBreakdown
which can retrieved from the reconciliation object. The status of the report moves to anAPPROVED
status, also generating areconciliations.updated
event with anAPPROVED
status as documented here: Reconciliations Updated Event. The settlement amounts are finalized at this point and are due for settlement.
Account-Level Netting: Each customer's transactions are netted individually, and then aggregated, resulting inpayablesToDW
andreceivablesFromDW
amounts.
Settlement Direction:
IfpayablesToDW
>receivablesFromDW
, the organization owes DriveWealth the net amount.
IfpayablesToDW
<receivablesFromDW
, DriveWealth owes the organization the net amount. - Once settlement wires are received(latest by 1:30 PM ET) or remitted by DriveWealth(latest by 12 noon ET) , the settlement is deemed completed and the status of the reconciliation object is moved to
SUCCESSFUL
, which also further generates areconcilations.completed
event with theSUCCESSFUL
status as documented here: Reconciliations Completed Event.
Deposit/Redemptions Transaction Handling
Under the Cashless Reconciliations model, post the settlement, DriveWealth creates Deposit(
CSR
) and Redemption(CSD
) transactions for accounting reasons in order to flatten the account balances of any credits or debits, these transactions should be ignored while computing reconciliation numbers on the partner's end.
Market/Bank holiday schedule
Settlements are only processed when U.S. banks are open
On market holidays and weekends, settlements are deferred to the next business day.
For example, if markets are closed for Memorial Day (the last Monday of May), all transactions from Thursday 8 PM ET through Monday 8 PM ET are combined. The reconciliation report is generated end-of-day Monday for settlement on Tuesday morning.Double settlement day - When U.S. banks are closed but markets remain open, you'll receive daily reconciliation reports as usual, but the actual settlements are deferred.
For instance, if Veterans Day falls on a Tuesday, you'll get reports for both Monday and Tuesday. However, since Tuesday is a bank holiday, settlements for both days will occur on Wednesday.
Wallet Settlement Profiles
DriveWealth allows Partners using Cashless accounts to segment customer transactions into distinct settlement profiles based on factors such as lines of business (LOBs), banking relationships, and regions. Each profile receives a unique walletSettlementProfileID
, separate settlement numbers, and DriveWealth generates a dedicated set of events for each profile.
Default Profile: If only one settlement preference is configured, the default profile is used automatically. This applies to most Partners.
Custom Profiles: Partners with multiple banks or business units can request additional settlementProfileIDs to manage settlements independently.
❗Functionality in Beta, Contact DriveWealth Support to set up custom settlement profiles as needed.
If using Settlement profiles, Settlement reports will include walletSettlementProfileID
for each individual settlement profile.
[
{
"id": "80f9b672-120d-4b73-9cc9-42fb3262c4b9_20240417_profile_bank_1",
"date": "2024-04-17",
"status": "APPROVED",
"statusComment": "Finished processing breakdown",
"totalAmount": 12001.01,
"created": "2024-04-15T22:28:21.810Z",
"updated": "2024-04-17T22:28:21.810Z",
"updatedBy": "SYSTEM",
"walletSettlementProfileID": "profile_bank_1"
},
{
"id": "80f9b672-120d-4b73-9cc9-42fb3262c4b9_20240417_profile_bank_2",
"date": "2024-04-17",
"status": "APPROVED",
"statusComment": "Finished processing breakdown",
"totalAmount": 12001.01,
"created": "2024-04-15T22:28:21.810Z",
"updated": "2024-04-17T22:28:21.810Z",
"updatedBy": "SYSTEM",
"walletSettlementProfileID": "profile_bank_2"
}
]
To further drill-down, you'd need to use the Retrieve Reconciliation details API for each settlement profile to determine settlement numbers.
{
"id": "80f9b672-120d-4b73-9cc9-42fb3262c4b9_20240417_profile_bank_1",
"date": "2024-04-17",
"status": "APPROVED",
"statusComment": "Finished processing breakdown",
"amounts": {
"total": -1263.56,
"purchases": -1680.07,
"sales": 416.51,
"dividends": 0,
"fees": 0,
"other": 0
},
"transferAmounts": {
"currency": "USD",
"payablesToDW": 1263.56,
"receivablesFromDW": 0
},
"reconciliationBreakdown": "string",
"partnerID": "80f9b672-120d-4b73-9cc9-42fb3262c4b9",
"created": "2024-04-15T22:28:21.810Z",
"updated": "2024-04-17T22:28:21.810Z",
"updatedBy": "SYSTEM"
}
Updated 6 days ago