HyperBot

No access to the bot yet?

Contact us

Access by subscription or license — reach out for a personalized demo.

Demo mode — sample data

Get access to HyperBot

Automated trading on Hyperliquid — pick the plan that fits you.

Monthly
€29/mo
  • Real-time dashboard access
  • Bot hosted on our infrastructure
  • Email support
  • No commitment
Choose
License / Purchase
Custom
  • Deployed on your own VPS
  • Custom code & strategies
  • Onboarding & training
  • You own the instance
Request a quote

Questions? [email protected] · Indicative pricing, to be adjusted.

My account

Authorizing asks your wallet to sign a consent message — no transaction, no gas. Stopping leaves any existing exchange SL/TP orders in place. Affects only your account.

Trading settings

your plan

Strategy parameters

Fine-tune the selected strategy within your plan's limits. Each value is clamped to its allowed range; leave a field empty to use the strategy default. Parameters are stored per strategy and apply on your next order.

Trailing stop

Symbols & priority

Enable the markets you want traded and set their priority (1 = served first when the position cap is reached). Your plan caps how many you can run at once.

Available balance
USDC
Total equity
Realized equity
Unrealized PnL
On open positions
PnL (24h)
realized · 24h
Total PnL
Realized since inception

Equity

Start End Change Min Max

Traded markets (active)

Stats (7 days)

Win rate
Total trades
Profit factor
Sharpe ratio
Best trade
Worst trade
Current drawdown
Daily loss

News

Loading…
PnL breakdown by exit reason (last 30 days)
Where your edge comes from — and where it leaks.
Loading…
Positive edge Loss source Top performer Inactive flow
Understanding the reasons
TP — Take Profit hit (includes TP triggers executed on the exchange). Planned winning exit.
SL — Stop Loss triggered at its original level (includes SL triggers executed on the exchange). Cost of being wrong (or of noise).
TRAILING — The trailing stop had ratcheted the SL, and that moved SL is what closed the position (win or loss). Isolates what the trailing stop actually captures or gives back.
SIGNAL — Exit on an opposite strategy signal (before TP/SL).
MANUAL — Manual close via Telegram or the exchange.
If your SLs outweigh your TPs, your stop is too tight or your edge is weak. If SIGNAL wins more than TP, you can widen your TPs. If TRAILING gives back more than it locks in, loosen the gap or raise its activation.
Quality scores & news on-chain quality (0-100) · news sentiment · per pair
Loading…
Quality blends free public data — crypto: On-Chain Activity (fees), Real Volume (DEX), Dev Activity (commits), Tokenomics (dilution); TradFi stocks: fundamentals; commodities & indices: COT positioning. Pillars with no live source are estimated by the LLM (flagged ≈) and folded into the score. Quality lightly modulates trading (amplifies/attenuates aligned news). Synthetic HIP-3 indices (SPCX, XYZ100) show N/A. Scores are informational only and do not constitute investment advice.
Score history news sentiment (−1..+1) & quality (0–100) per pair, over time
Range
Scores
Loading…
Filters
Activity & stats (charts respect the filters above)

Stats

Net PnL
% return
Win rate
Total trades
Avg position size
Most used leverage
Profit factor
Sharpe ratio
Best trade
Worst trade

PnL calendar

Strategy ranking & breakdown

🔥 Hot & ❄️ Cold

Loading…
Stats by day

Daily performance

Monthly stats

Performance by month

Fundamental impact

Every entry the news filter changed — sized down, let through, or refused

Impacted trades
Realized PnL
Win rate
Blocked orders
Trade history

Latest closed trades

Every article fetched by the pipeline — filter by pair, read the summary when available, and see the LLM rating once the model has classified the article.

Loading news…
Logs

Bot activity

API … LLM …
0 lines
Recent signals

Latest generated signals

Strategy settings
Loading…
Help & user guide

👋 Welcome to HyperBot

HyperBot is an automated trading bot connected to Hyperliquid. This dashboard tracks its activity, performance and open positions in real time.

Data refreshes automatically over WebSocket — no need to reload. Prices update every second, position values at each tick.

