> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xhuntr.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Tuning campaigns

> Keywords, filters, exclude terms and the limits on each.

A **campaign** is one set of keywords plus the filters that decide which matching posts are worth waking you for. You can run up to **10** at once, each hunting something different.

## Keywords

Keywords are what EarlyHunt searches X for. A post matching any keyword in a campaign is a candidate; the filters below then decide whether it actually alerts.

| Limit                  | Value         |
| ---------------------- | ------------- |
| Keywords per campaign  | 30            |
| Minimum keyword length | 3 characters  |
| Maximum keyword length | 40 characters |

<Warning>
  One- and two-character keywords are rejected on purpose. They match almost everything, which floods you and burns the search budget that your other campaigns depend on.
</Warning>

Good keywords are **launch-specific**: `fair launch`, `stealth launch`, `presale`, `whitelist`, `live on pump`, `mint soon`. Weak keywords are generic hype words that every account on X uses — `soon`, `bullish`, `gm`.

## Exclude terms

Up to **30** blacklist terms per campaign. A post containing an excluded term is dropped even if it matched a keyword.

This is the fastest way to fix a noisy campaign. If `fair launch` keeps bringing you NFT mints, add `nft` and `mint pass` to the blacklist rather than deleting the keyword.

## Filters

<AccordionGroup>
  <Accordion title="Account age">
    Only alert on accounts younger than N days. Up to 30 days, or **Any** for no age limit.

    Tight ages (under 3 days) are the classic fresh-account hunt. **Any** is right for front-running, because established "page" accounts pre-announce launches too.
  </Accordion>

  <Accordion title="Max following">
    Only alert on accounts following fewer than N people. Up to 10,000, or 0 for no limit.

    A brand-new account following 5,000 accounts is usually a bot farm. A real pre-launch account tends to follow few.
  </Accordion>

  <Accordion title="Require verified">
    Only alert on accounts with a blue check. Cuts noise hard, at the cost of missing unverified launches.
  </Accordion>

  <Accordion title="Require CA">
    Only alert when the post contains a contract address.

    This is the single biggest noise reducer. Every alert becomes something you can act on immediately — but you give up the front-run window entirely.
  </Accordion>

  <Accordion title="Prelaunch only">
    The inverse of Require CA: **skip** any post that already shows a contract address.

    The logic is that if the CA is public, you are already late. This is what makes the 🔥 Front-Run template front-running rather than just fast.
  </Accordion>

  <Accordion title="Chain filter">
    Restrict to a chain: **Any**, **Solana**, or **Robinhood Chain**.

    Chain identity is verified from the contract address itself, which is why the Robinhood Chain preset also requires a CA — an address is the only thing that can actually prove which chain a launch is on.
  </Accordion>
</AccordionGroup>

## Tuning a noisy campaign

In order of how much noise they remove for how little reach you lose:

<Steps>
  <Step title="Add exclude terms">
    Look at the last few junk alerts and blacklist the word they share. Costs you almost nothing.
  </Step>

  <Step title="Tighten max following">
    Filters out bot farms without touching your keywords.
  </Step>

  <Step title="Narrow the keywords">
    Replace a generic term with a specific phrase — `launch` becomes `fair launch`.
  </Step>

  <Step title="Require a CA">
    The nuclear option. Near-zero noise, but you lose every pre-launch signal.
  </Step>
</Steps>

## Tuning a campaign that never fires

Usually over-filtering. Turn off **Require verified** first — most fresh launch accounts are not verified, and that one toggle silently removes the large majority of real matches. Then widen the account age, then add keywords.

<Tip>
  Run two campaigns instead of compromising in one: a tight, CA-required campaign you trust enough to act on, and a wide front-run campaign you skim. That is easier to read than one campaign tuned to the middle.
</Tip>
