Trading feed 🔴
Market feed 🔴

Analytics

--
Max --
Min --
Range --
0.00
bps
Buy L1 → Sell L2
Δ vs Threshold --
Fees --
Est. slippage --
Hedge risk --
Last update --
Total balance --
Day PnL --
Current PnL --
Open deals --

Rings

-- exchanges -- symbols

Deals

Ring
Exchange
Symbol
Side
Size
Entry
Exit
Time
PnL
Ring
Deal ID
Exchanges
Symbols
Mode
Legs
Status
Time
Total PnL

Global Settings

Metric
Arb mode
Mode
Trading enabled
Kill switch protection
Auto reconnect
Sim
balance
$
Max chart history

Ring setup

Trading feed

Live

Market data feed

Connection logs

Accounts

Scanner

Pairs
Exchanges
Direction
Current
Best
Signal
Historical
Last seen

Scanner config

$
$
Exchanges
Enabled
Pairs
Enabled

Equity

Daily PnL

Order history

Deal history

Order Flow Traces

Export

Adaptive Tuning Agent

Contact support

Manual

Overview

The platform monitors multi‑exchange arbitrage in real time, calculates fee‑aware P‑Delta/P‑Spread, and can execute orders automatically based on your ring settings. It supports 2‑leg and 3‑leg modes with per‑ring configuration.

  • P‑Delta is a fee‑aware divergence metric used for entry/exit logic, net of estimated slippage impact.
  • P‑Spread tracks the best directional P‑Delta, switching when the dominant direction flips.

All settings are scoped to the user profile and stored server‑side. The bot can continue scanning and trading while you are offline when auto‑trading is enabled and your feeds are connected.

2‑leg arbitrage compares the same symbol across two exchanges (buy on one, sell on the other). This is a directional spread trade across venues.

3‑leg (triangular) arbitrage uses three markets that form a conversion loop (e.g., ETH/BTC → BTC/USDT → ETH/USDT). Triangular arbitrage is the act of completing that loop to end up in the starting asset with more than you began, capturing a pricing inconsistency across the triangle.

Example: Start with 10,000 USDT. Buy ETH with USDT (ETH/USDT), sell ETH for BTC (ETH/BTC), then sell BTC back to USDT (BTC/USDT). If the implied rate across those three legs returns more than 10,000 USDT after fees, the triangle is profitable.

Quickstart

  1. Add API keys in Settings → Accounts.
  2. Connect Trading & Market feeds in Settings.
  3. Configure a ring (legs, size, thresholds) in Home → Ring setup.
  4. Enable trading in Settings → Trading (Sim or Live).

Tip: start in Sim mode to validate P‑Delta behavior and thresholds before enabling Live.

Navigation

  • Home — live charts, ring tiles, indicators, positions/deals.
  • Settings — trading configuration, feeds, ring setup.
  • Accounts — balances and exchange account info.
  • Scanner — multi‑symbol opportunity scan.
  • Reports — equity, order history, daily PnL, exports.
  • Support — support form, manual, community.

Sidebar tabs reflect the active panel. Use the collapse toggle to minimize the sidebar on smaller screens.

Trading & Market Feeds

  • Trading feed connects authenticated exchanges for orders.
  • Market feed connects public market data for quotes.
  • Status pills in the top bar reflect live connectivity.

If Market feed is connected but quotes are missing, verify symbols and credentials for that exchange.

Rings & Strategy

Setup Card (Settings)

  • Mode: Simulator (local simulated fills), Demo (exchange sandbox/testnet when supported), Live (real trading).
  • Auto reconnect: reconnects exchange feeds automatically on disconnect.
  • Max chart history: how much historical chart data to load/render per ring.
  • Sim balance: starting balance used by Simulator mode only.

Ring Setup Card

  • Leg 1 / Leg 2 / Leg 3: choose exchange + symbol per leg (2-leg uses two legs, 3-leg uses triangle).
  • New ring: creates another independent strategy ring.
  • Save: persists all ring definitions for your user profile.

