sf-deploy
Creates a copy bot via POST /api/user-api/bots. The server enforces
exchange ownership, so this is safe in the "wrong-account" sense, but the
bot it creates will trade real money on the named exchange.
When to use
ONLY after:
- The user has picked a strategy (
sf-best-pick,sf-market-fit,sf-profit-factor) - The user has named the target exchange (
sf-portfoliolists IDs) - The user has specified sizing (
--positionand--amount) - The user has explicitly said "deploy" / "create the bot" / "go live"
Always echo the chosen strategy + sizing + exchange and confirm before running this skill.
How to run
# Fixed leverage
python sf-deploy/deploy.py \
--strategy SLUG_OR_ID \
--exchange EXCHANGE_ID \
--position percentage \
--amount 3 \
--leverage 10 \
[--name "Best Pick #1"] \
[--dry-run] [--json]
# Dynamic leverage
python sf-deploy/deploy.py \
--strategy SLUG_OR_ID \
--exchange EXCHANGE_ID \
--position usdt \
--amount 100 \
--dynamic-leverage \
[--name "..."] [--dry-run] [--json]
Inputs
--strategy: id or slug. Get it fromsf-best-pickor any list skill.--exchange: exchange id fromsf-portfolio(NOT the venue name).--position:percentage(of wallet) orusdt(fixed dollar amount).--amount: positive number. Percent if--position percentage, USDT if--position usdt.--leverageOR--dynamic-leverage: pick one.--name: optional bot display name.
Safety
--dry-runprints exactly what would be POSTed and exits without calling the API.- The API is rate-limited to 120 requests/minute per user; the shared client throttles to stay well under.
- This skill does NOT preview the strategy's metrics. The agent should
echo them from
sf-best-pick/sf-edge-watchbefore calling deploy.