Settlements

DriveWealth provides two primary bulk settlement methods to streamline the reconciliation of deposits, withdrawals, and trading activities across multiple customer accounts.

🚧

Settlement Timings

For all settlement days where the Partner would be due to send the money for settlement, DriveWealth MUST receive the funds no later than 1:30 PM EST on T+1 for timely settlement.
If DriveWealth owes money for settlement, we will release the funds no later than 12 Noon ET on T+1.


One Settlement

Under One Settlement, deposits and withdrawals from multiple customer accounts are aggregated at the organization level. These transactions are then netted to calculate a single daily settlement amount.

🚧

NOTE: Your firm may be using only the bulk deposit or bulk withdrawal side of the settlement process; however, this settlement method applies in either case.

If only the deposit component is used, DriveWealth will aggregate all deposits and generate the settlement report. Your firm will be responsible for remitting the total settlement amount to DriveWealth on a T+1 basis.

If only the withdrawal component is used, DriveWealth will aggregate all withdrawals and generate the report. DriveWealth will then remit the total settlement amount to your firm on a T+1 basis.

To get started with utilizing this Bulking model, refer Bulk Deposits and Bulk Withdrawals sections.

Retrieving One Settlement Reports

You can retrieve a list of all settlements over a given period by using the Retrieve Settlements API

{
  "pageSize": 1,
  "limit": 50,
  "settlements": [
    {
      "id": "sett_63ccb073-a7b6-4b33-af77-5baec5cc4494_20221224",
      "settlementDate": "2022-12-25",
      "partnerID": "80f9b672-120d-4b73-9cc9-42fb3262c4b9",
      "status": "APPROVED",
      "totalAmount": -14250,
      "createdAt": "2022-12-11T22:28:21.810Z",
      "updatedAt": "2022-12-11T22:28:21.810Z"
    },
   {
      "id": "sett_63ccb073-a7b6-4b33-af77-5baec5cc4494_20221225",
      "settlementDate": "2022-12-26",
      "partnerID": "80f9b672-120d-4b73-9cc9-42fb3262c4b9",
      "status": "PENDING",
      "totalAmount": -250,
      "createdAt": "2022-12-12T22:28:21.810Z",
      "updatedAt": "2022-12-12T22:28:21.810Z"
    }
  ]
}

Further, you can drill down into a particular settlement by using the Retrieve Settlement by ID API and passing in the settlement idfrom the previous API response.

{
  "id": "sett_63ccb073-a7b6-4b33-af77-5baec5cc4494",
  "settlementDate": "2022-12-25",
  "status": "APPROVED",
  "statusComment": "Finished processing breakdown",
  "amount": {
    "total": 5000.45,
    "credits": 6000.45,
    "debits": -1000
  },
  "breakdownReport": "https://du2c4wzqz90h1.cloudfront.net/singleSettlementReport....",
  "partnerID": "80f9b672-120d-4b73-9ccv9-42fb3262c4b9",
  "updatedBy": "SYSTEM",
  "createdAt": "2022-12-11T22:28:21.810Z",
  "updatedAt": "2022-12-11T22:28:21.810Z"
}

The breakdownReport will provide ALL the underlying deposits & withdrawals in the client accounts.

{
  "id": "sett_90fc14cc-cf3f-448b-ab43-7a9411683d11_20250502",
  "summary": {
    "totalAmount": 1118.23,
    "credits": 2132.82,
    "debits": -1014.59,
    "ancillary": {
      "depositAmounts": 2133.5,
      "withdrawalAmounts": -1015.27
    }
  },
  "breakdown": [
    {
      "accountID": "65a43a7a-b31c-4d97-9663-494fdb0079e9.1715933938944",
      "accountNo": "GTNZ000019",
      "userID": "65a43a7a-b31c-4d97-9663-494fdb0079e9",
      "amount": 0.85,
      "transactions": [
        {
          "amount": 0.17,
          "type": "CREDIT",
          "category": "DEPOSIT",
          "finTranID": null,
          "details": {
            "orderID": null,
            "orderNo": null,
            "depositID": "GTNZ000019-1746095683497-DU6ZK",
            "withdrawalID": null,
            "originatingFinTranID": null
          },
          "created": "2025-05-01T10:34:43.497Z"
        },
        {
          "amount": 0.17,
          "type": "CREDIT",
          "category": "DEPOSIT",
          "finTranID": null,
          "details": {
            "orderID": null,
            "orderNo": null,
            "depositID": "GTNZ000019-1746095701894-DVBEF",
            "withdrawalID": null,
            "originatingFinTranID": null
          },
          "created": "2025-05-01T10:35:01.894Z"
        },
        {
          "amount": 0.17,
          "type": "CREDIT",
          "category": "DEPOSIT",
          "finTranID": null,
          "details": {
            "orderID": null,
            "orderNo": null,
            "depositID": "GTNZ000019-1746097323033-DMBNS",
            "withdrawalID": null,
            "originatingFinTranID": null
          },
          "created": "2025-05-01T11:02:03.033Z"
        },.....
        }
    ]
}
}
}

