Skip to main content
GET
Get Account Balance

Demo response (all fields)

Numeric amounts are returned as decimal strings to preserve precision. The body is a flat JSON object. The sample below lists every JSON field the endpoint can return:

Withdrawable cash and margin fields

fundsAvailableForWithdrawal is the figure to show a user asking how much they can take out. It is derived on every read from the lower of creditRemaining and smaCreditRemaining, adjusted by the clearing firm’s previous-close haircut (sodNetFundsAvailable minus sodGrossFundsAvailable) and floored at zero. intradayMarginBalance is the margin loan outstanding, rolled forward through today’s buys and sells. The three sod* funds fields are the clearing firm’s own start-of-day numbers and are served as stored: "0" until the day’s load has run. sodFundsAvailableDate is the business date of that load and is omitted when it has never run for the account, so read it before treating a zero as real. sodNetFundsAvailable is previous-close only; do not present it as today’s withdrawable amount.

Authorizations

Authorization
string
header
required

OAuth2 Bearer token: obtain an access token from the token endpoint and send it in the Authorization header.

Path Parameters

id
string
required

Account whose balance you want to read. Enter the account ID from GET /v1/users/me/accounts.

Response

Account balance retrieved successfully

Response body for GET /v2/accounts/{id}/balance. Returned as the top-level JSON object. Numeric amounts are decimal strings.

balance
string

Total account balance (net account value), returned as a decimal string. Use this as the headline portfolio value.

accountId
string

Account these balances belong to. Match it to the account selected by the user.

dayTradeBuyingPower
string

How much the user can use for same-day round-trip trades. Typically up to 4× equity for pattern day traders. Resets at end of day. Decimal string.

netBuyingPower
string

Total purchasing power available right now across all instruments — the main number to show as 'Buying Power' in a trading UI. Decimal string.

optionBuyingPower
string

How much the user can spend specifically on options. Usually lower than stock buying power because options require cash. Decimal string.

stockBuyingPower
string

How much the user can spend specifically on stocks. On a margin account this is typically up to 2× cash. Decimal string.

realizedPl
string

Cumulative profit/loss from positions that have already been closed. Locked in — does not move with the market. Decimal string.

unrealizedPl
string

Profit/loss on positions the user currently holds open — paper gains/losses based on current market prices. Changes with the market. Decimal string.

openPnl
string

Total open (unrealized) profit/loss across all currently held positions, returned as a decimal string. Mirrors unrealizedPl.

dayOpenPnl
string

Open (unrealized) profit/loss generated during the current trading day, returned as a decimal string.

dayRealizedPnl
string

Profit/loss realized from positions closed during the current trading day, returned as a decimal string.

dayTotalPnl
string

Total profit/loss for the current trading day, combining day open and day realized P&L (dayOpenPnl + dayRealizedPnl). Decimal string.

costOfPositions
string

Aggregate cost basis of all currently open positions, returned as a decimal string.

settledFunds
string

Cash that has fully settled (T+1/T+2 has passed) and is freely available with no restrictions. Decimal string.

unsettledFunds
string

Cash from recent sales that hasn't settled yet. Usable for most trades, but cash accounts may restrict using it for new buys. Decimal string.

cashBalance
string

Current cash balance in the account, returned as a decimal string. Can be negative on a margin account.

amountAvailableToWithdraw
string

Cash currently available to withdraw from the account, returned as a decimal string.

startOfDayCash
string

Cash balance when today's trading session opened. Useful as the baseline for calculating today's cash change. Decimal string.

maintReq
string

Maintenance requirement — the minimum equity that must be held to support current positions. Drop below this and the account may receive a margin call. Decimal string.

grossMargin
string

Total amount currently borrowed from the broker on margin (before offsets). Use this in risk and account-health displays. Decimal string.

sma
string

Special Memorandum Account — a Reg T concept. Effectively a stored-up pool of 'extra' buying power that grew from past gains in a margin account. Decimal string.

credit
string

Total margin credit line extended to the account. Decimal string.

creditRemaining
string

How much of the credit line is still available to draw against. Decimal string.

pdt
string

Pattern Day Trader flag balance — relates to FINRA Rule 4210 (four-day-trades-in-five-days rule, $25,000 minimum equity). Decimal string.

pdtCreditRemaining
string

Remaining day-trade buying power for a PDT-flagged account. Decimal string.

pendingOrdersCount
integer

Number of orders currently pending. Use this to explain why available buying power may be reserved.

pendingOrdersMarginRequirements
string

Estimated margin requirement reserved by pending orders, returned as a decimal string.

valueBought
string

Total value bought for the reporting window, returned as a decimal string. Use this in trading activity summaries.

valueSold
string

Total value sold for the reporting window, returned as a decimal string. Use this in trading activity summaries.

dayTradeOvernightRegTBuyingPower
string

Reg T overnight buying power available for day-trade-related calculations, returned as a decimal string.

heldBackFunds
string

Funds reserved or held back by the brokerage, returned as a decimal string. Subtract this from available cash displays when explaining restricted funds.

sodPositionsMarketValue
string

Market value of positions at the start of the day, returned as a decimal string. Use this for daily performance comparisons.

sodTtlEquity
string

Total account equity at the start of the day, returned as a decimal string. Use this as the baseline for day-over-day equity changes.

sodTtlEquityUpdatedAt
string<date-time>

When start-of-day total equity (sodTtlEquity) was last updated, in RFC3339 format. Omitted when not set.

smaCreditRemaining
string

Remaining SMA-based buying power still available to draw against, returned as a decimal string.

intradayMarginBalance
string

Margin loan currently outstanding, returned as a positive decimal string and rolled forward through today's trading: the start-of-day margin trade balance (sign-inverted) plus valueSold minus valueBought. Derived at read time, not stored.

fundsAvailableForWithdrawal
string

Cash available to withdraw right now, returned as a decimal string. The lower of creditRemaining and smaCreditRemaining, adjusted by the clearing firm's previous-close haircut (sodNetFundsAvailable minus sodGrossFundsAvailable) and floored at zero. Derived at read time. Until the start-of-day funds data has loaded (see sodFundsAvailableDate) the haircut is zero and this equals the lower of the two credit figures.

sodMarginTradeBalance
string

Start-of-day margin trade-date balance as reported by the clearing firm, returned as a decimal string. Negative while a margin loan is outstanding. "0" until the start-of-day load has run for the account.

sodGrossFundsAvailable
string

Gross funds available at the previous close, as reported by the clearing firm, returned as a decimal string. "0" until the start-of-day load has run; check sodFundsAvailableDate before relying on it.

sodNetFundsAvailable
string

Net funds available to withdraw at the previous close, as reported by the clearing firm, returned as a decimal string. Previous-close only; for the live figure use fundsAvailableForWithdrawal. "0" until the start-of-day load has run.

sodFundsAvailableDate
string<date>

Business date (YYYY-MM-DD) of the start-of-day funds data behind sodGrossFundsAvailable and sodNetFundsAvailable. Omitted when that data has not loaded for the account, which is the only way to tell a genuine zero from an unloaded one.