---
title: "Check instrument trading eligibility"
method: POST
path: "/api/v2/trading/info/eligibility"
tags: ["Trading - Real"]
---

# Check instrument trading eligibility

`POST /api/v2/trading/info/eligibility`

**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 per-instrument trading configuration for the authenticated account - position limits, permitted order types, stop-loss and take-profit boundaries, and available leverage by settlement type and direction. Instruments not found are listed in notFoundInstrumentIds and notFoundSymbols. At least one of instrumentIds or symbols must be supplied; the combined length must not exceed 100 instruments.

## Headers

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

## Request body

- InstrumentEligibilityRequest — Request payload for checking instrument eligibility. At least one of `instrumentIds` or `symbols` must be provided; combined length must not exceed 100 instruments.
  - `instrumentIds` integer[], nullable — Optional list of instrument IDs to check.
  - `symbols` string[], nullable — Optional list of instrument symbols to check.
  - `currency` string — Requested currency for financial amounts in the eligibility response (e.g. minimum position size). Currently only USD is supported.

## Response `200`

Eligibility resolved successfully

- InstrumentEligibilityResponse — Response containing trading configuration for all requested instruments.
  - `currency` string — The currency used for all monetary values in this response.
  - `eligibilities` InstrumentEligibility[] — Trading configuration for each resolved instrument.
    - `instrumentId` integer — Unique identifier for the instrument.
    - `symbol` string — Trading symbol of the instrument (e.g. AAPL, EURUSD).
    - `minPositionExposure` number — Minimum exposure value required to open a position on this instrument.
    - `maxUnitsPerOrder` number — Maximum number of units allowed per single order.
    - `allowOpenPosition` boolean — Whether opening new positions is currently permitted.
    - `allowClosePosition` boolean — Whether closing existing positions is currently permitted.
    - `allowPartialClosePosition` boolean — Whether partially closing an existing position is permitted.
    - `allowMitOrders` boolean — Whether Market-if-Touched (limit) orders are supported.
    - `allowEntryOrders` boolean — Whether submitting open orders when the market is closed is allowed.
    - `allowExitOrders` boolean — Whether submitting close orders when the market is closed is allowed.
    - `allowTrailingStopLoss` boolean — Whether a trailing stop-loss can be set on positions for this instrument.
    - `requiresW8Ben` boolean, nullable — Whether a W-8BEN tax form is required to trade this instrument. Null if not applicable.
    - `unitsQuantityType` string — What trade quantity type is allowed. Possible values: `whole`, `fractional`.
    - `orderFillBehaviorType` string — How orders are filled for this instrument. Possible values: `bestEffort`, `fillOrKill`.
    - `allowedOrderQuantityType` string — Which order sizing methods the instrument allows. Possible values: `unitsOnly`, `amountOnly`, `all`.
    - `tradeUnitType` string — Unit type used to express trade size. Possible values: `units`, `lots`.
    - `initialMarginInAssetCurrency` number, nullable — Initial margin expressed in the asset currency. Null if not applicable.
    - `stopLossMarginInAssetCurrency` number, nullable — Stop-loss margin expressed in the asset currency. Null if not applicable.
    - `additionalBufferPercent` number, nullable — Additional buffer applied to the current rate to limit the order execution price - usually for low-liquidity assets. This also causes additional funds to be reserved for the order. Null if no buffer.
    - `leverageConfigs` LeverageConfiguration[] — Available leverage configurations, each specific to a settlement type and direction.
      - `settlementType` string — The settlement type this configuration applies to. Possible values: `cfd`, `real`, `realFutures`, `marginTrade`.
      - `direction` string — The trade direction. Possible values: `long`, `short`.
      - `leverageValues` integer[] — Available leverage multipliers for this settlement type and direction.
      - `isPotential` boolean — Additional user questionnaire may be required to allow the user to trade with this setup of settlement and leverages.
      - `minPositionAmount` number — Minimum monetary collateral required to open a position under this leverage configuration.
      - `allowEditStopLoss` boolean — Whether the stop-loss can be edited for positions under this configuration.
      - `minStopLossPercentage` number — Minimum stop-loss percentage allowed from the allocated margin of the position.
      - `maxStopLossPercentage` number — Maximum stop-loss percentage allowed from the allocated margin of the position.
      - `defaultStopLossPercentage` number — Default stop-loss percentage applied when no explicit value is provided.
      - `allowEditTakeProfit` boolean — Whether the take-profit can be edited.
      - `minTakeProfitPercentage` number — Minimum take-profit percentage allowed from the allocated margin of the position.
      - `maxTakeProfitPercentage` number — Maximum take-profit percentage allowed from the allocated margin of the position.
      - `defaultTakeProfitPercentage` number — Default take-profit percentage applied when no explicit value is provided.
      - `allowStopLossTakeProfit` boolean — Whether stop-loss and take-profit can be set on a position.
  - `notFoundInstrumentIds` integer[] — Instrument IDs that were requested but could not be found.
  - `notFoundSymbols` string[] — Symbols that were requested but could not be found.

## Other responses

- `400` — Invalid request. Validation failed.
- `401` — Unauthorized. Invalid or missing authentication.
- `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)
