Docs
Tachyon measures market fragility, not price direction. It tells you when conditions are unsafe. What you do about it stays your decision.
Start
- Sign in. A new account has a 7-day trial with the Bot features.
- The console shows the lights for BTC, ETH and SOL perpetuals on Bybit.
- For alerts, keys and webhooks, open Advanced settings.
States
Each state is a suggestion for your own policy. You choose the response and how long it lasts.
| State | Meaning | Usual response |
|---|---|---|
| NORMAL | Nothing unusual in the order book | Trade as planned |
| SHIFT | Activity is well above this pair's recent range | Widen spreads, reduce size, for 5 s |
| ANOMALY | Unconfirmed stress | Pause new entries for 500 ms, keep cancels live |
| CIRCUIT_BREAKER | Confirmed stress or a liquidity vacuum | Halt and flatten for 120 s |
Every reading has an age_ms and a stale flag. If stale is true the feed has stopped, and the state is not a reading of the market. Stale is not NORMAL.
Browser overlay
The overlay puts the light on the Bybit trading page. It is not in a browser store yet, so it is installed by hand in Chrome or Edge.
- Download
tachyon_overlay.zipand unzip it. - Open
chrome://extensionsand turn on Developer mode. - Choose Load unpacked and pick the unzipped folder.
- Open the extension's options and paste an API key.
- Open a BTC, ETH or SOL perpetual on Bybit.
REST
curl -H "x-api-key: YOUR_KEY" https://api.tachyon.khalm.ai/v1/state/BTCUSDT{
"pair": "BTCUSDT",
"state": "NORMAL",
"regime": 1,
"age_ms": 42,
"stale": false,
"stale_after_ms": 2000
}The reply has more fields than shown. A failed request is not NORMAL.
WebSocket
On Bot and Pro. The stream sends the state as it is published.
wss://api.tachyon.khalm.ai/v1/stream/BTCUSDT
Header: x-api-key: YOUR_KEYPython
pip install https://tachyon.khalm.ai/downloads/tachyon_client-0.1.0-py3-none-any.whlfrom tachyon_client import TachyonClient, TachyonError
client = TachyonClient("your-api-key")
try:
reading = client.state("BTCUSDT")
except TachyonError:
reading = None
if reading is None or not reading.known:
... # Unknown is not NORMAL.
elif reading.state != "NORMAL":
... # Your policy.freqtrade
The gate pauses new entries while the market is fragile. Your strategy, signals and exits stay yours. It acts in live and dry-run, so a backtest does not show its effect.
- Install the Python client in freqtrade's environment.
- Put
tachyon_gate.pyinuser_data/strategies/. - Set
TACHYON_API_KEY, and add the gate beforeIStrategy.
from freqtrade.strategy import IStrategy
from tachyon_gate import TachyonGate
class MyStrategy(TachyonGate, IStrategy):
...By default, SHIFT halves the stake, and ANOMALY, CIRCUIT_BREAKER or an unknown state stops new entries. Exits are never blocked. If your strategy defines confirm_trade_entry, custom_stake_amount or custom_exit, call super() in it.
Webhooks
On Bot and Pro. Add a URL in Advanced settings. Tachyon posts a signed event when a state changes or the feed goes stale. Check the signature over the raw body before parsing.
from tachyon_client import verify_webhook, WebhookError
try:
event = verify_webhook(raw_body, headers["x-tachyon-signature"], secret)
except WebhookError:
... # Reject it.An event's event is state, stale or test. Delivery is at least once and may arrive out of order, so dedupe by id and order by timestamp_ns. Silence is not NORMAL: also read the state on a timer.
Your fills by state
The Python client can show what your own Bybit fills paid in each state. It runs on your machine, and Tachyon never receives your exchange key. Use a read-only key.
BYBIT_API_KEY=... BYBIT_API_SECRET=... python -m tachyon_client.report --pair BTCUSDT --days 7States come from the track record, so it covers fills since go-live, and the newest hour shows as unknown. It shows what your fills paid, not what you would have saved.
Limits
- Casual keys read REST at 2 requests a second. Bot keys read at 10.
- WebSocket and webhooks need the Bot plan. A refusal is 403 and names the plan.
- Too many requests gets 429. A lapsed subscription gets 402.
- Coverage is BTC, ETH and SOL perpetuals on Bybit.
Downloads
- Python client tachyon_client-0.1.0-py3-none-any.whl
- freqtrade gate tachyon_gate.py
- Browser overlay tachyon_overlay.zip