> For the complete documentation index, see [llms.txt](https://archer-bot.gitbook.io/archer.bot/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://archer-bot.gitbook.io/archer.bot/intents/token-safety-and-spam-detection.md).

# Token Safety & Spam Detection

Spam tokens are the largest source of accidental loss in Web3 — fake impersonations, airdropped wallet poisoners, contracts designed to drain on transfer. Archer maintains an internal spam database and runs every token through it before any swap, bridge, or send.

## Sample Input Queries

* *"Is CHATGPT token a scam?"*
* *"Is GOOFS on Base legitimate?"*
* *"Check if MOKI is spam"*
* *"Is this token safe: 0x8e5c04f82d6464b420e2018362e7e7ab813cf190"*

## How Spam Detection Works

Archer's spam database is sourced from three signals:

1. **Internally curated spam lists:** industry-wide spam token feeds
2. **Unresolvable token analysis:** tokens with no price data from any provider (Moralis, CoinGecko, Jupiter) are flagged as suspicious
3. **Manual admin reviews:** admin-flagged or admin-cleared overrides

When you ask about a specific token, Archer resolves it against the database and returns whether it is flagged.

## What Happens When a Token Is Flagged

Confirmed spam tokens are treated aggressively:

* **Price fetches are skipped.** Avoids wasting API calls on garbage tokens.
* **Swaps, bridges, and sends are blocked.** Archer refuses to prepare any transaction involving a confirmed spam token.
* **Balances are hidden from your portfolio.** Wallet poisoners that airdrop tokens you never bought won't clutter your view.

## Examples That Will Be Flagged

* Fake impersonation tokens (e.g., a token called "SOL" or "ADA" deployed on Base)
* Airdrop spam (tokens deposited into your wallet that you never purchased)
* Unresolvable tokens with no price data from any provider

## Examples That Will NOT Be Flagged

* Major tokens: ETH, SOL, USDC, USDT, ARB, MATIC/POL, AVAX, BNB
* Established memecoins: BONK, WIF, PEPE, DOGE
* Any token an admin has explicitly cleared

## Unflagged ≠ Safe

If a token is not in the spam database, Archer will tell you it's not flagged — but recommend doing your own research (DYOR). The database is continuously updated as new tokens are analyzed, but no automated system catches everything. Brand-new launches haven't been seen by anyone yet.

## Sample Output Structure

```json
{
  "status": "OK",
  "ticker": "CHATGPT",
  "address": "0x8e5c04f82d6464b420e2018362e7e7ab813cf190",
  "chain": "ethereum",
  "isSpam": true,
  "reason": "goldrush_spam_list",
  "blockedOperations": ["swap", "bridge", "send", "price"]
}
```

For unflagged tokens:

```json
{
  "status": "OK",
  "ticker": "PEPE",
  "address": "0x6982508145454ce325ddbe47a25d4ec3d2311933",
  "chain": "ethereum",
  "isSpam": false,
  "note": "Not flagged. Do your own research."
}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://archer-bot.gitbook.io/archer.bot/intents/token-safety-and-spam-detection.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
