Catalyst Triggers
Auto is not crypto-only. Through HIP-3 perps on Hyperliquid you can automate on
equities, indices, commodities, FX, and pre-IPO names — xyz:NVDA,
xyz:SP500, xyz:GOLD, xyz:CL, xyz:SPCX — using the same condition engine,
the same actions, and the same API.
This page is about the pattern those markets unlock: trade the catalyst, not just the chart.
The 24/7 edge
Start here, because it is the whole reason this is interesting.
Your perp never closes. The cash stock does.
- CPI drops at 08:30 ET — an hour before the US open.
- Earnings land after the close.
- Wars, sanctions, and OPEC headlines break on weekends.
In every one of those cases the underlying equity is halted and you cannot act. The HIP-3 perp keeps trading. A condition you set on Friday can fire on Saturday and have you positioned before Monday's open — automatically, while the rest of the market is waiting for the bell.
That gap is the edge, and an automation is how you actually capture it: you are not going to be awake for a 3am jobs print.
Separate the catalyst from the effect
Every setup on this page has the same shape:
WHEN a real-world market moves → THEN the assets that catalyst moves.
Those are two independent choices. Get them right in order.
1. Pick the cheapest source that expresses the catalyst
Work down this list and stop at the first one that fits. The obvious source is often not the cheapest.
- The catalyst itself trades as a perp. Gold, silver, and crude are
instruments, not just themes. "Gold is breaking out" is a
pricecondition onxyz:GOLD— free, continuous, and it fires in seconds. Reach for this first. - Market-wide crypto sentiment → a
fear_greedcondition. - The catalyst has no price — a central-bank decision, IPO timing, an
earnings beat, a conflict escalating. Now use a prediction market:
kalshiorpolymarket. These reprice within seconds of reality shifting, often well before the official number is digested. - The catalyst is a post or a headline →
tweet/news. - Nothing above fits → an
llmcondition. It works, but it costs credits on every evaluation — don't default to it.
Want confirmation before acting? Combine layers with AND: a catalyst leaf plus
a price/ta leaf on the asset you're actually trading.
2. Bridge on asset class, not on tickers
A catalyst moves a basket, not one name. Map the catalyst to the asset classes it moves, then pick symbols from those classes:
| Catalyst | Asset classes it moves |
|---|---|
| Rates, central-bank decisions | indices, mega-cap equities, metals, FX |
| Inflation prints | metals, FX, indices |
| Growth, jobs, activity data | indices, sector baskets, high-beta equities |
| Recession, downgrades, risk-off | metals, FX, indices |
| War, sanctions, geopolitics | energy, metals, sector baskets |
| Company and earnings news | mega-cap, semis, high-beta equities |
| AI, chips, compute demand | semis, mega-cap, sector baskets |
| A named commodity | the matching commodity |
| Crypto price or sentiment | crypto, plus listed proxies (xyz:COIN, xyz:MSTR) |
| Private-company news | pre-IPO names |
When there's no strong single-name view, prefer the index or the basket
(xyz:SP500, xyz:XYZ100, xyz:SMH) over one ticker — it expresses the
catalyst with less idiosyncratic risk.
See Symbols for the full asset-class reference and how to confirm a ticker is live.
Symbol form (read this before you write a query)
HIP-3 symbols are DEX-prefixed: <dex>:<SYMBOL>, e.g. xyz:GOLD.
A bare symbol is rejected — {"symbol": "GOLD"} fails validation with
EQL_INVALID_SYMBOL ("Condition symbol 'GOLD' is not supported for exchange
'hyperliquid'"). So you'll find out immediately, not silently.
In practice, xyz lists nearly everything and carries almost all the volume —
it's the prefix you'll use for the overwhelming majority of these markets.
The same asset is often listed on several HIP-3 DEXs — GOLD appears on six —
but most of those listings are dormant: no open interest, no trading. Auto's
catalog only carries markets that actually trade, so a dormant listing is rejected
exactly like a typo (EQL_INVALID_SYMBOL).
Don't guess a prefix. Confirm the exact symbol with Validate Symbol, and read a rejection as "that market is dead", not "Auto doesn't support this asset".
What works on HIP-3
| Capability | HIP-3 support |
|---|---|
price / ta conditions | Yes |
market_order / limit_order | Yes — Hyperliquid only |
| Trade actions on GMX | No. GMX lists no HIP-3 markets; xyz:SP500 on gmx is rejected with EQL_INVALID_SYMBOL |
funding / liquidation conditions | No — see Funding and Liquidations |
| Market hours | None — these perps trade 24/7 |
Leverage is per-market (each market carries its own max), and the standard Hyperliquid $10 minimum notional applies. Trade actions need an active Hyperliquid connection — see Trading Execution.
Worked setups
1. Inflation print → metals
CPI lands before the bell. Fire on the prediction market, not the print.
{
"title": "Hot CPI watch",
"description": "Alert when the market's odds of a hot CPI print cross 70%, so I can look at gold and the dollar before the US open.",
"conditions": {
"AND": [
{
"source": "kalshi",
"method": "yes_price",
"args": { "ticker": "<an open Kalshi CPI market ticker>" },
"operator": "crosses_above",
"value": 0.7
}
]
},
"actions": [
{
"stepId": "step_1",
"type": "notify",
"params": { "message": "Hot-CPI odds crossed 70% — check gold and DXY" }
}
],
"expiresIn": "48h"
}
Want confirmation before it fires? Add a second leg on the asset you'd actually trade — here, only alert if gold is also already breaking out:
{
"AND": [
{
"source": "kalshi",
"method": "yes_price",
"args": { "ticker": "<an open Kalshi CPI market ticker>" },
"operator": "crosses_above",
"value": 0.7
},
{
"source": "ta",
"method": "rsi",
"args": { "symbol": "xyz:GOLD", "timeframe": "1h", "exchange": "hyperliquid" },
"operator": ">",
"value": 55
}
]
}
2. Rate decision → index order
The full bridge: a prediction market fires an actual order on an index perp.
Note repeat — on a trade action each fire places a new order, so cooldown
and maxTriggers are your position-count controls (see
Repeat).
{
"title": "Fed cut odds → long S&P",
"description": "When the market prices a cut as more likely than not, take a long in the S&P perp — including overnight, when cash equities are shut.",
"conditions": {
"AND": [
{
"source": "kalshi",
"method": "yes_price",
"args": { "ticker": "<an open Kalshi Fed-decision market ticker>" },
"operator": "crosses_above",
"value": 0.6
}
]
},
"actions": [
{
"stepId": "step_1",
"type": "market_order",
"params": {
"exchange": "hyperliquid",
"symbol": "xyz:SP500",
"side": "buy",
"amount": "250"
}
}
],
"expiresIn": "168h",
"repeat": { "cooldown": "4h", "maxTriggers": 3 }
}
3. Earnings, after the close
The classic case the cash market can't serve. Earnings drop at 16:05 ET; the stock is halted; the perp is not.
{
"title": "NVDA earnings reaction",
"description": "NVDA reports after the close — alert me the moment the beat lands so I can trade the perp while the stock is halted.",
"conditions": {
"AND": [
{
"source": "news",
"method": "semantic",
"args": {
"text": "NVIDIA reports quarterly earnings that beat analyst expectations",
"minConfidence": 80
},
"operator": "==",
"value": true
}
]
},
"actions": [
{
"stepId": "step_1",
"type": "telegram_bot",
"params": { "botToken": "<TELEGRAM_BOT_TOKEN>", "chatId": "<TELEGRAM_CHAT_ID>" }
}
],
"expiresIn": "48h"
}
4. Commodity, straight through
The tightest mapping on the board — the catalyst names your asset. Here the catalyst is a perp, so skip the prediction market entirely (rung 1 of the ladder): buy crude when both oil benchmarks are washed out, not just one.
{
"title": "Crude oversold, both benchmarks",
"description": "Mean-reversion long in WTI when both WTI and Brent are washed out — a benchmark-wide flush, not a single-contract quirk.",
"conditions": {
"AND": [
{
"source": "ta",
"method": "rsi",
"args": { "symbol": "xyz:CL", "timeframe": "4h", "exchange": "hyperliquid" },
"operator": "crosses_below",
"value": 30
},
{
"source": "ta",
"method": "rsi",
"args": { "symbol": "xyz:BRENTOIL", "timeframe": "4h", "exchange": "hyperliquid" },
"operator": "<",
"value": 40
}
]
},
"actions": [
{
"stepId": "step_1",
"type": "market_order",
"params": {
"exchange": "hyperliquid",
"symbol": "xyz:CL",
"side": "buy",
"amount": "100"
}
}
],
"expiresIn": "72h"
}
5. Weekend geopolitics
Your weekend desk. A headline breaks Saturday; energy and gold are the assets that move; nothing else is open.
{
"title": "Escalation → energy + gold",
"description": "If a major conflict escalates over the weekend, flag it — crude and gold will move before any equity market reopens.",
"conditions": {
"AND": [
{
"source": "news",
"method": "semantic",
"args": {
"text": "Military escalation in a major oil-producing region",
"minConfidence": 80
},
"operator": "==",
"value": true
}
]
},
"actions": [
{
"stepId": "step_1",
"type": "webhook",
"params": { "url": "https://your-runner.example/auto/events" }
}
],
"expiresIn": "7d"
}
Sizing note
A prediction-market price is a probability, not a promise. A market at 70%
is wrong three times in ten — and that's when it's perfectly calibrated. Treat a
threshold on one as a signal, size accordingly, and use maxTriggers as a hard
circuit breaker on any plan that places orders.
Catalyst-to-asset links are historical tendencies, not guarantees.
Related Docs
- Symbols — HIP-3 asset classes, DEX prefixes, validating a ticker
- Prediction Markets — Kalshi and Polymarket reference
- Trading Execution — connecting an exchange, order params
- Repeat — recurring plans and trade actions
- Signal —
tweet/newscondition contracts