Instrument Types

This reference documents the instrument concepts used by the Trading Gateway: the AssetClass enum, the canonical symbol format expected on REST and WebSocket messages, and how strategies discover which symbols a given broker supports.

Enums

AssetClass

The asset class categorizes the type of instrument being traded. Used on Capabilities.supported_asset_classes and on responses that carry instrument metadata.

ValueDescription
STOCKEquities and stock instruments (e.g., AAPL, MSFT)
FOREXForeign exchange currency pairs (e.g., EUR/USD, GBP/JPY)
CRYPTOCryptocurrency pairs (e.g., BTC/USD, ETH/USD)
FUTURESFutures contracts

Symbol Format

Symbols on the Gateway are the same strings the underlying broker accepts. The Gateway does not apply a Tektii-internal prefix scheme; it forwards the symbol verbatim to the configured provider. The canonical shapes below are the conventions most providers use.

Format by Asset Class

Asset ClassFormatExamples
StocksTicker symbolAAPL, MSFT, GOOGL
ForexBase/QuoteEUR/USD, GBP/JPY, USD/CHF
CryptoBase/QuoteBTC/USD, ETH/USD, SOL/USDT
FuturesContract codeES, NQ, CL

Currency Pairs

For forex and crypto pairs, the format is BASE/QUOTE:

  • Base currency: the currency being bought or sold
  • Quote currency: the currency used to price the base

For example, in EUR/USD:

  • EUR is the base currency
  • USD is the quote currency
  • A price of 1.0850 means 1 EUR = 1.0850 USD

Brokers occasionally use other conventions (e.g. EURUSD without the slash, or crypto pairs like BTCUSDT). Always check the provider's own documentation for the exact string format. The Gateway passes whatever you send through to the upstream broker.

Discovering Symbols

The Trading Gateway does not expose a symbol-enumeration endpoint. There is no GET /v1/symbols or equivalent; strategies discover the tradeable universe in two complementary ways.

1. Query GET /v1/capabilities for supported asset classes

Every running Gateway exposes a capabilities endpoint that describes what the currently configured provider supports. Strategies should call this once at startup to learn which AssetClass values are available before attempting to subscribe or place orders.

{
  "supported_asset_classes": ["STOCK", "FOREX"],
  "supported_order_types": ["MARKET", "LIMIT", "STOP", "STOP_LIMIT"],
  "position_mode": "NETTING",
  "features": ["bracket_orders", "trailing_stops"],
  "max_leverage": "4.0",
  "rate_limits": { "requests_per_minute": 200 }
}

See the REST reference → GET /v1/capabilities for the full response schema.

2. Consult the provider's own API for the symbol list

Each broker maintains its own authoritative symbol list with metadata the Gateway does not surface (listing status, lot sizes, tick sizes, contract specifications, margin requirements). When a strategy needs this metadata, fetch it directly from the broker API:

ProviderWhere to find symbol metadata
Alpaca (alpaca-paper, alpaca-live)Alpaca's own Assets API
Binance (binance-spot-testnet, binance-spot-live)Binance public exchangeInfo endpoint
Saxo (saxo-live)Saxo OpenAPI Reference Data
Oanda (oanda-live)Oanda Account Instruments endpoint
Tektii simulation (tektii)Symbols follow the backtest scenario configuration

The SUBSCRIPTIONS environment variable (configured on the Gateway itself, not the strategy) is where operators declare which specific instruments a particular Gateway instance should stream. See Connection → Event Subscription for the subscription schema.

Related Types