Params (Per Ring)

  • Max size (USD per leg): upper sizing cap used by the ring. In fixed mode this is the per-leg size. In autosizing mode this is the maximum allowed per leg. Example: max size = 1000 lets autosizing choose up to 1000 per leg, such as 620 if conditions are weaker.
  • Size strategy: choose Fixed size or Autosizing. Example: Fixed always targets configured size; Autosizing can send 1000 on deep books and 300 on thin books.
  • Autosizing: evaluates depth, fees, estimated slippage, short-term volatility, and hedge-latency risk, then picks the largest candidate size that still satisfies the configured edge buffer. Example: if 800 passes buffer but 900 does not, order size becomes 800.
  • Auto haircut: applies a depth haircut before sizing (for example, 0.90 means use up to 90% of visible depth bound). Example: if depth allows 500 and haircut = 0.8, autosizing caps at 400 before scoring.
  • Auto buffer (USD): minimum expected net edge required for a candidate size to be accepted. Example: with buffer = 2.0, any candidate with estimated net edge below $2 is rejected.
  • Auto hedge Z: risk multiplier used in hedge-risk estimation; higher values make autosizing more conservative. Example: Z = 2.0 sizes smaller than Z = 1.0 under the same volatility/latency.
  • Auto vol throttle: optional volatility throttle coefficient; higher values shrink size more aggressively during volatility spikes. Example: with high short-term volatility, throttle reduces a 700 candidate to a lower executable size.
  • Trade available quantity: caps each leg size to available depth. In autosizing mode this is locked on automatically. Example: if target size is 600 but visible depth is 420, sent size is capped to 420.
  • Entry threshold: minimum fee-aware P‑Delta needed before opening a deal. Example: threshold = 3.0 means a current value of 2.7 will not open.
  • Exit strategy: controls auto-close behavior for open deals. Example: selecting Hybrid lets either normalization or target close the deal first.
  • Fixed target exit: closes when open PnL reaches target profit. Example: target = 4 closes when open PnL reaches about $4 or more.
  • Spread normalization exit: closes when edge mean-reverts toward threshold based on normalize ratio. Example: threshold = 6 and ratio = 0.25 gives normalize exit near 1.5.
  • Volatility-adjusted TP exit: dynamic close target = fixed target + (rolling volatility × multiplier). Example: target = 4, rolling vol = 0.8, multiplier = 2 gives dynamic target 5.6.
  • Hybrid (first hit) exit: closes on whichever condition triggers first (normalization or target). Example: if normalization triggers at 1.2 before target is hit, the deal closes on normalization.
  • Target profit: required for Fixed, Volatility-adjusted TP, and Hybrid modes; not required for pure Spread normalization mode. Example: in Normalize mode target can stay empty, but in Fixed mode it must be set.
  • Normalize ratio: fraction of entry threshold used as normalization exit level (for Normalize/Hybrid modes). Example: ratio 0.30 with threshold 5 means normalization exit level is 1.5.
  • Vol window (sec): rolling window length used to estimate spread volatility for Volatility-adjusted TP/Hybrid modes. Example: 60 means volatility is estimated from the last 60 seconds.
  • Vol multiplier: multiplier applied to rolling volatility when computing dynamic target in volatility-aware exits. Example: multiplier 1.5 with rolling vol 0.6 adds 0.9 to target.
  • Max slippage: max allowed adverse price movement at execution time; the limit check uses total slippage across legs (2-leg: buy+sell, 3-leg: all legs summed). Example: max slippage = 1.0 blocks an entry when estimated total slippage is 1.3.
  • Built-in estimated slippage: P‑Delta/P‑Spread already include a depth-based slippage estimate (order-book walk) for every ring. Max slippage is a separate hard gate on top of this estimate. Example: raw edge $5 can become net $3.8 after built-in slippage, then still be blocked if max slippage limit is exceeded.
  • Max retries: number of attempts to fill missing legs before unwind/cancel orphan protection triggers. Example: max retries = 2 allows two recovery attempts, then unwinds orphan exposure.
  • Order type: Market or Limit. If Limit uses IOC/FOK, fills are typically taker-style behavior. Example: Market prioritizes speed; Limit IOC enforces price cap but may partially fill.
  • IOC/FOK: IOC fills available quantity immediately and cancels rest; FOK requires full immediate fill or cancels all. Example: IOC may fill 70% and cancel 30%, while FOK cancels 100% unless full size is available instantly.

