Overview
The Hyperliquid Whale Tracker watches wallet addresses (whales) and reacts when those wallets open or close positions. It supports two primary modes:
- Signal-only mode — broadcast whale events to your notification channels (Telegram, Discord, WhatsApp, etc.).
- Mirror mode — automatically place mirrored orders and close them when the whale closes its position.
The feature is entirely configurable from tradesettings.yaml and can be enabled per-bot instance. By default it is disabled.
Configuration
Add or update the HyperLiquidWhaleTracker section inside your tradesettings.yaml (or appsettings.yaml variant if you centralize settings). Example:
HyperLiquidWhaleTracker:
is_enabled: false
tracking_addresses:
- "0x2aB3...Ff12" # Add one or more whale wallet addresses
- "0x1cD4...Aa77"
place_order: false # true = auto-place mirrored orders, false = signal-only
order_amount: 100.0 # Amount in BaseCurrency per mirrored trade
leverage: 3 # Leverage to use for mirrored trades (if applicable)
broadcast_signals: true # true = send notifications when whale opens/closes trades
max_open_per_whale: 2 # Max mirrored open trades per tracked whale (safety)
slippage_tolerance_percent: 0.5 # Max acceptable slippage when placing mirrored orders
follow_partial_fills: true # If true, bot mirrors partial fills proportionally
close_on_whale_close: true # Close mirrored order when whale closes its position
include_liquidations: false # If true, will mirror liquidations (not recommended)
only_follow_buy: false # If true, follow buys only
only_follow_sell: false # If true, follow sells only
min_whale_order_value: 50.0 # Min order value (BaseCurrency) for tracking/mirroring
cooldown_seconds: 30 # Seconds to wait between processing events for same whale
Field descriptions
- is_enabled — Enable/disable the whale tracker (default:
false). - tracking_addresses — List of wallet addresses to follow. No hard limit; add as many as you want but mind resource usage.
- place_order — When
true, the bot will attempt to place mirrored orders automatically. Whenfalse, it only broadcasts signals. - order_amount — Size of the mirrored order in your base currency (e.g., USDT) per trade. Consider using money-management sizing for production.
- leverage — Leverage to open mirrored futures positions (only if the exchange supports leverage).
- broadcast_signals — Send formatted messages to the configured broadcast channels.
- max_open_per_whale — Safety limit to avoid over-exposure to a single whale.
- slippage_tolerance_percent — Maximum acceptable slippage when placing orders.
- follow_partial_fills — If a whale's order partially fills, the bot mirrors the same filled ratio.
- close_on_whale_close — Close mirrored orders when the whale closes its position.
- include_liquidations — Mirror liquidations only if you understand the extreme risks.
- only_follow_buy / only_follow_sell — Filters to follow only buys or only sells.
- min_whale_order_value — Ignore tiny whale orders below this threshold.
- cooldown_seconds — Prevents event spam by spacing processing per whale.
How it works (technical flow)
- Event Source: Bot subscribes to Hyperliquid wallet events (or polls the blockchain/API) for the configured addresses.
- Event Detection: On detection of a new open/close order event, bot validates it against filters (min value, action type, cooldown).
- Decision: If
place_order = true, the bot creates a mirrored order request using your configured exchange credentials, including leverage and size rules. If false, it builds a broadcast message only. - Execution: Attempts to place the order, accounting for slippage tolerance and available balance. If
follow_partial_fills = true, the bot adjusts mirrored order quantities accordingly. - Lifecycle: The bot monitors the mirrored order status and, if
close_on_whale_close = true, will close the mirrored order when the whale closes theirs. - Logging & Alerts: All events and actions are logged (see Logging & Monitoring). Notifications are broadcast if configured.
Prerequisites & Permissions
- Working MagicTradeBot instance with valid license and
tradesettings.yamlconfigured. - Exchange API keys with trade permissions (if
place_orderis enabled). For Hyperliquid wallet-based actions you may also need a private key — never store private keys in plain text (use environment variables). - Stable internet connection and adequate rate-limit settings in
appsettings.yamlto avoid API bans.
Security considerations
- Never hardcode private keys or API secrets in repository files. Use environment variables or OS-level secrets management.
- Limit API key permissions to only what is required (trading, no withdrawals ideally).
- Test thoroughly in
DemoModebefore enabling live mirrored orders. - Set conservative defaults:
max_open_per_whale,slippage_tolerance_percent, andmin_whale_order_value. - Enable logging and incident alerting (Sentry, PagerDuty) to be notified of execution errors or unexpected behavior.
Notification & Broadcast Examples
When broadcast_signals is true, the bot sends a formatted message. Example templates below:
Telegram / Discord (text)
[Hyperliquid Whale] NEW ORDER
Whale: 0x2aB3...Ff12
Action: BUY (Long)
Symbol: BTCUSDT
Size: 0.5 BTC (~25000 USDT)
Leverage: 3x
Time: 2025-10-16T12:34:56Z
Mirrored: yes (order id: M-123456) # or "Mirrored: no" if place_order=false
WhatsApp / Webhook (JSON payload)
{
"type": "hyperliquid.whale.event",
"whale_address": "0x2aB3...Ff12",
"action": "open",
"side": "buy",
"symbol": "BTCUSDT",
"size": 0.5,
"notional": 25000,
"leverage": 3,
"mirrored": true,
"mirrored_order_id": "M-123456",
"timestamp": "2025-10-16T12:34:56Z"
}
Testing & Demo Mode
- Always test with
DemoMode: trueor using exchange testnets first. - Set
place_order: falseto verify event detection and broadcast formatting without executing trades. - Use small
order_amountduring live testing, and monitor logs incompletedorders.yamland terminal output.
Operational Best Practices
- Use max_open_per_whale to avoid over-exposure to one whale's sequence of trades.
- Enable cooldown_seconds to reduce duplicate processing if whales split orders into many micro-orders.
- Prefer signal-only during volatile market conditions or when you can't ensure fast execution/slippage control.
- If mirroring with leverage, ensure you have margin and fail-safes (global forced close thresholds).
- Log every incoming event and mirrored action for auditability and backtesting.
Logging & Monitoring
Recommended logging/monitoring to enable in appsettings.yaml or your bot config:
- Terminal logs for real-time troubleshooting.
completedorders.yaml— persisted completed mirrored trades for backtest and PnL.- Optional remote logging: Sentry, Loki, LogDNA, DataDog for alerts and historical audit logs.
- Prometheus metrics for open positions count, mirrored orders count, and error rates.
Error handling & retries
- On order placement failure, bot retries up to 3 times with exponential backoff (configurable).
- If slippage exceeds
slippage_tolerance_percent, order is canceled and a warning is emitted. - If mirrored order cannot be placed due to insufficient balance, bot broadcasts a warning and skips mirroring.
Limitations & Risks
- Following wallets does not guarantee profit — whales can be market makers, insiders, or perform short-term manipulations.
- Mirroring liquidations or high-leverage whale moves can amplify losses.
- Execution latency and slippage can cause different trade outcomes vs. the whale.
- Respect exchange API rate limits — tracking many whales increases API calls and resource usage.
FAQ
Q: Can I track any wallet address?
A: Yes — add any public wallet address to tracking_addresses. The bot will attempt to detect open/close events associated with that address.
Q: Will the bot replicate position sizes exactly?
A: Not necessarily. The bot uses order_amount as the mirrored trade size (or proportionally mirrors partial fills if enabled). You can implement percent-based sizing in advanced money-management configuration.
Q: What if a whale splits an order into many micro-orders?
A: Use cooldown_seconds and follow_partial_fills to control how split orders are mirrored and to avoid over-exposure.
Getting started checklist
- Enable the tracker: set
is_enabled: trueintradesettings.yaml. - Add whale addresses to
tracking_addresses. - Set
place_order=falseinitially to verify events and notifications. - Verify broadcasts are delivered to Telegram/Discord/WhatsApp.
- Switch to
place_order: trueonce comfortable, keepDemoMode=trueuntil live verification is complete. - Monitor logs and set alerts for placement errors, slippage, and insufficient balance events.
Complete example snippet (copy into tradesettings.yaml)
HyperLiquidWhaleTracker:
is_enabled: true
tracking_addresses:
- "0x2aB3...Ff12"
- "0x1cD4...Aa77"
place_order: true
order_amount: 150.0
leverage: 3
broadcast_signals: true
max_open_per_whale: 2
slippage_tolerance_percent: 0.5
follow_partial_fills: true
close_on_whale_close: true
include_liquidations: false
only_follow_buy: false
only_follow_sell: false
min_whale_order_value: 100.0
cooldown_seconds: 60
Legal & Ethical Notice
Tracking and mirroring public wallet activity is technically feasible, but you should ensure compliance with local laws, exchange terms, and ethical trading practices. MagicTradeBot provides the tools — it is your responsibility to use them legally and responsibly.
Support & Troubleshooting
If you encounter issues:
- Check terminal logs and
completedorders.yamlfor errors. - Verify API keys and permissions (trading allowed, withdrawals disabled).
- Confirm environment variables override file settings if used for secrets.
- Contact support via your MagicTradeBot dashboard or consult the full Configuration documentation.