Skip to content

Troubleshooting

Find the symptom that matches what you’re seeing. Each entry is the same shape: what’s happening, why, fix. If a deeper page covers the topic in detail, the entry links straight to it.

If your symptom isn’t listed, the closest match is usually the right starting point — most issues fall into a handful of patterns, and the cause is almost always something Telegram, the watchlist state, or a chain limitation is doing.

I pasted a contract in a group and nothing happened

Section titled “I pasted a contract in a group and nothing happened”

Why. Telegram puts every bot into privacy mode by default when it joins a group. In privacy mode the bot only receives messages addressed to it: slash commands, replies to its messages, and @username mentions. A plain pasted contract is invisible — Telegram filters it before Prysm ever sees it.

Fix. Either of these works on its own:

  • Promote the bot to admin in the group. The moment it’s an admin, Telegram lifts privacy mode for that chat.
  • Disable privacy in BotFather with /setprivacy → Disable. One flip, account-wide. Re-add the bot to the group afterwards so the setting takes effect.

Same root cause as above. Privacy mode lets /list, /add, /og, /settings and replies through, because they’re explicitly addressed to the bot. Plain text pastes are the one thing it filters. Apply the same fix — promote to admin or disable privacy in BotFather.

Why. Most likely the alert isn’t actually armed. Price and market-cap alerts are one-shot: when they fire, isActive flips to false and they disappear from /alert. Percent-change alerts stay active and re-arm at the new baseline.

Fix.

  1. Run /alert in DM and check whether the alert is still there. If it isn’t, it already fired — the DM notification is the record.
  2. If you want a fired one-shot alert back on duty, tap the ✏️ pencil and edit it. Saving a new value flips both isActive and isTriggered back, so the alert re-arms automatically.
  3. If the alert is in /alert but never fires, double-check the target — above versus below, the right number, and that the token’s price feed is actually reaching the bot (a fresh /list should show a current price for it).

Why. When a token is first added, Prysm picks the best pair it finds at that moment. If the token migrates (pump.fun → Raydium, for example), or a deeper pool appears later on a different DEX, the stored pair can fall behind.

Fix. Run /refresh <contract>. The command re-resolves the token’s pool to the highest-liquidity pair currently available and updates the stored pool address. The bot replies with either “Pool updated” (it switched pairs) or “Pool verified” (it was already on the best one). Either way the next /list reflects the right pair.

/og says “No tokens with sufficient liquidity”

Section titled “/og says “No tokens with sufficient liquidity””

Why. /og filters every candidate pair through a liquidity-or-activity gate before showing it. If every pair on that chain failed the $500 strict floor and also failed the $100 relaxed retry, the list comes back empty.

Fix. Two paths out:

  • Try a different chain. /og eth ABC, /og bsc ABC, /og base ABC. The symbol may have meaningful activity somewhere else.
  • Paste the contract directly. If you know the address you’re looking for, give Prysm the contract and it’ll resolve the chain and pair without needing a symbol search.

Why. All-time-high tracking is EVM-only and limited to a fixed set of chains. Anything outside that list — Solana, TON, Tron, Sui, plus EVMs Prysm doesn’t have ATH coverage for (MegaETH, Sonic) — returns the unsupported message.

Fix. Use /ath with one of the supported chain shortcuts: eth, base, bsc, polygon, avax, arb, op. For unsupported chains there’s no fix — the data source doesn’t have OHLCV history for them.

Why. Not a bug. When a token’s market cap is below $1,000, Prysm displays <$1K instead of a precise tiny number. Below that threshold the precision isn’t useful — a $40 cap and a $400 cap are both telling you the same story.

Fix. Nothing to fix. If you need the exact figure, the chart provider link in the row will show it.

/portfolio says “only available in private chat”

Section titled “/portfolio says “only available in private chat””

Why. /portfolio is DM-only by design. It surfaces your holdings — amounts you set with /setholding against your personal watchlist — and that data doesn’t belong in a group view.

Fix. Open your private chat with the bot and run /portfolio there. Holdings live on your user record, not on a group, so they follow you between chats automatically.

Why. Every account starts with a default token cap. Once your watchlist hits the limit, /add and paste detection both refuse to take more.

Fix.

  • Run /list and use /remove on tokens you no longer follow. Each removal frees one slot.
  • If you genuinely need a larger watchlist, contact the bot owner to request a higher limit.

/setalert says “Token not found in your watchlist”

Section titled “/setalert says “Token not found in your watchlist””

Why. /setalert doesn’t add tokens. It assumes the contract is already on your watchlist and refuses to create an alert against a token you aren’t tracking.

Fix. Run /add <contract> (or paste the contract and tap Add to Watchlist) first, then re-run /setalert <contract> <type> <comparison> <value>. Alternatively, open /detailed and use the inline 🔔 button on the token row — that path doesn’t require the CLI at all.

Why. Sessions have a fixed lifecycle. Each session runs for 15 minutes by default. The Extend +15m button adds another 15 minutes per tap, but a session can never run longer than 30 minutes total — that’s the hard cap measured from when it started.

Fix. If the session was within its window, refresh the chat — the message edits in place, and Telegram occasionally drops the live update. If the session has actually expired, start a new one with /pvp and the same contracts.

Why. The contract is already on the watchlist for that scope. In DM, that means your watchlist already has it. In a group, the group already has it — you or someone else added it earlier.

Fix. Run /list (or /detailed for more context) to confirm. The token’s already where you want it; nothing else to do. If you want a fresh price, the row in /list is already live.

Group admin commands say “Only group admins can…”

Section titled “Group admin commands say “Only group admins can…””

Why. A handful of group-side commands require creator or administrator status in Telegram. Prysm calls Telegram’s own getChatMember and rejects anyone else. The commands gated this way:

CommandWhere
/migrateGroup only
/importGroup only (DM is unrestricted)
/autodetectGroup only
/settings panelsGroup only

Fix. Ask a group creator or administrator to promote you, or to run the command on your behalf. There’s no Prysm-side override — it’s the same admin check Telegram uses everywhere else.

Section titled “Edit/remove deep link from /alert does nothing”

Why. Two common reasons:

  • The alert was deleted in another chat or session between the time /alert rendered and the time you tapped the button. The deep link points to a row that’s no longer there.
  • The success message already auto-deleted. Edit confirmations vanish 10 seconds after they appear; remove confirmations vanish after 5 seconds. If you blinked, the action probably worked.

Fix. Run /alert again to refresh the overview. If the row is still listed, tap the same button — the action is idempotent. If the row is gone, the alert was already removed and there’s nothing left to do.