> 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/entry-filters-and-risk-limits.md).

# Entry filters & risk limits

`/filters` (or `/settings` → 🧰 Filters) is the hub: 🧢 Market Cap Filter · 📏 Trade Size · 🪙 Pump.Fun Filters · 🛡 Safety · 🚨 Risk. The hub's top lines show what is in force right now.

**All of these judge buys only.** None of them ever blocks a sell. Being unable to exit is worse than any entry they prevent. Positions you already hold still sell normally whatever you set here.

## Account-wide or per trader

Set a filter account-wide in `/filters`, or for one trader from `/copytrades` → the trader → ✏️ Edit:

| Button on the trader's edit screen | What it sets for that trader                   |
| ---------------------------------- | ---------------------------------------------- |
| 🪙 **Pump-only**                   | Account default / On / Off                     |
| 🧢 **MC filter**                   | ✏️ Min MC · ✏️ Max MC · 🚫 Account default     |
| 📏 **Buy size**                    | ✏️ Min size · ✏️ Max size · 🚫 Account default |
| 🎓 **Stage**                       | Account default / Pre-grad / Graduated         |

**A trader's own filter replaces the account one for that trader.** It replaces it entirely: a min from one level is never combined with a max from the other. Each screen says which one is in force: *set for this trader*, *from your account setting (/filters)*, or *no filter anywhere*. **🚫 Account default** hands the trader back to the account setting.

The 🛡 Safety switches and the 🚨 Risk limits are account-wide only.

## Entry filters

| Filter            | Default | What it does                                                                                                                                                                                  | How you set it                                                                 |
| ----------------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ |
| 🧢 **Market cap** | Off     | Copy only coins inside your USD market-cap range at the moment of the buy. Set a min, a max, or both. The min is inclusive and the max is exclusive: "below $1M" skips a coin at exactly $1M. | Type `100k`, `1.5m`, `2b` or `250000`. Each bound asks you to ✅ Confirm first. |
| 📏 **Trade size** | Off     | Copy a trader's buy only when **their own** spend is inside your range. Both ends are inclusive. Small buys are often tests, not conviction. Whale bets may be more than you want to follow.  | Type a number, e.g. `0.5` or `2`. Each bound asks you to ✅ Confirm first.      |
| 🪙 **Pump-only**  | Off     | Copy only pump.fun coins. Safer to exit, but it skips your trader's other buys.                                                                                                               | 🪙 Pump.Fun-Only: ON/OFF. Also on the `/copytrades` list as 🪙 Pump-only.      |
| 🎓 **Stage**      | Any     | Judges pump.fun coins only. Copy only coins still on the bonding curve (Pre-Grad), only graduated ones (Graduated), or any. Other coins are left to the Pump-only setting.                    | Any Stage · Pre-Grad · Graduated                                               |

A min above your max (or a max below your min) is refused when you type it, and the bot names the bound it conflicts with.

**Trade size is in the chain's own coin.** The number you type is read as SOL on a Solana follow, BNB on BSC, ETH on Robinhood Chain and USDC on Arc. An account-wide min of `0.5` means 0.5 SOL for Solana traders and 0.5 BNB for BSC traders. If your traders span chains, set this per trader.

**On BSC and Robinhood Chain**, Pump-only reads as **Launchpad-only** and Stage as **curve stage**. They judge that chain's launchpad instead of pump.fun: Flap / four.meme on BSC, pons on Robinhood. A Solana follow is unchanged.

**Arc has no launchpad.** Launchpad-only on an Arc follow — including one that inherits your account-wide Pump-only switch — skips every Arc buy. Leave it off for Arc traders.

**Unknown data fails open.** If we can't read a coin's market cap, the trader's spend (for example a USDC-funded buy on Solana) or its stage, the buy is copied anyway. These filters narrow coverage; they aren't safety checks. A filter that silently blocked everything on a broken data feed would be worse than one that occasionally lets something through.

## Safety

Account-wide, under 🛡 Safety.

