- 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
"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 inapproved 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
- Funding Activity → — Query and filter the history of all transfers on an account
- ACH Relationships → — Set up the bank link required before initiating transfers
- Webhooks Overview → — Receive real-time notifications as transfer status changes
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:- List all funding activity:
GET /v1/accounts/{accountId}/funding/activity - 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; usecursor 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)
funding.deposit_returned or funding.withdrawal_returned) notify applications when transfers fail, including both code and human-readable explanation.