---
title: "Get what-if trading cost breakdown"
method: POST
path: "/api/v2/trading/info/costs"
tags: ["Trading - Real"]
---

# Get what-if trading cost breakdown

`POST /api/v2/trading/info/costs`

**Rate limit:** 20 requests per 60 seconds. This is a **dedicated** limit for this endpoint — it is **not shared** with (pooled across) any other endpoint, so the full rate is available to this endpoint alone.

---

Returns the markup, market spread, transaction fee, overnight fee, over-weekend fee, and SDRT that would apply if the supplied order were executed now. For `action: open`, exactly one of `symbol` or `instrumentId` must be provided and `leverage` must be at least 1. For `action: close`, `positionIds` must be non-empty.

## Headers

- `x-request-id` string, uuid, required
- `x-api-key` string, password, required
- `x-user-key` string, password, required

## Request body

- UnifiedOrderRequest — Request payload for creating an order to open or close a position.
  - `action` 'open' | 'close', required — The order action type. Possible values: open, close.
  - `transaction` 'buy' | 'sell' | 'sellShort' | 'buyToCover', required — The transaction direction. Possible values: buy, sell, sellShort, buyToCover.
  - `symbol` string, nullable — The asset ticker symbol. For open orders provide exactly one of symbol or instrumentId - providing both is rejected.
  - `instrumentId` integer, nullable — The eToro instrument identifier. For open orders provide exactly one of symbol or instrumentId - providing both is rejected.
  - `settlementType` 'cfd' | 'real' | 'realFutures' | 'marginTrade', nullable — The settlement type. Possible values: cfd, real, realFutures, marginTrade. Required for open orders.
  - `orderType` 'mkt' | 'mit' — The order execution type. Possible values: mkt (market), mit (market if touched).
  - `triggerRate` number, double, nullable — The trigger rate for mit orders. Required for mit orders.
  - `leverage` integer, nullable — The leverage multiplier to apply. Required for open orders.
  - `amount` number, double, nullable — The monetary amount to invest in the order currency. Mutually exclusive with units and contracts.
  - `orderCurrency` string, nullable — The currency for the order amount. Typically usd.
  - `units` number, double, nullable — The number of units to trade. Mutually exclusive with amount and contracts.
  - `contracts` number, double, nullable — The number of contracts to trade. Mutually exclusive with amount and units.
  - `stopLossRate` number, double, nullable — The stop-loss rate at which the position will automatically close.
  - `takeProfitRate` number, double, nullable — The take-profit rate at which the position will automatically close.
  - `stopLossType` 'fixed' | 'trailing', nullable — The stop-loss type. Possible values: fixed, trailing.
  - `additionalMargin` number, double, nullable — Additional margin to allocate to the position.
  - `positionIds` integer[], nullable — List of position IDs to close. Required for close orders.

## Response `200`

Cost breakdown resolved successfully.

- GetCostResponse — Cost breakdown for a hypothetical open or close order.
  - `instrumentId` integer — Identifier of the instrument the cost breakdown applies to.
  - `symbol` string, nullable — Symbol of the instrument
  - `costs` CostBreakdown[] — Cost components that would apply to the proposed order.
    - `costType` 'markup' | 'marketSpread' | 'transactionFee' | 'overnightFee' | 'overWeekendFee' | 'sdrt' — Identifies which cost component this entry represents.
    - `amount` number, double — The monetary value of this cost component, expressed in `currency`.
    - `currency` string — ISO 4217 currency code in which `amount` is denominated.
  - `lastUpdated` string, date-time — Timestamp (ISO 8601) at which the cost figures were generated.

## Other responses

- `400` — Invalid request. Validation failed.
- `401` — Unauthorized. Invalid or missing authentication.
- `404` — Instrument or position not found.
- `429` — Too Many Requests — the rate limit (20 requests / 60s) was exceeded.
- `500` — Internal server error.

---

[API](https://skmtc.net/etoro/apis/etoro-api.md) · [All operations](https://skmtc.net/etoro/apis/etoro-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/etoro/etoro-api/revisions/69c1fb266c35/schema)
