Spectra
Browse docs

vps

Daily-loss cap

The mandatory per-secret loss ceiling that auto-pauses a webhook for the rest of the day.


Every webhook secret carries a daily-loss cap. It's the single most important safety knob on the cloud worker.

How it's computed

day_pnl = realized_pnl + unrealized_pnl  (since 00:00 UTC of broker timezone)

Realized P&L sums the day's closed trades for accounts attached to this secret. Unrealized P&L is mark-to-market of any open positions opened by this secret today.

Positions opened manually from the desktop don't count toward the cap — only positions the worker placed.

When the cap fires

When day_pnl < -cap:

  1. The secret pauses (no new webhooks accepted; all return 403 Forbidden with cap_breached).
  2. Existing brackets stay live (the worker doesn't cancel them — it wants you to keep your stops).
  3. You receive a notification on every channel configured for the secret.

Resetting

The cap auto-resets at the broker timezone's 00:00 — the same boundary that defines "today" for P&L. So a Tuesday cap-breach unlocks the secret at Tuesday → Wednesday midnight.

You can manually reset early from Profile → Webhooks → secret → Resume. Manual resets are logged in the audit trail and require re-confirmation of the cap value.

Setting the cap

There's no "right" value, but a useful starting point:

Conservative   →  account equity × 1%
Default        →  account equity × 2%
Aggressive     →  account equity × 5%   (rarely sensible)

The minimum is $100 per the setup docs — small enough not to hinder testing, large enough to not be accidentally zero.