🧭 Navigation

  • Home — status, balance, equity, PnL, statistics, positions and scores
  • Performance — daily & monthly stats, filterable by symbol and confidence
  • Fundamental — per-asset quality & news watchlist (Crypto / TradFi)
  • Trade history — all recent closed trades
  • Positions — details of currently open positions
  • Logs — full activity log, filterable by level
  • Strategy settings — active parameters, indicators and the Backtest tab
  • ⚡ Control — pause / resume / stop and live overrides (when web control is enabled)

🟢 Bot statuses

Shown at the top of Home and via the dot next to the logo.

Active — running normally Degraded — running but with errors Stopped — the bot is not running Idle — no data yet

💰 Reading the numbers

  • Available balance — uncommitted funds available to open new positions
  • Total equity — balance + market value of open positions
  • Unrealized PnL — floating gain/loss on positions still open
  • Realized PnL (session) — cumulative gain/loss since the bot started
  • Green means a gain, red a loss

📡 Prices & market data

  • Top ticker — prices for all pairs declared in config.yaml
  • "Live prices" card — only the pairs currently selected via Telegram for trading
  • 24h change — anchored on Hyperliquid's prevDayPx, so it matches the exchange

🛡️ Quality score

A 0–100 health rating per asset, separate from the news direction. Crypto reads free on-chain fundamentals; TradFi commodities/indices read CFTC COT positioning & trend. The enriched composite now also modulates trading — it amplifies entries aligned with strong fundamentals and trims those that oppose them.

BTC78
XYZ 10051
SpaceX ≈≈72

Data-less assets (e.g. SpaceX) get a global LLM estimate, flagged (no pillar bars), which still feeds trading by design.

📊 Directional & macro scores

The bot continuously reads live news and an economic-events feed and turns them into numbers that nudge position sizing and can veto a trade. There are two of them — a per-asset directional score (the single number shown per asset) and a global macro risk-off penalty (surfaced as a separate flag when active, since it is not a direction).

📈 Directional score

The directional score (dir) is the per-asset news sentiment, from -1 (very bearish on this asset) to +1 (very bullish). Only real news about that asset moves it — the global macro mood is kept out on purpose (it lives in the Macro score), so a directional reading always points to a real side.

−1 bearish0 neutral+1 bullish

↑ Example marker at dir = +0.62BULLISH

