Skip to content

Latest commit

 

History

21 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Copies another trader's moves onto the owner's own size.

The leader is named by the duty's trade trigger, not by a setting. Each trade they make is gated, sized against the owner's own wallet, and placed as its own keyed leg.

The leader did This duty does Unless
bought a token buys the same token, on the leader's chain CHAIN_IDS excludes it, or the trade is under MIN_LEADER_USD
sold a token sells what the owner holds of it, capped at their balance MIRROR_SELLS is off (it is on by default)
opened a perp opens the same side, at PERP_LEVERAGE or the leader's own MIRROR_PERPS is off
closed a perp, or was liquidated closes the owner's position, in USD notional MIRROR_PERPS is off
bought or sold a tokenized stock does the same, share-denominated MIRROR_STOCKS is off

Out of the box it follows the leader in and out — MIRROR_SELLS defaults on.

What it will not do

  • Verify the token. It copies what the leader actually traded — by address, or by symbol when that is what they typed — and never re-resolves through a catalogue. A leader buying something worthless is copied faithfully. The pocket is the limit.
  • Size from the leader's wallet. cash_share is a share of the owner's cash; leader_share is a share of what the leader put in. fixed ignores both.
  • Exceed MAX_USD per trade, when one is set — except on a perp close, which is deliberately unclamped: a close trimmed to a ceiling leaves a residual position, which is worse than not closing.
  • Copy the owner's own trades. Their own activity never arms a leg.
  • Spend before the owner funds it. It spends through the pocket, which starts empty; until it is funded every leg becomes an approval card. Once funded, the pocket is what bounds its spending beyond MAX_USD: the duty keeps no daily count of its own, and the server refuses a leg the pocket can't cover.

Settings

Name Unit Default Means
SIZING fixed | cash_share | leader_share required how much per copy — a flat figure, a share of the owner's cash, or a share of what the leader traded
SIZE_USD US dollars per copy required when SIZING is fixed used when SIZING is fixed; minimum 2
SHARE fraction 0–1 required when SIZING is cash_share or leader_share used by cash_share / leader_share. 0.2 is 20%
MAX_USD US dollars unset per-trade ceiling. Set only when the owner named one
CHAIN_IDS chain ids [] empty means the leader's own chain. Set only when they named chains
MIN_LEADER_USD US dollars 0 ignore the leader's trades smaller than this
MIRROR_SELLS on/off on also follow spot sells
MIRROR_PERPS on/off on also follow perp opens and closes
MIRROR_STOCKS on/off on also follow tokenized-stock buys and sells
PERP_LEVERAGE multiple 0 leverage for a copied open; 0 uses the leader's own
PERP_MAX_LEVERAGE multiple 0 cap on a copied open's leverage; 0 is no cap (the venue's own still applies)

SIZING is the only required one, and it decides which of SIZE_USD / SHARE is read — a bare number from the owner is dollars or a percentage depending on it.

Trigger

One trade, naming the leader by wallet or principal id:

{ "kind": "trade", "wallets": ["0x…"] }

Do not add direction: the switches above decide which moves are copied, and a trigger filter would also hide the rest from the duty's log.

About

Butler skill: Copy another member's buys once or as a standing duty, one trade per leader event, never twice.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages