KESTREL docs
v1.0.0
Get help
● Use · Master and follower

Copy trading
mirror one account onto another.

A copy link mirrors the positions of a master account onto a follower account, with the follower's own size caps and filters. In SaaS mode users can also publish a live account as a provider that others follow.

Ratio · fixed · equity %Caps and filtersProviders (SaaS)

01How a copy link works

Every pass (every 3 seconds, COPY_INTERVAL_MS) the server reads each master once, works out each follower's target per symbol and moves the follower toward it with market orders (server/src/copy/runner.ts).

  • Futures are read from the master's positions; spot from the master's fills since the link began, so trades made in the exchange's own app are copied too.
  • Positions the master already held when the link was made are not copied. Copying starts with that symbol's next new position.
  • Reductions are always reduce-only. The link only sells or closes what it bought itself; spot coins the follower already held are never sold.
  • A master that cannot be read is never treated as flat, so a read error never closes the follower.
  • Every order is saved before it is sent with a deterministic client id, so after a crash it is found again instead of being sent twice.
  • If the follower no longer holds what the link copied (closed by hand, liquidated, now on the other side) while the master still holds it, the link does not re-enter: it pauses and notifies the user. After Resume it copies only the master's next new position.

02Create a link

Copy trading, New link. A link needs two accounts (a paper account works as either).

SettingMeaning
Master (copied from), Follower (copied to)One follower account follows one master.
SizingRatio: follower amount = master amount × value. Fixed quote: each new position opens with this quote amount. Equity %: the follower takes the same share of its equity as the master, × value / 100. For fixed and equity sizing the ratio is frozen when the master opens, so later increases and reductions keep it.
Max position per symbolNotional cap per symbol
Only these symbols / Never these symbolsFilters; empty = every symbol
Copy exitsOn by default. Off: the follower closes its positions itself.
Slippage guardSkip an increase when the follower's price is more than this % worse than the master's average entry (default 1 %)
Leverage capLeverage = the lowest of the master's, this cap (default 5) and the market maximum
Reverse (futures only)Opens the opposite side of the master

Slide to start copying. A live follower asks for confirmation.

One link per follower, no overlap

A link converges the follower's net position, so two links into one account, or a link and a bot on the same symbol, would undo each other's orders. The server refuses such a link (follower_in_use), pauses the newer of two links if it ever finds both, and skips a symbol that a running bot or live Smart Trade trades on the follower.

03Pause, edit, delete

  • Pause and Resume. A stopped link cannot be resumed.
  • Edit settings at any time.
  • Delete never trades: positions already copied stay on the follower.
  • The Log lists copied orders, skips with their reason (each reason once until the target changes) and failures.
  • The kill switch on the follower blocks increases only; exits still go through. A panic with "stop bots" pauses the links into the accounts in scope.

04Providers (SaaS mode)

With Tenancy set to SaaS, a user can Publish my live account as a provider with a public name and description. Other users then see it under Providers and press Follow.

  • Only live accounts can be published: a paper record costs nothing to fake.
  • A provider shares only its name, description, exchange, mode and a feed of percentages (position share of equity, share closed). Never balances, amounts, keys or its account id.
  • The follower must be in the same mode (live, testnet or paper) as the provider, and ratio sizing is not available for providers.
  • Unpublish stops every link that follows it. Followers keep their positions.

In self-hosted mode the Providers part is hidden. No fee is attached to following a provider in the code; see Revenue options.