| Switch                       | Default | Solana                                                                                                                                                       | BSC · Robinhood · Arc                                                                                                                                     |
| ---------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 🛡 **Block risky coins**     | **On**  | Skip coins where someone still holds a switch that can stop you selling: a freeze authority, a transfer hook, a permanent delegate, or a live fee authority. | Skip coins whose test sale fails (a honeypot), coins whose contract lets the owner change taxes, blacklist or pause, and coins with a sell tax above 25%. |
| 🖨 **Block mintable supply** | Off     | Skip coins whose deployer can still print more tokens. Dilution tanks the price but never stops you selling, so this is stricter than the default.           | Skip coins whose contract lets the owner change taxes, blacklist or pause.                                                                                |
| 🔒 **Strict non-pump**       | Off     | If a coin isn't from pump.fun and its safety couldn't be checked, skip it instead of buying it unchecked.                                                    | If a coin's test sale couldn't be run, skip it instead of buying it unchecked. A buy the trader made on the chain's launchpad curve is exempt.            |

Strict non-pump is the one deliberate exception to fail-open, which is why it's opt-in. It can cost you entries during network blips, and that's the trade-off you're choosing.

**Always on, whatever you set:**

* **Solana:** a coin that structurally can't be sold is refused. That covers non-transferable coins, coins whose accounts are created frozen, and coins with a transfer fee of 10% or more.
* **BSC · Robinhood · Arc:** before every buy, MoFo rehearses selling the coin back. If the market answers "there is no way out" (a drained pool, a token that refuses to move), the buy is skipped. If the check can't get an answer, the buy goes ahead.
* **All chains:** a coin that keeps failing on chain is set aside for a while instead of being retried for every follower.

## Risk breakers

All off unless you set them, under 🚨 Risk. They stop **new buys** when hit and never touch a sell: take-profits, stop-losses and manual sells always run.

| Breaker           | Set as                  | Scope              | Chains | What happens when it trips                                                                                                                                                                                                      |
| ----------------- | ----------------------- | ------------------ | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ✏️ **Daily loss** | USD, e.g. `250` or `1k` | your whole account | all    | Your realized loss over the last 24 hours reached your limit, so **all buying pauses**. You get a message. Tap **▶️ Resume buying** on the 🚨 Risk screen when you're ready.                                                    |
| ✏️ **Streak**     | 2 – 20 losses in a row  | one trader         | all    | That trader's positions closed at a loss this many times in a row, so **their buys pause**. Their exits and your positions are unaffected. You get a message. Tap **▶️ Resume this trader** on it, which also resets the count. |
| ✏️ **Exposure**   | USD, e.g. `2k`          | your whole account | Solana | A buy that would push your total open cost basis past this amount is skipped. There's nothing to resume: the next buy that fits goes through.                                                                                   |

🚫 Daily off · 🚫 Streak off · 🚫 Exposure off remove a limit.

A tripped breaker resumes only when you say so. After a resume, the daily breaker re-arms on your next losing sale. The streak counter keeps counting even while the breaker is off, so turning it on starts from your real history.

**Set the daily loss limit on day one.** A bad trader you haven't noticed yet then costs you a bounded amount instead of an unbounded one.

**Unsellable-leader pause (BSC · Robinhood · Arc).** If at least half of a trader's recent buys (at least 5 in 24 hours) had no way out, MoFo pauses copying that trader's buys. Their sells still mirror, so positions you hold from them can still exit.

## Other limits that can skip a buy

These aren't in `/filters`, but they decide whether a buy is copied:

| Limit                                                                                | Default        | Where                                         |
| ------------------------------------------------------------------------------------ | -------------- | --------------------------------------------- |
| ⏳ **Buy-once cooldown**                                                              | On, 10 minutes | [Trade settings](/trade-settings.md)          |
| ✏️ **Max chase**                                                                     | 25%            | [Trade settings](/trade-settings.md)          |
| **Min trade**: the trader's buy must be worth at least this                          | $1             | shown on the trader's screen in `/copytrades` |
| **Max open**: open positions per wallet                                              | 100            | shown on the trader's screen                  |
| **Max at risk**: open cost for this one trader                                       | $10,000        | shown on the trader's screen                  |
| **Stale trade** (BSC · Robinhood · Arc): a trader's buy older than this isn't copied | 30 seconds     | automatic                                     |

Why a specific copy was skipped: [Why didn't my copy fill?](/why-didnt-my-copy-fill.md)

## Muting warnings

`/mutewarnings` turns copy warnings off, and sending it again turns them back on. Receipts for trades that moved your money are never muted, and every copy decision still appears in `/history`. See [Notifications & history](/notifications-and-history.md).
