Skip to main content

Symbols

Auto supports symbol tracking and execution across connected exchanges.

Auto is not crypto-only: alongside crypto majors, HIP-3 markets on Hyperliquid give you tokenised equities, indices, commodities, FX, and pre-IPO names — all trading 24/7. See HIP-3 asset classes below, and Catalyst Triggers for the automations they enable.

Tracking vs execution

  • Tracking: Symbols available on connected exchanges — crypto majors across perp venues (Hyperliquid, GMX, Binance), plus HIP-3 markets for tokenised equities, commodities, FX, and indices. Symbol availability is per-venue.
  • Execution (market_order, limit_order, or llm callbacks that place trades): only symbols tradable as perps on the target venue are executable. Tradability is per-venue — a symbol may be tradable on some venues and not others. The action's exchange param selects the venue; see Supported Venues.

Symbol formats

Crypto symbols

Use plain uppercase ticker symbols:

  • BTC
  • ETH
  • SOL
  • HYPE

HIP-3 symbols

HIP-3 markets are DEX-prefixed. Always use the prefixed form in Auto query symbol fields and in trade actions:

<dex>:<SYMBOL>
  • xyz:TSLA, xyz:NVDA, xyz:GOLD, xyz:CL, xyz:SP500
  • mkts:US500

A bare symbol is rejected. {"symbol": "GOLD"} fails validation with EQL_INVALID_SYMBOL"Condition symbol 'GOLD' is not supported for exchange 'hyperliquid'". Only plain crypto tickers (BTC, ETH) work without a prefix, because those live on Hyperliquid's main DEX.

Which DEX prefix to use

In practice, xyz lists nearly everything and carries almost all the volume. mkts lists a smaller overlapping set. Those are the two you'll use.

Hyperliquid hosts other HIP-3 DEXs whose markets are dormant — listed, but with no open interest and no trading. Auto does not accept them. A symbol on a dormant DEX is rejected exactly like a typo:

EQL_INVALID_SYMBOL — Condition symbol 'vntl:OPENAI' is not supported for exchange 'hyperliquid'
A symbol being listed on Hyperliquid is not enough

Auto's catalog only carries markets that actually trade. A market can exist on Hyperliquid, be visible in an explorer, and still be rejected here because nothing is trading on it.

The same asset is often listed on several DEXs — GOLD appears on six — but only the liquid listing is usable. Don't assume a prefix; confirm the exact symbol with Validate Symbol, and treat rejection as "this market is dead", not "Auto is missing an asset".

HIP-3 asset classes

These markets trade 24/7, including when the underlying cash market is closed. See Catalyst Triggers for what that unlocks.

ClassExamples
Indicesxyz:SP500, xyz:XYZ100 (Nasdaq 100), xyz:JP225, xyz:KR200, mkts:US500, mkts:USTECH
Sector & country basketsxyz:SMH (semis), xyz:XLE (energy), xyz:EWY (Korea), xyz:EWJ (Japan)
Equities — mega-capxyz:NVDA, xyz:TSLA, xyz:AAPL, xyz:MSFT, xyz:GOOGL, xyz:AMZN, xyz:META, xyz:AVGO, xyz:ORCL, xyz:NFLX
Equities — semis & AI computexyz:AMD, xyz:TSM, xyz:ASML, xyz:ARM, xyz:MU, xyz:QCOM, xyz:CRWV, xyz:INTC, xyz:MRVL
Equities — high-beta & crypto-adjacentxyz:COIN, xyz:MSTR, xyz:CRCL, xyz:HOOD, xyz:PLTR, xyz:GME, xyz:RKLB
Equities — international & ADRsxyz:BABA, xyz:SMSN, xyz:HYUNDAI, xyz:SOFTBANK
Pre-IPO / privatexyz:SPCX (SpaceX), xyz:ZHIPU, xyz:MINIMAX
Commodities — energyxyz:CL (WTI crude), xyz:BRENTOIL, xyz:NATGAS
Commodities — metalsxyz:GOLD, xyz:SILVER, xyz:COPPER, xyz:PLATINUM
FXxyz:EUR, xyz:JPY, xyz:GBP
CryptoBTC, ETH, SOL, HYPE (no prefix — main DEX)

