Using Take Profit and Stop Loss

Introduction

Most frontend builders on SYMMIO give you a way to set take profit (TP) and stop loss (SL) levels, so you don’t have to sit and watch the chart all day. When your target or safety level is reached, the system will try to close your position for you.

Under the hood, this can work in two main ways:

  • The frontend asks you to delegate permission to a small service that is allowed to request closes on your behalf when certain price conditions are met, or the frontend application talks directly to a solver’s Conditional orders API, and the solver manages TP/SL for you.

Both approaches end up doing the same thing from your perspective: when price hits your TP or SL, a close request is sent for your position.

How it works for you as a trader

The exact UI will differ between frontends, but in most cases it will follow this pattern:

Open a position

Trade as usual. Once your position is open, go to the Positions or Open Positions tab of the app.

Find the TP/SL controls

Next to your position, you’ll see a TP/SL button or a settings icon. Click it to open the take-profit / stop-loss panel

Setting a TP/SL on Carbon

Approve TP/SL control

The first time you set up TP/SL, you’ll usually be asked to approve either conditional order functionality or instant trading, which both enable conditional order management. This approval lets the frontend or the solver request to close your position for you when the conditions you set are met.

circle-info

You stay in control of your funds: the service cannot withdraw or move your money, it can only send the same close requests you could send yourself.

Choose your Take Profit and Stop Loss

Once TP/SL is enabled, you can set:

  • A Take Profit level – where you’re happy to lock in gains

  • A Stop Loss level – where you want to cut the trade to cap downside

Most frontends will let you use percentage-based settings or enter exact prices if you already know your target and invalidation levels.

Setting a TP/SL on Carbon

Behind the scenes, the app will translate your choices into a conditional order payload, including the trigger price (where TP/SL should activate), and the minimum acceptable execution price, which builds in some slippage protection.

Confirm and save

After you’ve chosen your levels, confirm in the UI. From this point on, as long as your position remains open and your TP/SL conditions are valid, the system will watch the market and attempt to close your trade when your thresholds are reached.

Adjust or remove later

You can always come back to the same TP/SL panel to move your take profit higher or lower, tighten or loosen your stop loss, or cancel the TP/SL off completely.

circle-info

Refer to the specific frontend application's documentation for any discrepancies.

Take profit and stop loss orders let you exit a position automatically when the market reaches a price you've decided on in advance — a profit target on one side, a maximum acceptable loss on the other. On Symmio, because every position is an on-chain agreement between you and a specific solver, TP/SL isn't a field you set inside the position itself. It's a small service that watches the market on your behalf and submits a close request the moment your trigger is hit.

This page explains how that service works, what you're authorizing when you set a TP or SL, and the couple of things to be aware of so your trigger behaves the way you expect.

What You're Authorizing

The delegation is deliberately minimal, and it's worth understanding exactly what it does and doesn't allow.

What the bot can do:

  • Submit requestToClosePosition on positions in your account, for as long as the delegation is active.

What the bot cannot do:

  • Open new positions or modify existing ones.

  • Withdraw, deposit, allocate, or deallocate collateral.

  • Change your account settings or delegate further permissions.

  • Call any other function on the Symmio contracts.

The delegation also has an expiry timestamp (typically a day or a session length, depending on the frontend) and can be revoked early if you want to take back permission before it expires. Revocation goes through a short two-step cooldown so that an in-flight trigger can't be mid-executed and suddenly invalidated.

What Happens When Your Trigger Fires

When the bot's price feed crosses your TP or SL level, it submits a close request as a market order against your solver. That means:

  • Your solver (PartyB) is responsible for filling the close, just like any other market close request.

  • You'll pay a close fee on the filled position, deducted from your available balance as part of the solvency check that runs when the solver fills. Close fees are set by the affiliate your frontend is registered under; different frontends may charge different rates on the same symbol. See more information here.

  • The price you get is the price your solver fills at, not the exact level that triggered the bot. In fast-moving markets, expect some slippage between the trigger price and the fill price — especially on a stop-loss during a sudden move against you.

Because the bot submits a market close, force close escape hatch does not apply to TP/SL fills. Force close is only available for LIMIT close requests that have been sitting in CLOSE_PENDING past a cooldown. A market close request carries no specific price the solver has failed to honor, so there's nothing for force close to enforce.

Last updated