> 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/notifications-and-history.md).

# Notifications & history

The bot messages you about two kinds of thing: **what you got** (receipts) and **what went wrong** (alerts). Both are notifications that can go missing. The record is `/history` — if you missed a message, check there.

## Receipts

Every confirmed fill sends one receipt.

**A copied buy or sell** shows:

* who you copied and the fill (`$50.00 → 1,234 TOKEN @ $0.0405`)
* the trader's own fill price and how much more or less you paid. Copy trading always runs a second or two behind the trader, and the receipt shows you that gap.
* the chain badge for BSC, Robinhood and Arc fills
* the full token address (tap to copy)
* the transaction on the chain's explorer, and DexScreener (plus Pump.fun on Solana)

**An automatic or manual sell** shows what fired it and the **realized PnL** on that sale. The trigger can be *take-profit hit*, *stop-loss hit*, *initials taken off*, *trailing stop hit*, *floor hit*, *no-wave exit*, *time cap reached* or *manual sell*.

**Solana exits also send a detailed outcome message**:

| Message                                               | What it means                                                                                          |
| ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
| ✅ **Exit filled · Solana**                            | What was sold and for how much, the measured platform fee, network fee and tip, and the transaction    |
| ❌ **Exit failed on-chain** / **Exit did not execute** | The sale was sent but did not go through. You still hold the tokens, but the network fee was spent     |
| 🚫 **Sell not sent**                                  | Stopped before anything was signed. Nothing moved; you still hold the tokens                           |
| ⏸️ **Exit on hold**                                   | Not sent — e.g. the price moved past your protection limit, or no price we could trust. No funds moved |
| ⏳ **Exit outcome not yet known**                      | We can't yet tell whether it went through. Treat it as neither filled nor cancelled until we can       |

## Alerts

| Alert                                                                   | When                                                                                                                               | What it tells you                                                                                                                                                                                                  |
| ----------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| ⚠️ **Copy skipped — not enough SOL**                                    | A Solana copy was skipped because your balance was too low                                                                         | What the copy needed and what was spendable (SOL kept back for fees doesn't count). Sent **once per shortage** — you may not hear it again for a while even after topping up, so check `/history` for later skips. |
| ⚠️ **Copy skipped — not enough BNB / ETH / USDC** (BSC, Robinhood, Arc) | A buy was refused because it would eat into the gas kept back for your exits                                                       | What's left, the exact amount to send, and your wallet address. Sent once per shortage; a deposit of the chain's gas coin re-arms it.                                                                              |
| ✅ **Late fill — you own this**                                          | A copy we could not confirm in time turned out to have landed                                                                      | You hold tokens you were not told about; they are in your positions now.                                                                                                                                           |
| 🐌 **Exit still trying**                                                | An exit has not filled after its retry ladder                                                                                      | You **still hold** the coin, and whether the hold-up is on our side or the coin's. We keep retrying every few minutes; you can also sell it yourself from Positions at any time.                                   |
| 🛑 **Exit blocked by the token**                                        | The token itself refuses to let the tokens leave your wallet                                                                       | The coin's own setting, not something we can retry past. The sell order stands and goes through the moment the token can be transferred again.                                                                     |
| 🛑 **Exit stopped — this sale can't currently go through**              | Every recent attempt failed — a drained pool, no buyer in the whole window, no market on any venue, or the token refusing the sale | Retrying **stopped**. You still hold the position. A manual sell from Positions starts a fresh attempt.                                                                                                            |
| 🛑 **Exit stopped — your wallet can't pay this sale's network fees**    | Your wallet can't cover the sale's own fee                                                                                         | Names the SOL top-up. Top up, then sell from Positions.                                                                                                                                                            |
| 🛑 **Sell not executed — price impact too high**                        | The best route would return less than your sell slippage allows                                                                    | No swap was sent; you still hold the tokens. Raise sell slippage in `/settings` or sell a smaller share.                                                                                                           |
| 🛑 **Sell canceled by price protection**                                | The route's quote was below the allowed minimum for the price you were shown                                                       | No swap was sent; this request won't retry. Open `/sell` for a fresh price.                                                                                                                                        |
| 🚨 **Daily loss limit hit — buying paused**                             | Your realized loss over 24h passed your limit                                                                                      | All new buys pause until you resume. Everything you hold still sells normally.                                                                                                                                     |
| 🚨 **Losing streak — this trader's buys paused**                        | One copytrade closed N positions in a row at a loss                                                                                | That trader's buys pause; exits and your positions are unaffected.                                                                                                                                                 |

Both 🚨 alerts carry their own button — **▶️ Resume buying** or **▶️ Resume this trader** — so you can turn buying back on straight from the message.

On BSC, Robinhood and Arc, MoFo also pauses buys from a trader whose recent buys have mostly been coins that can't be sold back. Exits are not affected. **You don't get a message for this, and `/copytrades` still shows the copytrade as copying.** If a BSC, Robinhood or Arc copytrade stops copying buys and you can't see why, contact support.

**What you don't get a message for:** a copy that was skipped by your own settings or filters (minimum trade, position or exposure limits, market-cap and other filters, price moved, no route, trade too old). The bot records these without messaging you. `/history` shows every one of them with the reason. See [Why didn't my copy fill?](/why-didnt-my-copy-fill.md)

