# List Deals

> Return balance and trading deals for the specified account based on the provided criteria.

Source: /admin/accounts-funding/funding/accounts-service_-deals-list

## `GET /accounts/{accountId}/deals`

**List Deals**

Return balance and trading deals for the specified account based on the provided criteria.

Tags: `Funding`

#### Path parameters

- `accountId` (string) (required)

#### Query parameters

- `limit` (integer)
- `from` (string)
- `to` (string)


### Responses

#### `200` — A successful response.

**Content-Type:** `application/json`

Page of ledger deals for an account, with a flag indicating whether more remain.
- `deals` (array)
  - items:
    Single ledger entry for an account: a trade execution (Buy/Sell) or a fund movement
(ActionType = Balance for deposits/withdrawals). Carries the post-deal balance and any P&L,
commission, and swap components.
    - `id` (string)
    - `symbolName` (string)
    - `comment` (string)
    - `accountId` (string)
    - `orderId` (string)
    - `positionId` (string)
    - `createdAt` (string)
    - `updatedAt` (string)
    - `symbolId` (string)
    - `closedVolume` (string)
    - `volume` (number)
    - `amount` (number) — Amount in account currency
    - `amountRaw` (number)
    - `closePrice` (number)
    - `closePriceRaw` (number)
    - `openPrice` (number)
    - `openPriceRaw` (number)
    - `margin` (number)
    - `commission` (number)
    - `commissionRaw` (number)
    - `action` (string)
      - enum: `DEAL_ACTION_UNSPECIFIED`, `DEAL_ACTION_BUY`, `DEAL_ACTION_SELL`, `DEAL_ACTION_CREDIT`, `DEAL_ACTION_CORRECTION`, `DEAL_ACTION_COMMISSION`, `DEAL_ACTION_DIVIDEND`, `DEAL_ACTION_TAX`, `DEAL_ACTION_BONUS`, `DEAL_ACTION_OTHER`, `DEAL_ACTION_SWAP`, `DEAL_ACTION_INTEREST`, `DEAL_ACTION_BALANCE`, `DEAL_ACTION_REBATE`, `DEAL_ACTION_FEE`, `DEAL_ACTION_FUNDING`
    - `direction` (string)
      - enum: `DEAL_DIRECTION_UNSPECIFIED`, `DEAL_DIRECTION_IN`, `DEAL_DIRECTION_OUT`
    - `userId` (string)
    - `clientDealId` (string)
    - `rawRate` (number) — FUNDING deals only; zero for other actions.

side-selected provider rate, before rescale/markup
    - `appliedRate` (number)
    - `prevBalance` (number) — Account balance immediately before this deal is applied, in account
currency, rounded to the currency's decimals. Together with new_balance
these form a running ledger: summing (new_balance - prev_balance) over
all deals reconstructs the account balance.
    - `newBalance` (number) — Account balance immediately after this deal is applied.
    - `fxRate` (number) — FX-conversion audit trail. Zero when no conversion ran.
FxRate: clean mid rate (before markup). Internal.
FxRateMarked: rate the customer was charged at (after markup). Customer-facing.
FxMarkupAmount: captured FX spread (markup), signed (≤ 0), account currency.
ALREADY embedded in `amount` via FxRateMarked — audit-only, NOT a separate
ledger posting. Reconstruct the no-markup amount as `amount − fx_markup_amount`.
    - `fxRateMarked` (number)
    - `fxMarkupAmount` (number)
    - `fxRateComm` (number) — Per-leg FX audit fields for the commission leg (USD → account ccy).
FxRate / FxRateMarked / FxMarkupAmount above carry the PnL-leg
values on close deals (and are zero on open deals); these carry the
commission-leg values regardless of open/close. All zero when the
account is denominated in USD or when no commission is charged.
    - `fxRateCommMarked` (number)
    - `fxMarkupAmountComm` (number)
    - `amountUsd` (number) — USD denormalisation. Stamped at deal-write time and frozen.
Audit-only — never participate in prev/new_balance.
All rounded to USD decimals; zero pre-rollout or on rate miss.
FxToUSD: mid rate accountCcy → USD (1.0 for USD accounts; 0 = not stamped).
Notional USD = Volume * ContractSize * raw price * quoteCcy→USD; unsigned.
    - `commissionUsd` (number)
    - `fxMarkupAmountUsd` (number)
    - `fxMarkupAmountCommUsd` (number)
    - `fxToUsd` (number)
    - `notionalUsd` (number)
    - `priceMarkupAmountUsd` (number)
- `hasMore` (boolean)

#### `default` — An unexpected error response.

**Content-Type:** `application/json`

- `code` (integer)
- `message` (string)
- `details` (array)
  - items:
    - `@type` (string)

