Skip to main content
Once a user has an approved ACH relationship, they can move money between their external bank account and their Buildmarkets brokerage account. Buildmarkets exposes two endpoints for this:
  • Deposits (POST .../funding/deposits) — pull funds from the bank into the brokerage account
  • Withdrawals (POST .../funding/withdrawals) — push settled cash from the brokerage account back to the bank
Both transfer types are ACH-based and subject to standard ACH settlement timelines. All amounts must be expressed as strings with exactly two decimal places (e.g., "1000.00").

Transfer lifecycle

All deposits and withdrawals progress through the same status states. You can track these via the Funding Activity endpoints or by listening to webhook events.
Settlement timing: “Standard ACH deposits typically settle in 1–3 business days. Buildmarkets may apply instant buying power for deposits up to a configured limit, allowing users to trade before funds fully settle.”

Endpoints

Initiate a deposit

Pulls funds from the user’s external bank account into their Buildmarkets brokerage account. The specified ACH relationship must be in approved status.

POST /v1/accounts/{accountId}/funding/deposits

Path parameters

Request body

Response body (201 Created)

Example request

Example response

Initiate a withdrawal

Pushes settled cash from the user’s Buildmarkets brokerage account back to their external bank account. Only settled cash can be withdrawn — unsettled funds from recent trades or pending deposits are not eligible.

POST /v1/accounts/{accountId}/funding/withdrawals

Path parameters

Request body

IRA-specific fields

For IRA accounts, additional fields are required to classify the distribution for tax reporting purposes.

Response body (201 Created)

Example request — standard withdrawal

Example response

Example request — withdraw full balance

Example request — IRA distribution

Common errors

Webhook events

Subscribe to these events to track transfer status in real time without polling. See Webhook Events Reference for full payload schemas.

Next steps

Updated 3 months ago

Funding Activity

The funding activity endpoints provide a comprehensive, auditable record of all ACH transfers on a brokerage account—including deposits, withdrawals, fees, and bank returns. These tools enable transaction history interfaces, account reconciliation, and transfer status investigation.

Available Endpoints

Two primary endpoints exist:
  1. List all funding activity: GET /v1/accounts/{accountId}/funding/activity
  2. Retrieve single record: GET /v1/accounts/{accountId}/funding/activity/{activityId}

Listing Funding Activity

The list endpoint returns cursor-paginated results. Required parameters include the account UUID; use cursor and limit query parameters to page through results. Response objects contain transfer identification, amounts, current status (pending, sent, completed, cancelled, returned, failed), type (deposit or withdrawal), descriptions, and settlement dates.

Single Record Retrieval

This endpoint accepts an account ID and activity ID, returning complete details about that specific transfer—particularly useful for checking current status or examining return codes for rejected transfers.

ACH Return Codes

The system uses standard NACHA codes when transfers are rejected. Common examples include:
  • “R01” (Insufficient Funds)
  • “R02” (Account Closed)
  • “R03” (No Account/Unable to Locate)
  • “R10” (Customer Claims Unauthorized)
Webhook events (funding.deposit_returned or funding.withdrawal_returned) notify applications when transfers fail, including both code and human-readable explanation.

Error Handling

Common HTTP 404 responses indicate either missing account or activity records inaccessible to the API key.