Settlement Statuses, Timelines & Events

  1. DriveWealth system starts aggregating deposits and withdrawals under a partner environment starting at 8PM ET. As soon as we start the computing process, a settlement object is created with the status PENDING.
    This generates a settlements.created event as documented here: Settlements Created Event with status PENDING.
  2. All deposits and withdrawals are aggregated over a 24 hr period (from 8 PM ET to 8 PM ET), following which we compute and publish the breakdownReportwhich can retrieved from the settlement object. The status of the report moves to an APPROVEDstatus, also generating a settlements.updatedevent with the APPROVEDstatus as documented here: Settlements Updated Event. The settlements amounts are finalized at this point and are due for settlement.
    Settlement Direction:
    If credits > debits, ie, total> 0, the organization owes DriveWealth the net amount.
    If credits < debits, ie, total < 0 DriveWealth owes the organization the net amount.
  3. 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 settlement object is moved to SUCCESSFUL, which also further generates a settlements.completed event with the SUCCESSFULstatus as documented here: Settlements Completed Event. This further creates terminal Deposit(CSR) and withdrawal(CSD) transactions on the customer accounts

🇺🇸

Market/Bank holiday schedule

Settlements are only processed when U.S. banks are open

On market holidays and weekends, deposits and withdrawals made from 8 PM ET on the day before the holiday through the non-business days are aggregated and settled on 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 settlement 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 settlement 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.


Cashless 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.

To get started with this Bulking model, refer Cashless Accounts section.

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 idfrom 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

  1. 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 a reconciliations.created event as documented here: Reconciliations Created Event with status PENDING.
  2. All transactions are aggregated over a 24 hr period (from 8 PM ET to 8 PM ET), following which we compute and publish the reconciliationBreakdownwhich can retrieved from the reconciliation object. The status of the report moves to an APPROVEDstatus, also generating a reconciliations.updatedevent with an APPROVEDstatus 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 in payablesToDW and receivablesFromDW amounts.
    Settlement Direction:
    If payablesToDW > receivablesFromDW, the organization owes DriveWealth the net amount.
    If payablesToDW < receivablesFromDW, DriveWealth owes the organization the net amount.
  3. 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 a reconcilations.completed event with the SUCCESSFULstatus 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.


Settlement profiles

Settlement profiles allow organizations to segment different lines of business (LOBs) into separate settlement groups.

Default Profile: If only one settlement preference exists, the default profile is used automatically.
Custom Profiles: Organizations operating in multiple regions or business units can request custom settlementProfileIDs to manage settlements separately. Contact DriveWealth Support to set up custom settlement profiles as needed.

🤔

Lines of business (LOBs)

Spendify is a wallet/banking institution who has customers in several countries; United States, Canada, India and Mexico. Although Spendify is a single company these LOBs move money differently and would like to settle these LOBs separately to reduce confusion among their operational teams.

Deposits

When making deposit requests, ensure you pass the associated settlementProfileID with the specific line of business.

{
  "accountNo": "SPFY0000052",
  "amount": 250.25,
  "currency": "USD",
  "type": "BULK_FUNDING",
  "bankAccountID": "bank_a4656e60-321e-425b-aa0d-a2e75c38885f",
  "settlementProfileID": "spendify-mexico"
  ...
}

Withdrawals

When making withdrawal requests, ensure you pass the associated settlementProfileID with the specific line of business.

{
  "accountNo": "SPFY000053",
  "amount": 100.25,
  "currency": "USD",
  "type": "BULK_FUNDING",
  "bankAccountID": "bank_a4656e60-321e-425b-aa0d-a2e75c38885f",
  "settlementProfileID": "spendify-india"
  ...
}

Settlement reports

If using Settlement profile, settlement reports will include settlementProfileID for each individual settlement profile.

[
  {
    "id": "DP_cb3321ec-93cc-4b41-b641-0b0c2d44918a_20230816",
    "date": "2023-08-16",
    "partnerID": "80f9b672-120d-4b73-9cc9-42fb3262c4b9",
    "status": "APPROVED",
    "statusComment": "Finished processing breakdown",
    "totalAmount": -14250,
    "created": "2023-08-16T22:28:21.810Z",
    "updated": "2023-08-16T22:28:21.810Z",
    "updatedBy": "SYSTEM",
    "category": "DEPOSIT",
    "settlementProfileID": "spendify-mexico"
  },
  {
    "id": "DP_cc472507-6aee-4b47-95a8-3b00114042fe_20230816",
    "date": "2023-08-16",
    "partnerID": "80f9b672-120d-4b73-9cc9-42fb3262c4b9",
    "status": "APPROVED",
    "statusComment": "Finished processing breakdown",
    "totalAmount": 2000.10,
    "created": "2023-08-16T22:28:21.810Z",
    "updated": "2023-08-16T22:28:21.810Z",
    "updatedBy": "SYSTEM",
    "category": "WITHDRAWAL",
    "settlementProfileID": "spendify-mexico"
  },
  {
    "id": "SM_0f84b177-5f94-4271-9e26-500500159065_20230816",
    "date": "2023-08-16",
    "partnerID": "80f9b672-120d-4b73-9cc9-42fb3262c4b9",
    "status": "APPROVED",
    "statusComment": "Finished processing breakdown",
    "totalAmount": 100,
    "created": "2023-08-16T22:28:21.810Z",
    "updated": "2023-08-16T22:28:21.810Z",
    "updatedBy": "SYSTEM",
    "category": "WITHDRAWAL",
    "settlementProfileID": "spendify-india"
  },
  {
    "id": "SM_d19c7418-67ea-4dc7-9453-2cf09f9efe6b_20230816",
    "date": "2023-08-16",
    "partnerID": "80f9b672-120d-4b73-9cc9-42fb3262c4b9",
    "status": "APPROVED",
    "statusComment": "Finished processing breakdown",
    "totalAmount": -1000,
    "created": "2023-08-16T22:28:21.810Z",
    "updated": "2023-08-16T22:28:21.810Z",
    "updatedBy": "SYSTEM",
    "category": "DEPOSIT",
    "settlementProfileID": "spendify-india"
  }
]