How it is computed

  • Every headline younger than 24h is scanned for bullish / bearish keywords (rally, ETF approval, inflows… vs hack, lawsuit, sell-off…).
  • Recency weighting (6h half-life): <6h ≈ full weight, <12h ≈ 0.6, <24h ≈ 0.2, older = ignored.
  • High-impact headlines count double (×2).
  • The asset's own news counts at full weight; generic market-wide news only at 35%, so each asset is driven by its own story.
  • Blended 65% average / 35% strongest single headline (so one big story isn't diluted by noise), then squeezed through tanh into -1 … +1.

Labels

BULLISH≥ +0.5 SLIGHTLY_BULLISH+0.2 … +0.5 NEUTRAL−0.2 … +0.2 SLIGHTLY_BEARISH−0.5 … −0.2 BEARISH≤ −0.5
Example · BTC

Three fresh headlines: "Bitcoin ETF sees record inflows", "BTC rallies past resistance", "Institutional adoption climbs".

dir = +0.62 BULLISH. A LONG trades with the news (full size); a SHORT would be fighting it (see Effect on trades).

🌍 Macro score

The macro score is a global, non-directional risk-off penalty from 0 (calm) down to -1 (major event). It is the same for every asset in a given tick and never picks a side — it only makes the bot more cautious by trimming size. It is also what raises the ⚠️ Macro event card in the Notif tab.

It is driven by the scheduled economic calendar (the same releases shown on Investing.com's calendar), not by news headlines — so it reacts to real, timed events (FOMC, CPI, NFP…) and ignores analyst-rating / forecast articles. Only releases for the market-moving currencies (USD, EUR, GBP, JPY, CHF, CNY, plus cross-region events) are considered.

−1 major−0.5 moderate0 calm

Detection window

An economic event counts while it is inside the caution window: from 2h before until 1h after the scheduled time. The strongest active event wins.

Event tiers

Tiers map straight to the calendar's impact rating (the ★ stars on Investing.com). Low-impact events are ignored entirely — no penalty, no Notif card.

−1.0 Tier 1 — High impact (★★★): FOMC / Fed decisions, CPI, NFP / non-farm payrolls, GDP, rate decisions…
−0.5 Tier 2 — Medium impact (★★): PPI, retail sales, jobless claims, ISM / PMI, PCE, housing, trade balance…
Example · any asset

A "FOMC Statement" release is scheduled 90 minutes from now → inside the window, High impact = Tier 1.

macro = -1.0 for all pairs this tick. No side is favoured, but both LONG and SHORT get −50% size, and the Notif tab shows the event with its currency and scheduled time.

🧮 The score you see

The number shown per asset is simply the directional score (dir) — a single, signed reading (−1 … +1) that answers one question: which way is the news pointing? It is exactly the value the trade logic acts on for the veto and the size cut, so what you read is what drives the direction.

The macro risk-off is deliberately not folded into that number. It is not a direction (it is always ≤ 0 and only means "be cautious"), so blending it in would drag the score negative without anything being bearish. Instead it appears as a separate ⚠ Global risk-off flag next to the score, shown only while a risk-off is live.

−1 bearish0 neutral+1 bullish
Example · XYZ100 (live)

Bullish index news, no macro event: dir = +0.408.

→ the card shows +0.41 SLIGHTLY_BULLISH, with no risk-off flag. (Internally the bot still logs a blended fund_score = dir×0.65 + macro×0.35 for history, but the UI shows the clearer directional number.)

🎯 Effect on trades

Here is exactly what these scores do when a strategy fires an entry signal:

Opposition veto. An entry that fights a strong directional score is blocked entirely — a LONG when dir ≤ −0.6, or a SHORT when dir ≥ +0.6. It surfaces in Notif as "Order not executed — Fundamental opposition". Threshold: fund_opposition_threshold (default 0.6; set ≥ 1.0 to disable).
✂️ Size −50%. The position is halved when the trade opposes the directional score by ≥ 0.3 (a LONG into bearish news / a SHORT into bullish), or when the macro penalty is strong (macro ≤ −0.5). No stacking — it is a single −50%.
Entry confidence bonus (optional, off by default). A strong directional score can add confidence to that side, and on its own push it over min_confidence — i.e. a big news can trigger an entry. Enabled via fund_bonus_enabled.

Three quick scenarios

A · trade with the news

BTC dir = +0.62, no macro. A LONG signal → full size. A SHORT signal → blocked (opposition veto).

B · macro risk-off

SILVER, no asset news (dir = 0) but FOMC in 90 min (macro = −1.0). Either side may still open, but at −50% size; Notif shows the Tier-1 event.

C · mild tailwind

XYZ100 dir = +0.41, no macro. A LONG is not vetoed and keeps full size (opposition only kicks in past ±0.6).

📰 News feed

The News drawer shows headlines with a real RSS image (or a generated tile fallback). Impact is shown as a coloured outline on the card, and an LLM filters each item for relevance and sentiment before it is displayed.

  • Toggle High impact only to keep the market-movers
  • All vs Fundamental tabs split generic news from asset-specific stories

🌲 Strategies

Each pair runs one strategy, selectable per pair from the Control tab:

EMABreakout — trend RSIMeanReversion — range ChandelierZLSMA — trend + trail BBReversion — Bollinger mean-revert

Every entry must clear a confidence threshold. Each strategy grades the current setup on a 0–1 scale and opens a trade only when that grade reaches its own min_confidence_* value (unset → the global min_confidence). A higher threshold means fewer but stronger trades; a lower one means more but looser trades. You set it in Strategy settings.

👉 Click a strategy to open it (only one opens at a time). The worked examples below all assume the threshold is set to 0.70.

EMABreakout trend breakout min_confidence_ema

Buys when a fast EMA crosses above a slow EMA inside an up-trend (mirror for shorts). It adds points for each thing that confirms the move, then divides by 6 to get the grade.

Open a LONG with threshold 0.70 — you need enough of these:
  • EMA fast crosses above the slow EMA → +1.5 (required: no cross, no trade)
  • Price is above the trend EMA → +2.0
  • RSI in the bullish zone (52–70) → +1.5
  • A strong green candle (high volume) → +0.5

Cross + price above trend + RSI = 5.0 ÷ 6 = 0.83 ≥ 0.70 → ENTER.
Cross + price above trend only = 3.5 ÷ 6 = 0.58 → wait (even with volume, 4.0 ÷ 6 = 0.67, still under 0.70). So at 0.70 the RSI confirmation is effectively required. On top of the grade, ADX must show a real trend and Supertrend/KST (if enabled) must agree with the direction.

DirectionEntry conditions (all required)Confidence score (÷6 ≥ threshold)
LONG EMA fast crosses above slow (hard gate + grace window) · ADX regime OK (slope-zoned around adx_min_trend) · Supertrend and KST bullish (when enabled) cross 1.5 + close > EMA-trend 2.0 + RSI 52…rsi_overbought 1.5 + volume > SMA×volume_multiplier (green) 0.5
SHORT Mirror: EMA fast crosses below slow · ADX OK · Supertrend and KST bearish cross 1.5 + close < EMA-trend 2.0 + rsi_oversold…48 RSI 1.5 + volume (red) 0.5
Exit / stopTrigger
EXIT_LONGOpposite EMA cross down, or RSI(closed) ≥ rsi_exit_overbought (80). Can immediately reverse to SHORT if that side is itself valid.
EXIT_SHORTOpposite EMA cross up, or RSI(closed) ≤ rsi_exit_oversold (20). Can reverse to LONG.
SL / TPSL = ATR × atr_multiplier_sl · TP = ATR × atr_multiplier_tp, plus the adaptive trailing stop (moves only in profit, never locks a loss).
RSIMeanReversion range fade min_confidence_rsi

Buys a dip when RSI is oversold but price is still above its long-term average (SMA200) — and only while the market is ranging, not trending. The grade blends how oversold the RSI is with how far price sits above the SMA200.

Open a LONG with threshold 0.70 — the grade adds up two parts:
  • How oversold RSI is (below 30) → up to +0.5 (the lower the RSI, the more)
  • How far price sits above the SMA200 → up to +0.5 (the further, the more)

A deep dip (RSI ≈ 12) with price ≈ 0.8% above the SMA200 ≈ 0.70 → ENTER. A shallow dip (RSI just under 30) tops out around 0.58 → wait, even far above the SMA200. So at 0.70 the RSI must be genuinely oversold. ADX must also stay below adx_max_mean_reversion (25) — no fading a real trend.

DirectionEntry conditions (all required)Confidence score
LONG RSI < rsi_oversold (30) · price above SMA200 · ADX ≤ adx_max_mean_reversion (25) 0.5 × (30 − RSI)/30 + min(0.5, distance to SMA200 %) ≥ threshold
SHORT RSI > rsi_overbought (70) · price below SMA200 · ADX ≤ adx_max_mean_reversion 0.5 × (RSI − 70)/30 + min(0.5, distance to SMA200 %) ≥ threshold
Exit / stopTrigger
EXIT_LONGRSI ≥ 50 (mean recovered). Never blocked by ADX — always allowed to exit.
EXIT_SHORTRSI ≤ 50.
SL / TPSL = ATR × atr_multiplier_sl · TP = ATR × atr_multiplier_tp + adaptive trailing.
ChandelierZLSMA trend + trailing stop min_confidence_ce

Follows the Chandelier Exit trend-flip (its stop line also becomes your trailing stop), but only takes the flip when price has clearly separated from the ZLSMA trend line — a flip glued to the line means a weak, choppy trend.

Open a trade with threshold 0.70:
  • Grade starts at 0.60 on any valid flip
  • + 0.20 × (distance from price to ZLSMA, measured in ATR), capped at 1.00

0.60 + 0.20 × 0.5 = 0.70 → ENTER when price is at least half an ATR away from the ZLSMA. A flip right on the line stays at 0.60 → wait. LONG also needs price above the ZLSMA, SHORT below it.

DirectionEntry conditions (all required)Confidence score
LONG Chandelier direction flips −1 → +1 (buy flip) · price above ZLSMA (when ce_require_zlsma) 0.6 + 0.2 × |price − ZLSMA| / ATR, capped 0.6–1.0 ≥ threshold
SHORT Chandelier flips +1 → −1 (sell flip) · price below ZLSMA · ce_allow_short on Same distance-to-ZLSMA score ≥ threshold
Exit / stopTrigger
EXIT_LONGOpposite Chandelier flip (sell flip). Can reverse to SHORT if ZLSMA confirms.
EXIT_SHORTOpposite flip (buy flip). Can reverse to LONG.
SL / TPSL = Chandelier stop (else price ∓ ATR × ce_sl_atr_mult) · optional TP = ATR × ce_tp_atr_mult (0 = off, let it run until the flip).
BBReversion Bollinger mean-revert min_confidence_bb

Fades a close that pokes outside a Bollinger band back toward the middle band, when a fast RSI confirms panic, the ADX shows range-strength, the bands are wide enough, and the move aligns with the higher trend EMA. The grade grows with how deep the close pierced the band.

Open a LONG with threshold 0.70:
  • Grade starts at 0.65 once price closes below the lower band
  • + 0.15 × (how far below the band, measured in ATR), capped at 0.95

0.65 + 0.15 × 0.33 ≈ 0.70 → ENTER when the close pierces the band by about a third of an ATR. A close just grazing the band stays at 0.65 → wait. It also needs RSI ≤ mr_rsi_buy (15), ADX inside its range, wide-enough bands, and price above the trend EMA.

DirectionEntry conditions (all required)Confidence score
LONG Close below lower band (mr_bb_period/mr_bb_std) · RSI ≤ mr_rsi_buy (15) · ADX in [mr_adx_min, mr_adx_max) · band width ≥ mr_min_bb_width_pct · close > trend EMA (when mr_trend_filter, unless strong aligned news overrides) 0.65 + 0.15 × (band − close)/ATR, capped 0.95 ≥ threshold
SHORT Close above upper band · RSI ≥ mr_rsi_sell (85) · same ADX + width gates · close < trend EMA (when filtered) 0.65 + 0.15 × (close − band)/ATR, capped 0.95 ≥ threshold
Exit / stopTrigger
TP (mean)Close reaches the mid-band captured at entry — the mean it reverts to (mr_tp_mid_band).
Time stopPosition held ≥ mr_max_hold_candles — a reversion that never happened is a failed thesis.
Opposite bandOptional (mr_exit_opposite_band_enabled): close crosses the far band for the full reversion.
SLSL = ATR × mr_sl_atr_mult; can ratchet toward the mid-band once back at breakeven (mr_sl_to_mid_enabled).

🎯 Risk & exits

  • Adaptive trailing stop — the trailing distance adjusts per pair to recent volatility (ATR-based), so calm pairs trail tighter and volatile ones get more room.
  • The trailing stop never locks in a loss: it only moves once the position is in profit, and the exit logic re-arms correctly on positions adopted at startup.
  • Manual positions — positions you open by hand are tagged and excluded from the bot's statistics, so performance reflects the bot's own trades only.

Live control

When web control is enabled, the Control tab lets you pause, resume or stop the bot, tune global defaults, and set per-pair overrides (enable/disable, strategy, leverage, position size) that take effect on the next order. Trailing/break-even and the funding-carry module now live in Strategy settings.

If control is restricted to Telegram, the tab is read-only and changes are made from the Telegram bot instead.

📬 Contact & links

Hyperliquid   Bot Telegram

For any question or information request, contact us by email only at [email protected].

Bot control
Control channel:

Global defaults

applied to markets without an override
Markets
Priority ranking — when several pairs signal at the same time, the top-ranked (highlighted) pairs claim the open-position slots first.