The coin card
The card the scanner sends is assembled from up to 15 rows in a fixed order; several are dropped entirely when the bot has nothing for them.
The coin card
The card the scanner sends is assembled from up to 15 rows in a fixed order; several are dropped entirely when the bot has nothing for them.
Row by row
One set of token lines is shared by two renderings: a rich card (the graphic, live buttons, posts and followers) and a plain-text fallback used only when the rich card can't be delivered. The plain-text fallback carries every row below except row 1 (the graphic) and the posts/followers buttons in row 15.
Every card the bot sends also counts as a call. Rows 11 through 13 read from the FIRST call ever made for that coin on this bot — a value that never changes once set, no matter how many times the address is pasted again.
The coin card, row by row
| # | Row | Holds | Formatting |
|---|---|---|---|
| 1 | Call graphic | A generated image: the caller's name and avatar beside the coin's symbol, image and banner. The caller's name and "called $SYM" — plus "at $MC market cap" or "no market cap yet" — are baked into the picture as text. | Present only once the graphic has come back from the image service; otherwise the row does not appear. |
| 2 | Symbol · name · chain | The token's symbol, name and chain. | 🔎 $SYM · Name · ChainName. The name is dropped when it's the same as the symbol, case-insensitive. A missing symbol shows ?. |
| 3 | Address | The resolved contract address. | Shown in a tappable code block — tapping it copies the address. |
| 4 | Price row | Current price and 24-hour change. | 💵 Price $X · 24h +N.N%. Missing entirely when there's no price; the 24h clause alone drops when the price is known but the 24h change isn't. The 24h figure switches to no-decimals at 1,000% or more. |
| 5 | Market row | Market cap, liquidity, volume. | 💰 MC $X · Liq $X · Vol $X. Each of the three is dropped on its own when unknown. An asterisk is added to the MC figure when it's DexScreener's own reported number rather than one computed from price × supply. |
| 6 | Holders · Age | Holder count and pool age. | 👥 Holders N · ⏳ Age N. Always present — either cell shows — when unknown. |
| 7 | Security flags | Honeypot, buy/sell tax, mintable — from GoPlus. | ⚠️ honeypot · tax N% / N% · mintable (buy tax first, sell tax second; only the flags that apply are shown). Present only when GoPlus answered — which means never on PulseChain, HyperEVM or TON, since GoPlus isn't one of their sources (chapter 3.4). |
| 8 | Footnote | One of two italic notes. | no pool found yet when there's no price; *market cap as reported by DexScreener when row 5's MC carries the asterisk. |
| 9 | 𝕏 line | The coin's X account and follower/following counts. | 𝕏 @handle · N followers · N following, using the same count formatting as Holders. Drops to just 𝕏 @handle when the profile lookup found nothing. |
| 10 | Blank line | A separator. | Appears only when there's a call section (rows 11–13) to show below it. |
| 11 | Called by | Who made the first call on this coin, and at what market cap. | 🎯 Called by <name> at $MC, or (no market cap at the time) with none known. A · <age> ago suffix is added once the call passes 2 minutes old. |
| 12 | ATH | The coin's real all-time high market cap — the higher of its pre-call price history and whatever the tracker has seen since the call. | 📈 ATH $X. Omitted when neither figure is known, and always omitted on a call under 2 minutes old unless a pre-call historical high exists. |
| 13 | Peak since call | The highest multiple and gain reached since the first call, and the live figure when it has drifted from that peak. | 🚀 Peak since call Nx (+N%), with · now $Y appended only when the live market cap differs from the peak by more than 2%. Never shown on a call under 2 minutes old. |
| 14 | Recent posts | The coin's recent X posts. | Appears only after the Fetch posts button (row 15) is pressed. |
| 15 | Buttons | The card's inline keyboard. | See the buttons section below. |
Value formatting
Five formatting ladders cover every number on the card.
Money — price, market cap, liquidity, volume
| Range | Format |
|---|---|
| $1 trillion or more | $X.XXT, always two decimals |
| $1 billion, million or thousand or more | $X.XXB / M / K, trailing zeros dropped |
| $1 or more | $X,XXX.XX |
| $0 or less | $0 |
| Between $0 and $1 | up to 10 decimal places, trailing zeros dropped |
| Unknown | — |
Money, worked
| Input | Output |
|---|---|
| $1,500,000,000 market cap | $1.5B |
| $2,000,000,000 market cap | $2B |
| $1,500,000,000,000 market cap | $1.50T |
| $0.0000123 price | $0.0000123 |
| $999 market cap | $999.00 |
| No value | — |
$1.50T keeps both decimals; $1.5B and $2B have theirs dropped — the trillion tier never strips trailing zeros, the billion/million/thousand tiers always do.
Counts — holders, followers, following
| Range | Format |
|---|---|
| Below 1,000 | the plain number |
| 1,000 or more | X.XB / M / K, one decimal, trailing zero dropped |
| Unknown | — |
Age — pool age, call age
| Range | Format |
|---|---|
| Under 1 hour | Nm (minutes, minimum 1) |
| Under 1 day | Nh (hours) |
| Under 30 days | Nd (days) |
| Under 365 days | Nmo (months) |
| 365 days or more | Ny Nmo, or just Ny when the remainder is under a month |
| Unknown | — |
Counts and age, worked
| Input | Output |
|---|---|
| 2,500,000 holders | 2.5M |
| 1,500 holders | 1.5K |
| 45 minutes old | 45m |
| 400 days old | 1y 1mo |
| 370 days old | 1y |
Multiple — "Peak since call"
| Multiple | Format | Example |
|---|---|---|
| Under 10x | two decimals, x suffix | 2.00x |
| 10x to under 100x | one decimal, x suffix | 12.3x |
| 100x or more | comma-grouped, no decimals, x suffix | 1,234x |
| Unknown | — | — |
Percent gain — from the multiple, "Peak since call"
| Gain | Format | Example |
|---|---|---|
| Under 100% | one decimal, signed | +50.0% |
| 100% or more | comma-grouped, no decimals, signed | +1,100% |
24-hour price change — the price row
| Change | Format | Example |
|---|---|---|
| Under 1,000% | one decimal, signed | +4.2% |
| 1,000% or more | comma-grouped, no decimals, signed | +1,000% |
Two different percent formats
The price row's 24h change and "Peak since call"'s gain are computed differently and switch to no-decimals at different thresholds — 1,000% for 24h change, 100% for the peak gain. A 24h change of +250.5% and a peak gain of +250.5% are not rendered by the same rule.
The — convention
— means the bot has no value for that cell — not zero, not an error. It appears in exactly one row that's always present: Holders · Age (row 6), where — stands in for whichever cell isn't known.
Everywhere else, a missing value drops the row or the cell instead of showing a dash. No price drops the whole price row (row 4) rather than showing a price of —. A missing liquidity or volume figure drops just that one cell from the market row (row 5) while the other cells still show; a market row with none of the three known doesn't appear at all.
Buttons
Button rows
| Row | Buttons | Goes to |
|---|---|---|
| 1 | 📈 Chart · 🔍 Explorer · 📋 Copy CA | Chart opens the token's chart link; Explorer opens the chain's block explorer (chapter 3.4); Copy CA is a tap-to-copy button that copies the address. Each button appears only if the card has that field. |
| 2 and up | Socials, two per row, up to 4 | 🌐 Website, 𝕏 Twitter, ✈️ Telegram, 💬 Discord. A second website found gets its own label (🌐 <label>, truncated to 16 characters) instead of 🌐 Website. A coin whose X handle was found some other way still gets one 𝕏 Twitter button. |
| Posts | Fetch 5 most recent posts (Fetch 5 more posts on a later press) | Renders the coin's recent X posts under the card (row 14). Appears only when the coin has an X account. |
| Followers | Fetch <name> Followers | Shows the X account's followers. Appears only when the coin has an X account. |
The plain-text fallback carries the same Chart · Explorer · Copy CA row and the same socials rows, but never the posts or followers buttons.
Note
On a send failure, the card is retried once with every Copy CA button stripped out.