> For the complete documentation index, see [llms.txt](https://docs.mofo.gg/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.mofo.gg/positions-and-selling.md).

# Positions & selling

## The positions screen

`/positions` (📊 Positions on the menu) shows what you hold through MoFo.

**Holding on more than one chain?** You first get **📊 Positions — pick a chain.** with one button per chain that has something in it (◎ Solana, 🟡 BSC, 🟢 Robinhood). Everything on the screen that opens — the totals, the cards, Sell all, Panic Sell — is about that chain only. Send `/positions` again to pick another.

**The header** sums up the chain you are looking at: number of positions, value, unrealized PnL in % and USD (🟩 / 🟥), and realized PnL to date. If some positions could not be priced right now, the header says how many were left out — a total is never implied over positions that were not priced. The header always covers every position on that chain, even ones hidden by the dust filter or on another page.

**One card per position**, numbered, 10 per page. A card shows:

* the coin (`#1 · $SYMBOL — Name`) and its PnL
* the chain badge (BSC, Robinhood, Arc) and the full token address — tap to copy
* value, how much you hold, live price next to your average cost, and market cap
* realized PnL so far on this coin, if any
* DexScreener (and Pump.fun on Solana) links

A position with no live price says so — you can see it, but a sell needs a trustworthy price (see below). A card that says **⚠️ Exit stuck** is one we have been trying to sell for a while without a fill.

If you have exported this wallet's key, the header carries a one-line note: positions here follow the chain, so they can change without the bot doing anything.

## The action bar

Under the last card sits one bar. Pick an action, then pick the coin by its number.

| Button                          | What it does                                                                                              |
| ------------------------------- | --------------------------------------------------------------------------------------------------------- |
| **◀ Page n/m ▶**                | Turn the page. Only there when you have more than 10 positions                                            |
| **⇅ Sort**                      | Change the order (below). Remembered for next time                                                        |
| **🙈 Hide < $1 / 👁 Show < $1** | Hide or show positions worth under $1. Remembered for next time. Positions with no price are never hidden |
| **Limit Orders**                | Arm, list or cancel limit orders on one position                                                          |
| **Sell**                        | The sell menu for one position                                                                            |
| **🔄 Refresh**                  | Re-read prices and redraw the whole screen from one read, so no card can disagree with the total          |
| **Transfer**                    | Coming soon                                                                                               |
| **🚨 Sell all**                 | Market-sell every position on this chain; copytrades keep running                                         |
| **🛑 Panic Sell**               | Pause every copytrade, then market-sell every position on this chain                                      |

The Sell, Limit Orders and Transfer pickers list the positions **on the page you are looking at**. To reach the rest, ← Back and turn the page.

**Sort orders:** 🕑 Recent activity (default) · 💵 Value — high → low · 💵 Value — low → high · 🕒 Entry time — newest first · 🕒 Entry time — oldest first. Changing the order takes you back to page 1.

If the bot restarts, an open screen stops answering Refresh and the page buttons and tells you to send `/positions` for a fresh one.

### `/sell`

`/sell` is the older layout: the first 10 positions as cards, each with **Limit Orders · Sell · 🔄 Refresh · Transfer**. Only **Sell** and **🔄 Refresh** work there — Limit Orders and Transfer answer *Coming soon*. For limit orders, and for positions past the first 10, use `/positions`.

## Selling by hand

The sell menu on a position: **Sell Initials · 25% · 50% · 100% · Custom** (Custom takes any whole number from 1 to 100; the prompt expires after 5 minutes).

Every choice opens a **confirm screen** with a live quote before anything is sold:

* **Reference price** — the price the sale is held to, and where it came from
* **Estimated proceeds** — arithmetic at that price. An estimate, not a promise
* **Enforceable minimum** — the sale will not fill below what that price allows
* **Costs** — network and platform fees are shown as *unknown until signing*, never as $0

Then **✅ Sell N%** or **✖ Cancel**. No PIN — a sell moves value within your wallet, not out of it.

**Quotes are short-lived.** A quote more than about 30 seconds old is not sold at. If you confirm late, you get a fresh quote to confirm again; nothing was sold in between.

**No trustworthy price, no sell.** If MoFo cannot get a price it trusts for the coin, or two price sources disagree too much, the sell is refused and nothing is queued. Try again in a moment.

**Every sell is a fraction, never a quantity.** The engine applies your percentage to what you hold when the exit is accepted and never sells more than you hold. You get a receipt when it fills.

**Sell Initials** sells just enough to take your original stake back off the table and leaves the rest riding. It needs a live price and a recorded cost. If the coin is below what you paid, your initials are the whole position — Sell Initials sells 100%.

**If an exit is already running** on the coin:

* one of yours → your new sell widens it (*Already selling N% of this position*)
* one from a take-profit, a stop or an account close → your sell is refused until it finishes; nothing was sold

A BSC, Robinhood or Arc position marked **⚠️ Not held on chain** cannot be sold until the wallet's balance backs it again — usually a read that is about to catch up. Try `/positions` again.

There is no "buy more" button — buys only come from the traders you copy.

## Sell all vs Panic Sell

Both market-sell every open position **on the chain you are looking at**, at your sell-slippage settings. Both ask you to confirm, show an estimated value first, queue one sell per position, and send a receipt as each one fills. **Neither can be undone.**

* **🚨 Sell all** sells and only sells. Your copytrades keep running — **they may rebuy** what you just sold. The confirm screen points this out and at the other button.
* **🛑 Panic Sell** pauses **every** copytrade first — on every chain — then sells. Nothing can rebuy mid-sweep. Resume from `/copytrades` → ▶️ Resume all when you are ready.

The result message lists anything it did not sell, and why:

* could not be queued — try again
* no trustworthy price right now — nothing sold there, try again in a moment
* an older take-profit, stop or close exit is already running — it finishes on its own
* not held on chain (BSC, Robinhood, Arc)

## Limit orders

**Limit Orders** → a position opens a wizard for **one-off orders on that position**, checked continuously alongside your TP/SL. Up to **5 armed orders per position** (the menu shows *Armed: n of 5*).

| Type              | Trigger                                        | Size                                                    |
| ----------------- | ---------------------------------------------- | ------------------------------------------------------- |
| **Sell Initials** | % profit                                       | worked out when it fires — enough to return your stake  |
| **Take Profit**   | % profit (up to +100,000%) **or** a market cap | 25% · 50% · 75% · 100% · Custom (1–100) of the position |
| **Stop Loss**     | % down (1–99) **or** a market cap              | 25% · 50% · 75% · 100% · Custom (1–100) of the position |

% triggers are measured against your average cost, so they move if you average into the coin. The confirm screen shows the price the order fires at.

**Size is a share of the position as it is when you arm the order**, and the order sells that many tokens whatever happens afterwards. Four 25% take-profits are four equal slices that close the position. Take-profits on one position cannot add up past 100% — the wizard tells you how much is still free and hides sizes that no longer fit. A stop-loss beside them is armed over what remains; it reserves nothing.

**Market-cap triggers** are typed as `10M`, `$10M` or `10000000`, and the confirm screen echoes the full number next to what you typed — `10M` and `100M` are one keystroke apart. A coin whose market cap cannot be read right now cannot take a market-cap order; set it at a % instead.

**✅ Arm order** to set it. Armed orders survive restarts and do not expire. Cancel any of them from **📋 Armed orders** → ✖ Cancel #n. When one order fires, the others stay armed over what remains; when the position is fully closed, its remaining orders are cancelled.

A typed prompt expires after 5 minutes — a number typed into a days-old chat must not arm anything.

Limit orders are set from `/positions` only.