Autosizing summary: size increases when depth/edge are strong, decreases when volatility or latency risk rise, and stops scaling when expected net edge falls below Auto buffer.

Note: setting Max slippage to 0 disables slippage blocking for entries, but built-in estimated slippage is still included in P‑Delta/P‑Spread calculations.

Use separate rings for distinct strategies or exchange pairs. Each ring has independent configuration, risk limits, and lifecycle.

Ring Metrics Panel

  • Current value: fee‑aware and slippage‑adjusted P‑Delta for the active ring. Example: raw +4.2 can display as +3.1 after fees and slippage.
  • P‑Spread: best directional P‑Delta (bps) from slippage‑adjusted directions. Example: if dirA = 5.1 bps and dirB = 2.8 bps, P‑Spread shows 5.1 bps.
  • Estimated slippage: built-in depth-walk estimate from current order-book liquidity, applied before showing net values. Example: thin depth on one leg increases estimated slippage and lowers displayed net edge.
  • Fees: estimated total fees for the ring size and mode. Example: market-style execution can show higher estimated fees than maker-style assumptions.
  • Last update: time since last quote refresh. Example: 120ms means the panel values were computed from quotes received ~120ms ago.
  • Total balance / Daily PnL / Current PnL / Open deals: aggregate ring summary. Example: Open deals = 2 means two active deal groups are currently open.

For 2-leg rings, slippage impact in P‑Delta/P‑Spread is calculated as buy leg + sell leg. For 3-leg rings, all three leg impacts are summed.

Built-in estimated slippage and fees are both applied before entry threshold checks and displayed values.

Best Edge / Edge / Min edge

  • Best edge: the higher of the ring's currently available directions after the platform compares both sides. In practice, the ring shows the winning side only. Example: if dirA edge = $2.40 and dirB edge = $1.10, the best edge is $2.40 and that is the side the ring would consider for entry.
  • Edge: the live execution metric shown on autosizing rings. It is the cost-aware edge after fees, estimated slippage/impact, hedge-risk adjustments, and active buffer logic. Example: raw opportunity = $4.20, fees = $0.60, slippage/impact = $0.40, active buffer = $1.00 gives displayed Edge about $2.20.
  • Min edge: the exact edge the best edge must cross before a position can open. It is not just the raw saved threshold field; it is the active effective entry threshold after current gating rules are applied. Example: fixed threshold = $1.00 and auto pre-gate = $1.50 gives Min edge = $1.50, not $2.50.
  • Dynamic threshold effect: if dynamic threshold is enabled, Min edge can move in real time. Example: dynamic floor = $1.75 and current multiplier = 1.6 gives dynamic threshold = $2.80; if pre-gate is $1.50, Min edge becomes $2.80.
  • Operational interpretation: entry is eligible only when Best edge >= Min edge and any other active quality gates also pass. Example: Best edge = $2.35 and Min edge = $2.80 means no entry yet, even if quotes look favorable.

Diagnostics tip: when tuning normalization and autosizing, compare raw edge, fee-adjusted edge, slippage-adjusted edge, hedge-risk-adjusted edge, and final effective edge to see exactly where opportunities are filtered.

Charts

  • P‑Delta: projected net profit/loss (USD) if you entered now for each direction, including estimated fees and built-in estimated slippage. Example: buy→sell may show +2.4 while sell→buy shows -0.7.
  • P‑Diff: raw price divergence view (directional spread comparison), mainly for visualizing quote dislocation in 2‑leg mode. Example: a spike in P‑Diff with flat P‑Delta usually means fees/slippage absorb most of the raw move.
  • P‑Spread: single series that always follows the higher of the two directional P‑Delta values (best available direction at each point). Example: when direction leadership flips, P‑Spread switches to the other side automatically.
  • Reset clears chart view (not historical data). Example: after zoom/pan, Reset recenters the chart window without deleting stored history.

How to read together: use P‑Diff to see divergence behavior, P‑Delta to see fee‑aware expected trade outcome per direction, and P‑Spread to track the best side over time.

Chart tabs are mode‑aware (2‑leg vs 3‑leg). Use Reset to re‑center without clearing history.