Illustrative, not exhaustive — and listings change. Markets are added, and markets go dormant and drop out of the catalog. Never hardcode this list: confirm any symbol with Validate Symbol before you build on it.

Composite tickers (funding / liquidation)

The funding and liquidation sources do not take a symbol plus an exchange arg. They take a single composite ticker that carries the venue:

{SYMBOL}:{EXCHANGE}

For example BTC:BINANCE, ETH:HYPERLIQUID, SOL:BYBIT. SYMBOL is the base asset (BTC, not BTCUSDT), and the ticker is normalized to uppercase.

Use each venue's own base-symbol convention — the multiplied-ticker variants differ between venues:

AssetBinance / BybitHyperliquid
PEPE (1000x)1000PEPEKPEPE
HIP-3 symbols behave differently here

HIP-3 dex-prefixed symbols (xyz:TSLA, xyz:GOLD) are valid for price/ta conditions and for trade actions — but they are rejected for funding and liquidation.

This trips people up because HIP-3 assets are real Hyperliquid perps and they do appear in the market catalog. The funding and liquidation feeds simply never publish keys for them, so a condition on one could never fire — Auto rejects it up front (EQL_INVALID_ARG_VALUE, details.hip3: true) rather than accepting a plan that would sit silent forever.

Full reference: Funding and Liquidations.

Fast path to first trade

  1. Pick the canonical query symbol (BTC for majors, or <dex>:<SYMBOL> for HIP-3).
  2. Optionally pre-check the symbol with GET /v2/auto/validate-symbol/{exchange}/{symbol}.
  3. Submit a query with market_order or limit_order action in API key mode, with an active exchange connection (see Trading Execution).

HIP-3 markets are tradable on hyperliquid only — GMX lists none of them, and a HIP-3 symbol on gmx is rejected with EQL_INVALID_SYMBOL.

Validate symbols

If you want a pre-flight check before submitting a query, use GET /v2/auto/validate-symbol/{exchange}/{symbol} to verify a symbol is supported on a given venue. This applies to both trade execution (market_order / limit_order) and price / ta data sources.

curl https://api.elfa.ai/v2/auto/validate-symbol/hyperliquid/xyz:TSLA \
-H "x-elfa-api-key: $ELFA_API_KEY"
{ "supported": "true" }

Endpoint: GET /v2/auto/validate-symbol/{exchange}/{symbol}.

If a trade symbol is not tradable

  • Order actions (market_order, limit_order, or llm callbacks to those) are rejected by trade-symbol validation for non-tradable symbols.
  • Typical fallback: keep the condition symbol, switch action to notify/webhook/telegram_bot, and route execution externally if needed.

Templates

Tracking-only starter (alert/webhook path):

{
"title": "TSLA breakout tracker",
"description": "Track TSLA breakout and notify my runner.",
"query": {
"conditions": {
"AND": [
{
"source": "price",
"method": "current",
"args": { "symbol": "xyz:TSLA", "exchange": "hyperliquid" },
"operator": ">",
"value": 300
}
]
},
"actions": [
{
"stepId": "step_1",
"type": "telegram_bot",
"params": { "botToken": "<TELEGRAM_BOT_TOKEN>", "chatId": "<TELEGRAM_CHAT_ID>" }
}
],
"expiresIn": "24h"
}
}

Trade-executing starter (HIP-3, direct execution path):

{
"title": "Gold breakout — market buy",
"description": "Buy 50 USDC notional of gold once it breaks above 3400, any hour of the day.",
"query": {
"conditions": {
"AND": [
{
"source": "price",
"method": "current",
"args": { "symbol": "xyz:GOLD", "exchange": "hyperliquid" },
"operator": "crosses_above",
"value": 3400
}
]
},
"actions": [
{
"stepId": "step_1",
"type": "market_order",
"params": {
"exchange": "hyperliquid",
"symbol": "xyz:GOLD",
"side": "buy",
"amount": "50"
}
}
],
"expiresIn": "72h"
}
}

The same shape works for any HIP-3 market — swap xyz:GOLD for xyz:SP500, xyz:NVDA, xyz:CL, or xyz:SPCX. For catalyst-driven versions of this (fire the order when a rate decision or an earnings beat lands, not when a price level is hit), see Catalyst Triggers.