## Deposits, bridges and announcements

| Message                                       | When                                                                                              |
| --------------------------------------------- | ------------------------------------------------------------------------------------------------- |
| 💰 **Deposit received**                       | A USDC/USDG deposit lands in your BSC, Robinhood or Arc wallet. At most one per wallet per minute |
| ✅ **Your bridge completed**                   | A `/bridge` arrived — with a link to the destination transaction                                  |
| ⏳ **Your bridge is taking longer than usual** | A bridge hasn't confirmed yet. We keep checking; contact support before retrying                  |
| ⚠️ **Your bridge didn't complete**            | With the reason, and where to check whether your funds came back                                  |
| ↩️ **Your bridge was refunded**               | Your funds returned (or are returning) to the wallet they came from                               |
| Announcements                                 | Product news from the MoFo team, sent to every user                                               |

Native coin deposits (SOL, BNB, ETH) do not send a message — check `/balance`.

Security notifications — an address change, a PIN reset, a key export — are covered on [Withdrawals & account security](/withdrawals-and-account-security.md).

## /mutewarnings

`/mutewarnings` turns warning notices off; send it again to turn them back on.

It mutes the ⏸️ **Exit on hold** and ⏳ **Exit outcome not yet known** notices. It **never** mutes a message about money that actually moved or was spent — receipts, ✅ Exit filled, ❌ Exit failed / did not execute and 🚫 Sell not sent always arrive. It also does not mute the alerts in the table above.

## History

`/history` is your last **20** copies, newest first, **every status included**:

| Icon | Meaning                                                            |
| ---- | ------------------------------------------------------------------ |
| ✅    | filled                                                             |
| ⚪    | skipped — the bot decided not to trade, and the row says why       |
| ❌    | failed — the bot tried and the trade did not land, with the reason |
| ⏳    | in flight — *queued, nothing sent* or *outcome unknown*            |

Each row shows the side (BUY / SELL), what triggered it (nothing for a plain copy; *TP*, *SL*, *manual*, *take initials*, *trail*, *floor*, *no wave*, *time cap* otherwise), the time in UTC, the coin, the amount and price, realized PnL on a sell, and a Solscan link to the transaction. For BSC, Robinhood and Arc trades, use the explorer link on the receipt instead.

A take-profit, stop-loss or trailing exit that was cancelled before it ever traded also appears, as ❌ **SELL … failed** with the reason.

**The header** reads *Your last N copies · X filled · Y in flight · Z not traded*, then the realized PnL and fees **on the rows shown** — not your account. A lifetime number that silently meant "last 20" would be worse than no number. If the list is too long for one message, the oldest rows are dropped and the screen says how many.

*Outcome unknown* means signed and submitted, not yet confirmed either way. Give it ten minutes; a transaction that never landed is marked failed by then.

Realized PnL is read from the row, never recomputed. A sell with no recorded cost basis shows no PnL rather than one measured against an average cost that has since moved.

**🔄 Refresh** re-reads the list in place.