Scanner

Scanner is the multi‑symbol opportunity monitor. It continuously checks configured exchanges/pairs, computes fee‑aware P‑Delta/P‑Spread, and records opportunities that pass your filters. It is read‑only (no order placement).

Scanner values use the same built-in estimated slippage model as rings (depth-walk across legs), so scanner opportunities stay aligned with execution scoring. Example: a scanner value of +3.0 should be comparable to ring scoring under the same size and order-type assumptions.

Scanner Config

  • Feed / Exchange / Pair selection: choose data source and which markets to scan.
  • Threshold: minimum signal value required before a row is recorded as a signal.
  • Size (USD): notional used for scanner calculations so values are comparable to ring settings.
  • Lookback period: controls signal history window (e.g., 1h / 8h / 24h / 7d) used for best/min/max style views.
  • Save: saves scanner config for the current user profile.
  • Clear: clears scanner signal history display.

What Scanner Helps You Do

  • Surface the best candidate pairs quickly (before you commit to a ring).
  • Compare opportunity quality across exchanges/symbols.
  • Capture a history of signals for review.

Order Status (Scanner)

  • Executed: signal crossed threshold and orders were opened successfully.
  • Failed: signal crossed threshold but deal did not open successfully.
  • Trading disabled: signal crossed while Trading Enabled was off.
  • In flight: ring was already processing/opening another deal.
  • Cooldown: ring is temporarily blocked by cooldown timing.
  • Slippage limit: estimated total slippage across legs exceeded max slippage.
  • Order failure: exchange/order submit or fill flow failed.
  • Signal window too short: cross window was shorter than allowed.
  • --: no active status for the current lookback window.

Scanner uses the same fee and estimated slippage assumptions as rings (including order-type impact) so opportunity scoring stays consistent with trading logic.

Deals & Positions

  • Deals group multiple legs into a single trade set.
  • Expand a deal to view individual legs.
  • Close buttons exit all open legs in that deal.

Open and closed deals are kept separately; each deal can include 2 or 3 legs based on ring mode.

Risk & Recovery

Multi‑leg arbitrage can produce orphan exposure when one or more legs fill but the full set does not complete (e.g., network issues, rate limits, exchange rejections). AARP includes protections to reduce this risk and to recover safely after restarts.

Orphan Protection (While Running)

  • Single open attempt per ring: each ring is locked while an entry is in progress to prevent overlapping opens.
  • Partial fill handling: if any leg fails or returns no fill, AARP attempts to unwind any filled legs immediately using opposite‑side market orders (best effort) and cancels remaining open orders when supported.
  • Max retries: how many times AARP will retry opening missing legs for a deal before it cancels/unwinds to avoid market exposure.

Crash Recovery (After Restart)

  • Durable deal journal: before sending the first leg in Live/Demo, AARP writes a pending deal record to disk and updates it as each leg returns an order id / fill information.
  • Startup + periodic reconciliation: on startup (and then periodically), AARP checks journaled legs against the exchange using order status APIs, cancels still‑open orders, and unwinds confirmed partial exposure.
  • State restore: if all legs are confirmed filled, AARP restores the open deal into the UI so it can be monitored and closed normally.

Important: Recovery is best‑effort. If an exchange API is temporarily unavailable, AARP keeps the journal entry and retries rather than guessing. Always monitor open exposure when running Live/Demo.

Risk Management Controls

  • Max size (USD per leg) limits exposure per deal. Example: max size 500 prevents a 900-per-leg entry even if edge is strong.
  • Slippage constrains price tolerance for marketable limit orders (IOC/FOK) and helps reduce adverse fills. Example: with max slippage 0.8, a 1.2 estimated slip entry is blocked.
  • Built-in estimated slippage remains part of P‑Delta/P‑Spread scoring even if Max slippage blocking is disabled. Example: with max slippage 0, scoring still subtracts depth-estimated slippage from displayed edge.
  • Profit target can auto‑close a ring when open PnL reaches your target. Example: target 3.5 closes once open PnL crosses about $3.5.
  • Feeds: trading requires Trading feed; quote health depends on Market feed. Example: with Trading feed connected but Market feed down, orders are disabled due to missing fresh quotes.

