Instrument Types
This reference documents the instrument concepts used by the Trading Gateway: the AssetClass enum, the provider-native symbol format used 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 shapes below are common display conventions — not a Tektii wire format. Send whatever string your provider accepts and the Gateway passes it through unchanged.
Common display conventions by asset class
These are how each asset class is most often displayed; the exact string a given broker accepts can differ. Always send the provider-native form your strategy subscribed with.
| Asset Class | Common display convention | 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
When forex and crypto pairs are written with a slash, the display convention 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.
This section is about the self-hosted Gateway, which forwards symbols to whichever broker you configure and so has no catalog of its own. If instead you are running cloud backtests on the hosted Tektii platform, the management API does publish a full catalog: GET /v1/instruments lists every backtestable symbol with its date range and granularities, no API key required. See Available Instruments.
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 |
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