Skip to content
anvas
Join the waitlist
All use cases
Use case

Five bots with five stop-losses is not a risk limit

You have several things running — a ladder on ETH, a grid on SOL, something signal-driven on BTC. Individually they are all sized sensibly. What you want is a statement about the whole account.

the strategy, in your words
Never let me be down more than 3% on the day, across everything. Never let total exposure exceed 2× equity. Never let more than 40% of that exposure sit in things that move together. If any of those breaks, stop opening anything new — and tell me immediately.
nodes this graph uses
account stateexposure aggregatordrawdown ceilingcorrelation capkill switchorder gate

Why this is hard on a bot platform

Because each bot has its own stop-loss, and a collection of stop-losses is not a risk limit.

A per-bot stop knows one position: its own. It cannot see the other four. So the number you actually care about — how much am I down today, across everything — is not computed anywhere on the platform. You compute it yourself, by opening five screens and adding up.

Correlation is invisible.
Long ETH, long SOL and long a basket of alts is one bet wearing three hats. Every individual position is within its limit, and together they are a single concentrated position. No per-bot setting can see this, because correlation is a property of the portfolio, not of a position.
Limits react instead of preventing.
A stop-loss triggers after the loss. Something that stops you opening the trade that would breach a limit has to sit between the strategy and the exchange — and on a bot platform, nothing does.
The kill switch is you.
When something goes genuinely wrong — a venue outage, a flash move, a strategy behaving unexpectedly — the platform’s answer is that you go and stop five bots by hand, one at a time, while it is happening.

The graph

Risk is not a setting. It is a node every order passes through.

every strategy, one guard, then the exchange
passETH ladderSOL gridBTC signalaccount stateequity · positionsPORTFOLIO GUARDdaily P&L -1.4% ceiling -3%gross exp 1.6x cap 2xcorrelated 31% cap 40%exchangeonly what passesWEBHOOK OUTon breach
It sits in the path, not beside it.
An order that would breach a limit is refused before it leaves. That is the difference between a limit and a report.
It aggregates.
Exposure is summed across every running graph, so the number is the real one, not a per-bot fragment.
It runs server-side.
The guard is enforced where the orders are sent, not in a browser tab that has to be open. A limit that depends on your laptop being awake is not a limit.
Breaching is a state, not just an event.
When the daily ceiling is hit, the graph stops opening new positions and says so — it does not merely log a line you find later. Existing positions are handled by whatever you drew: flatten, hold, or unwind on a schedule.
It tells you.
An outbound webhook node on the breach edge puts it in Discord or on your phone the moment it happens.

The same guards, and why they sit in the order path rather than beside it, are covered on risk.

What you see while it runs

The live numbers are on the guard, next to their ceilings — down 1.4% of a 3% allowance, 1.6× of a 2× cap. Not a figure you assemble from five screens.

When an order is refused you see which limit refused it and by how much. When a strategy quietly stops trading, the reason is on a node rather than being something you have to infer from an empty fill list.

Variations on the same shape

Per-strategy sub-limits.
A guard on one graph, nested under the account guard. Both apply; the tighter one wins.
Time-based caps.
No new positions in the hour around a scheduled macro release.
Venue-level limits.
A separate exposure ceiling per exchange, so one venue's outage cannot take the whole account with it.
Loss-streak throttling.
Halve position size after two consecutive losses, restore it after a win — a counter feeding the sizer.
A manual kill switch.
One control that halts every graph at once, rather than five bots stopped one at a time.
03 — Early access

Get in before the alpha closes

Tell us what you trade and how you automate it today. We open seats in small batches and start with the setups closest to what already works in the alpha.

We email once when your seat opens. Nothing else. See our privacy notice.