Reports

  • Charts: Equity & Balance.
  • Order history: consolidated trades.
  • Daily PnL: day‑level performance.
  • Export: PDF/CSV with date filters.

Reports aggregate activity across all exchanges for the current user profile.

Accounts & API Keys

  • Add keys per exchange in Settings → Accounts.
  • Bitget requires a passphrase.
  • Keys are stored per user profile.

Keys are required for trading. Market data can run without keys if exchange permits.

Demo vs Simulator vs Live

  • Sim uses synthetic balances, estimated fees, simulated ACK/fill timing, and adverse simulated slippage on fills (open and close).
  • Live uses real exchange data and actual fills with real balances.
  • Demo uses exchange demo/sandbox keys (when supported) to simulate more realistic fills/slippage than Sim while still avoiding real funds.
  • Reset Sim Balance only affects sim mode.

Always validate ring parameters in Sim before switching to Live.

Adaptive Tuning Agent

The Adaptive Tuning Agent is a live recommendation engine in the Tuning tab. It already runs a factor-based decision model per venue-pair and symbol context, then recommends setting deltas for each ring.

Decision pipeline (live)

Metrics -> Factors -> Regime -> Recommendation

Recommendations are generated from measurable conditions, not from pair name alone.

Primary measurable drivers

  • Latency (ACK tails, submit/ack drift).
  • Hedge completion delay (hedge latency and imbalance persistence).
  • Liquidity depth (book depth at working size).
  • Orderbook impact (impact at size, impact share).
  • Edge persistence (how often edge holds through gate windows).
  • Volatility (short-term regime and spread noise).
  • Reject rate (venue/order-path reject pressure).
  • Slippage bias (systematic adverse fill drift).

Context model

Pair still matters through baselines. Each venue-pair and symbol context has its own baseline envelope used for deviation checks.

  • binance-bybit BTC/USDT baseline.
  • binance-bybit ETH/USDT baseline.
  • binance-bybit ETH/BTC baseline.

Example impact baselines at about $1k notional: BTC/USDT ~ $0.40, ETH/USDT ~ $0.30, ETH/BTC ~ $0.25. A measured $0.80 impact maps to different severity by context.

Scenario-driven feature behavior

  • Scenario A (latency tail): if ACK and hedge p95 tails rise, the agent can recommend entryExecutionStrategy -> slowLegFirst, higher autoSizeBufferUsd, and tighter hedge timing controls.
  • Scenario B (liquidity deterioration): if impact share spikes and depth collapses, the agent can recommend higher autoSizeHaircut, autoSizePreGateMinUsd, and autoSizeVolThrottleK.
  • Scenario C (edge quality regime shift): if edge persistence drops and edge volatility rises, the agent can recommend higher entryDynamicThresholdBaseUsd, higher entryRatioThreshold, and more defensive exit behavior.

Factor groups evaluated

  • Infrastructure factors: ACK/fill latency, ws gaps, reconnect bursts. Tunes execution strategy, retries, timeouts, hedge-risk controls.
  • Liquidity factors: impact-at-size, top-book depth, impact share. Tunes autosize haircut, buffers, and size throttles.
  • Edge quality factors: edge-after-costs persistence and volatility. Tunes entry thresholds and ratio controls.
  • Execution quality factors: rejects, partial-fill rate, slippage bias, cancel-to-fill behavior. Tunes retries, timing, and execution path.
  • Exit performance factors: hold profile, net exit quality, mean-reversion behavior. Tunes exit mode and exit sensitivity controls.
  • Regimes: stable, degraded, unstable.
  • Recommendation UI: Current Situation, Optional/Recommended Actions, Findings, current snapshot, and patch delta.
  • Guardrails: minimum sample checks, clamp limits, anti-thrash cooldown, and safety freeze on repeated local validation failures.
  • Auto apply: optional. Auto-applied updates still pass clamp and validation gates.
  • Export settings: downloadable preset JSON for review/import.

Why factor-based tuning matters

Factor-based tuning prevents wrong fixes. Example: poor BTC/USDT performance caused by a bybit latency spike should trigger execution-path and timing adjustments, not a blind threshold increase.

