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.
| Value | Description |
|---|---|
STOCK | Equities and stock instruments (e.g., AAPL, MSFT) |
FOREX | Foreign exchange currency pairs (e.g., EUR/USD, GBP/JPY) |
CRYPTO | Cryptocurrency pairs (e.g., BTC/USD, ETH/USD) |
FUTURES | Futures 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 Class | Format | Examples |
|---|---|---|
| Stocks | Ticker symbol | AAPL, MSFT, GOOGL |
| Forex | Base/Quote | EUR/USD, GBP/JPY, USD/CHF |
| Crypto | Base/Quote | BTC/USD, ETH/USD, SOL/USDT |
| Futures | Contract code | ES, 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:
| Provider | Where 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
- Order Types — Place orders using symbols
- Position Types — Track holdings by symbol