> For the complete documentation index, see [llms.txt](https://docs.phanes.bot/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.phanes.bot/phanes/leaderboard.md).

# Leaderboard

## 👨‍💻 How It Works

**Every new** [queried coin ](/phanes/commands.md#price-queries)will be added to the tracking system automatically.

If you are only scanning a coin **you'd have to click** on the <img src="/files/VnuFkJ94ZnBcxOVgmRPT" alt="" data-size="line"> button.

The button expires after **2 minutes**. After the time has elapsed, the option to remove the call is no longer available.

{% tabs %}
{% tab title="⭐️ Example" %}

<figure><img src="/files/RXYMSufKhEB2ijcARyws" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Top Callers are determined by a **points-based system**. To be eligible for the list, you must have earned at least 1 point. Learn more [here](#points-system).
{% endhint %}
{% endtab %}

{% tab title="🐲 Emoji Guide" %}
The first emoji represents the user's rank, more [here](https://docs.phanes.bot/phanes/leaderboard#emoji-ranks).&#x20;

The second emoji represents the chain:

| Emoji         | Definition                              |
| ------------- | --------------------------------------- |
| 💊            | Called on Pump.Fun **before migration** |
| 🟣            | Solana                                  |
| 🔷            | Ethereum                                |
| 🔵            | Base                                    |
| 🔸            | BSC                                     |
| 🟡            | Ton                                     |
| 🔺            | Avax                                    |
| ♦️            | Tron                                    |
| {% endtab %}  |                                         |
| {% endtabs %} |                                         |

{% hint style="warning" %}

### We Recommend

1. Turn off [**anonymous appearance**](#user-content-fn-1)[^1] in your group.
2. Set a [**Telegram Username**](https://telegram.org/blog/usernames-and-secret-chats-v2?setln=it) to avoid appearing as "Anonymous" or "None" on the Leaderboard.
   {% endhint %}

***

### 🎮 Commands

Every command below runs inside your group and reads that group's call history.

| Command     | What it does                                                  |
| ----------- | ------------------------------------------------------------- |
| `/lb`       | The group leaderboard — top callers and coins for a timeframe |
| `/lb me`    | Your own caller stats (points, hit rate, return, your calls)  |
| `/lb @user` | Another member's caller stats                                 |
| `/calls`    | The group's last 20 calls, with a performance summary         |
| `/stats`    | Open a member's stats card privately in the bot               |
| `/pnl`      | Generate a PNL image for a coin                               |
| `/gpnl`     | Generate a group PNL image (looks back up to 3 months)        |
| `/fc`       | Show the first caller of a coin                               |
| `/elb`      | Export the leaderboard to CSV — Pro only                      |

#### `/lb` — Leaderboard

Ranks the group's top callers and their best coins for a period.

**Timeframes** — `1d`–`7d`, `14d`, `1mo`–`5mo`. Spelling is flexible: `1d` / `1day`, `1w` / `1week` / `2weeks`, `1mo` / `1month` all resolve the same way.

**Options** (combine freely):

| Example       | Result                               |
| ------------- | ------------------------------------ |
| `/lb 7d`      | Top callers over 7 days              |
| `/lb 1d 25`   | Show the top 25 (default 10, max 25) |
| `/lb 1d $1m`  | Only calls that reached a $1M+ ATH   |
| `/lb 1d anon` | Hide caller names                    |

Tap the **1D / 1W / 2W / 1M** buttons under any board to switch timeframe instantly.

{% hint style="info" %}
Extended timeframes are unlocked by group **Boosts** — the further back you look, the more boosts the group needs.
{% endhint %}

#### `/lb me` & `/lb @username` & `/lb @user1, @user2` — Caller stats

See one caller's track record instead of the whole board — or put a few head-to-head.

* `/lb me` — your own stats
* `/lb @username` — another member's stats
* `/lb @user1, @user2` — **compare up to 5 callers**, ranked by points

`/lb me` and `/lb @username` show a caller's **Points**, **Hit Rate** (≥2x), **Calls**, **Median** and **Return**, followed by their individual calls — add a timeframe like `/lb me 1w`, or use the buttons.

`/lb @user1, @user2` puts each caller on one line — **Points · Calls · Hit Rate · Median**, ranked by points — with a link to open their full stats. Add a timeframe at the end (`/lb @a, @b 1w`).

#### `/calls` — Last calls

`/calls` (or `/last`) lists the group's **last 20 calls**, newest first, topped with a live performance summary:

| Metric   | Meaning                                                                     |
| -------- | --------------------------------------------------------------------------- |
| **PNL**  | Average current return across the calls, with how many are up 🟢 vs down 🔴 |
| **ATH**  | Average all-time-high return                                                |
| **Best** | The single highest-ATH call                                                 |
| **Hit**  | % of calls that reached at least 2x (≥2x)                                   |

Filter to one member with `/calls me` or `/calls @username`.

#### `/stats` — Private stats card

`/stats` (for yourself) or `/stats @username` returns a **View Stats** button that opens that caller's stats **privately in the bot**, starting on the 1D timeframe — switch it with the buttons there. Same data as `/lb @username`, just not posted in the group.

{% hint style="info" %}
Longer timeframes on the private stats card require **Pro**.
{% endhint %}

#### PNL cards & exports

* `/pnl` — a shareable PNL image for a coin.
* `/gpnl` — a group-wide PNL image (looks back up to 3 months).
* `/fc` — who called a coin first.
* `/elb` — export the full leaderboard to CSV (**Pro**).

***

## ⚡️ Core Performance Metrics

### **Top Callers** <a href="#mvp" id="mvp"></a>

The Top Callers system is based on the user rankings point system. It highlights the most successful callers based on their accumulated points from all calls within the specified timeframe. Points are awarded according to the [points system](#points-system).

### Hit Rate

The hit rate shows how consistently a caller finds tokens that achieve significant gains. It's calculated as the percentage of calls that reach at least 2x return. For example, a 40% hit rate means that 4 out of 10 calls reached or exceeded 2x return. This metric helps identify callers who consistently spot potential winners rather than those who might get lucky with one big call.

### **Average Return**

The average return (mean) represents the typical performance across all calls. It's calculated by adding up all returns and dividing by the number of calls. While this gives a good overall performance indicator, it can be heavily influenced by extremely successful calls. For instance, one 100x call among many smaller returns will significantly boost the average, which might not represent the typical performance.

### **Median Return**

The median return provides the middle value when all returns are ordered from lowest to highest. Unlike the average, it's not skewed by extremely high or low returns, making it often a better representation of typical performance. If a caller has a median return of 3x, it means half their calls performed better than 3x and half performed worse. This metric is particularly useful for understanding a caller's consistent performance level.

> *To learn more about median* [*click here*](https://www.investopedia.com/terms/m/median.asp)*.*

{% hint style="success" %}
Together, these metrics provide a comprehensive view:

* **Top Callers** shows relative performance ranking based on the point system.
* **Hit Rate** shows consistency in finding winners.
* **Average Return** shows overall performance including big wins.
* **Median Return** shows typical performance excluding outliers.

Using all these metrics gives the most accurate picture of a caller's performance, as each metric compensates for the limitations of the others.
{% endhint %}

***

## 🖥️ Ranking System

The user rankings are calculated using a point-based system that rewards or penalizes users based on the performance of their calls. Every call is measured against the **baseline** for the market cap it was called at, so a call is judged against what a coin of that size normally does. Here's how points are assigned:

### **How It Works**

* Each user starts with 0 points
* Points are accumulated for each call based on its performance
* Every call is scored against the baseline for the market cap it was called at
* Beating the baseline earns points, missing it loses points, matching it is worth nothing
* Each doubling of a call's return is worth the same amount, so there are no tiers to sit just under
* Final rankings are sorted from highest to lowest total points

### **Scoring**

{% tabs %}
{% tab title="🧮 Points System" %}

### **How points are awarded per call**

Every call earns points from one number: **how far it ran from where you called it**, measured against the **baseline** for that market cap.

```
points = log2( your return ÷ baseline for the market cap you called at )
```

Match the baseline exactly and the call is worth **0 points**. Beat it and you earn points. Miss it and you lose points.

#### **Baselines**

Each baseline is the **average outcome for coins of that size**, measured from tens of thousands of real calls. Beat the average and you earn; land under it and you lose. Because it is set at the average, calling more coins does not raise your score on its own — only calling *better* ones does.

| Market cap when you called | Baseline to beat |
| -------------------------- | ---------------- |
| Below **$25K**             | **1.38x**        |
| **$25K - $50K**            | **1.57x**        |
| **$50K - $1M**             | **1.43x**        |
| Above **$1M**              | **1.29x**        |

The **$25K - $50K** band has the highest bar because those are the coins that actually run. Most calls below $25K never move at all, so that band's average is lower.

*(applies to wins and losses alike — a small-cap call is never punished harder than it is rewarded)*

**Limits**

* A miss costs at most **-1 point**. One dead call cannot wipe out a good run.
* A single call earns at most **+8 points**, reached around **350x**. One lottery ticket cannot own a whole leaderboard.

#### Points Per Call

What a call is worth, by return and by the market cap you called at.

| Your return          | Below $25K | $25K - $50K | $50K - $1M | Above $1M |
| -------------------- | ---------- | ----------- | ---------- | --------- |
| **1x** (never moved) | -0.46      | -0.65       | -0.52      | -0.37     |
| **1.2x**             | -0.20      | -0.39       | -0.25      | -0.10     |
| **1.5x**             | +0.12      | -0.07       | +0.07      | +0.22     |
| **2x**               | +0.54      | +0.35       | +0.48      | +0.63     |
| **3x**               | +1.12      | +0.93       | +1.07      | +1.22     |
| **5x**               | +1.86      | +1.67       | +1.81      | +1.95     |
| **10x**              | +2.86      | +2.67       | +2.81      | +2.95     |
| **20x**              | +3.86      | +3.67       | +3.81      | +3.95     |
| **50x**              | +5.18      | +4.99       | +5.13      | +5.28     |
| **100x**             | +6.18      | +5.99       | +6.13      | +6.28     |
| **200x**             | +7.18      | +6.99       | +7.13      | +7.28     |

Every **doubling** is worth about **+1 point**, at every level. Going 5x to 10x pays the same as going 50x to 100x.
{% endtab %}

{% tab title="☎️ Caller Ranking" %}
**Emoji shown next to user's total points.**

* 😭 Negative points
* 😊 0 to 1 points
* 😎 2 to 4 points
* 🎉 5 to 9 points
* 💸 10 to 14 points
* 🔥 15 to 19 points
* 🚀 20 to 29 points
* 🌙 30+ points
  {% endtab %}

{% tab title="⚡️ Return Multiplier" %}
**Emoji shown next to individual calls.**

* 😭 Below 1.2x
* 🥱 1.2x to 1.8x
* 😎 1.8x to 5x
* 🎉 5x to 15x
* 💸 15x to 30x
* 🔥 30x to 50x
* 🚀 50x to 100x
* 🌙 100x or higher
  {% endtab %}
  {% endtabs %}

{% hint style="success" %}
This System:

* Pays for real outperformance, instead of clearing a fixed number.
* Prices every doubling the same, so there are no tier edges to sit on.
* Charges small caps and large caps on the same terms, for wins and losses alike.
* Lets a genuine winner pay for a realistic number of misses, the way calling actually pays out.
* Does not judge a call before it has had the chance to run.

The final user rankings provide a competitive leaderboard that reflects both the quality and consistency of a user's calling ability.
{% endhint %}

***

## 👨‍🍳 User Stats

You are able to view user stats by either clicking on the user's name within the leaderboard or by using the command: `/stats <@username>`.

{% hint style="warning" %}
Phanes always verifies that the user requesting statistics is a member of the group, to prevent unauthorized access. **To ensure this security measure works effectively, Phanes requires admin privileges in your group.**
{% endhint %}

<figure><img src="/files/0Jo7O7GlPfrZ0YknReig" alt=""><figcaption></figcaption></figure>

***

## 📸 PNL Card

We offer **free custom-designed** PNL cards for every first caller in your group.

The X return is specifically calculated using:

1. The market cap at the time of first call in the group
2. The highest market cap reached after the call (ATH)

You can generate a PNL image with `/pnl <symbol/ca>` or by clicking on an emoji within your `/leaderboard`.

<figure><img src="/files/digHGEpJ6L6QYUebGtU5" alt=""><figcaption></figcaption></figure>

### Custom PNL Background

Give your group's PNL cards their own look with `/pnlbg`.

<details>

<summary>🎨 View examples</summary>

<figure><img src="/files/O6Ha1UczA1rJ9YYpkLFS" alt=""><figcaption></figcaption></figure>

</details>

**Image requirements:**

* JPG, PNG or WebP, up to 4 MB
* 1920x1080 recommended (960x540 minimum)
* Cropped to 16:9 from the centre — tall images lose their edges
* On Telegram, **send as a file** to keep full quality (photos get compressed)

{% hint style="info" %}
Every upload is screened automatically. If something is rejected and you think that's wrong, the message links you to support.
{% endhint %}

#### Theme

Switch between **Dark** (white text, the standard look) and **Light** (near-black text) with the theme button. Pick Light if your background is pale — white text on a bright image is unreadable.

#### Fonts

Cycle the card's typeface with the font button. Four options:

| **Comic**    | The classic Phanes look *(default)*               |
| ------------ | ------------------------------------------------- |
| **Impact**   | Bold condensed — maximum weight on the multiplier |
| **Tech**     | Geometric, futuristic                             |
| **Terminal** | Monospaced, trading-terminal style                |

<details>

<summary>🎨 View available fonts</summary>

<figure><img src="/files/Lh5PAFl4zjJMAq3RIm9y" alt=""><figcaption></figcaption></figure>

</details>

#### Accent Color

Cycle the multiplier's colour with the colour button. Six options:

`Green, Cyan, Purple, Pink, Gold, Orange`

<details>

<summary>🎨 View available colors</summary>

<figure><img src="/files/Myn4PAr0aTsh8kPIXWTc" alt=""><figcaption></figcaption></figure>

</details>

#### Removing

Use the **Remove background** button on the `/pnlbg` panel. The image is deleted from storage, not just unlinked.

***

## 📸 Group PNL Card

You can generate a Group PNL with `/gpnl <period>`, e.g. `/gpnl 7d`.

<figure><img src="/files/01VXTp4ZorjnSoOwdnLL" alt=""><figcaption><p>Group PNL Image</p></figcaption></figure>

***

## 📂 Export Leaderboard

[Pro](/premium/phanes-pro.md) subscribers are able to export the Leaderboard to a CSV file with `/elb <period>`.

{% hint style="info" %}
Group admins can limit the use of this command to admins only by using `/allow_elb <on/off>`.
{% endhint %}

<figure><img src="/files/cfsLzssjfrisEcj5lt8l" alt=""><figcaption></figcaption></figure>

[^1]: To turn off the anonymous mode go into your group settings » Administrators » Right click the user you want to edit » Edit admin rights » Toggle off "Remain anonymous".