Operator flow: review recommendation context, inspect Findings and settings audit, preview the patch delta, then Apply/Ignore or keep Auto apply enabled.

Tunning Guide

Scope: unified safe defaults for short-lived cross-exchange perp arbitrage on BTC/ETH at about $1,000 notional per leg, aligned across both USD and BPS metric views.

Unified Safe Defaults (BTC + ETH, $1k Notional)

  • Volatility: vol window 1.5 sec, sampling 50ms.
  • Hedge risk: Z = 1.8, Z clamp = 1.4-2.2.
  • Entry threshold (USD metric): required effective spread = $3.25.
  • Entry threshold (BPS metric): minimum absolute spread = 5 bps.
  • Hybrid filter ratio: EffectiveSpread / Vol = 1.45.
  • Autosizing protection: haircut = 0.72, haircut floor = 0.50, vol throttle factor = 0.5.
  • Autosizing buffer floor: $1.50.
  • Exit rules: target profit = $2.00 (20 bps at $1k), spread compression exit = 55% of entry edge, timeout = 6 sec.

Final Config Summary

  • Required e-spread: $3.25.
  • Min absolute spread: 5 bps.
  • Ratio threshold: 1.45.
  • Z: 1.8.
  • Haircut: 0.72.
  • Exit target: $2.00.
  • Timeout: 6 sec.

High-Level State Machine

IDLE -> PRE-GATE -> AUTOSIZE_DECISION -> ENTERING -> HEDGED -> EXITING -> IDLE

1) IDLE

System monitors spreads and waits for a valid opportunity.

  • Raw spread is above a tiny minimum.
  • Books are not stale.
  • Exchanges/streams are healthy.

If valid, move to PRE-GATE.

2) PRE-GATE (Cheap Filter)

  • Absolute floor check (for example 5 bps).
  • Ratio check (EffectiveSpread / Vol above threshold).
  • Optional persistence check (for example ~100ms).

If any check fails, return to IDLE. If checks pass, move to AUTOSIZE_DECISION.

3) AUTOSIZE_DECISION (Final Authority)

Autosizing computes candidate size and net edge.

  • Walk order book depth.
  • Apply haircut.
  • Compute VWAP and estimated slippage.
  • Price hedge risk and buffer.
  • Compute NetEdge(Q) and select Q*.

If Q* = 0 or NetEdge(Q*) is below threshold, return to IDLE. Otherwise move to ENTERING with Q*.

4) ENTERING (Execution Phase)

Execution strategy is selected by latency shape.

  • Asymmetric latency: slow-first.
  • Symmetric latency: concurrent.

Slow-first example: send on slow exchange first, wait for fill event, then hedge on fast exchange.

  • Case A: partial fill -> hedge filled amount immediately -> cancel remaining open order (do not wait for full fill).
  • Case B: full fill -> hedge full size immediately.
  • Case C: no fill within timeout (about 200ms) -> cancel order -> return to IDLE.
  • Case D: hedge delay above limit (about 150ms) -> increase aggressiveness/cross spread -> if still not filled, emergency unwind.

When both legs are filled and balanced, move to HEDGED.

5) HEDGED (Position Active)

Position is delta-neutral. Start exit monitoring.

  • Track spread evolution.
  • Track time in trade.
  • Track exchange and stream health.

6) EXITING

Exit can trigger from profit, compression, timeout, adverse spread flip, or risk condition.

  • Profit target reached.
  • Spread compresses to about 50-60% of entry edge.
  • Timeout (about 5-8 sec).
  • Spread flips negative.
  • Risk condition or health guard.

Exit flow: mirror entry style (slow-first for asymmetric, concurrent for symmetric).

  • On exit partial fill: immediately unwind opposing side and cancel remainder.
  • On exit timeout (about 300-500ms): increase aggressiveness and cross spread if needed.

When position is flat, return to IDLE.

FAQ

  • Why do quotes say disconnected? Check Market feed connection and API keys.
  • Why no trades? Ensure trading is enabled, threshold met, and feeds are connected.
  • Why fees differ? Estimates are based on configured fee rates and current quotes.

Need help? Use the Support tab to submit a request.

Community

#general