---
name: check-token-health
description: Read the health of the tokens a wallet has registered on Chain Daddy - the 0-100 score, which registrations are at risk or counting down to expiry, why, and what the owner can do. Read-only. Use when someone asks how their tokens are doing, whether they could lose a ticker, or what their health score means.
license: MIT
---

# Check token health

Every registered token has a health score from 0 to 100, updated daily. If it stays **below 60 for 30 days
in a row**, the registration expires and anyone who can prove ownership of the token can register the ticker,
first come, first served. Read-only: this skill changes nothing.

## Tools

| Need | MCP | CLI | HTTP |
|---|---|---|---|
| Every registration a wallet owns | `list_crowns` (`owner`) | `chaindaddy status --wallet <addr> --json` | - |
| One token's score | `check_heartbeat` | `chaindaddy status --symbol S --chain base` | `GET /api/v2/heartbeat/{symbol}/{chain}` (EVM) |
| Score history | - | - | `GET /api/v2/heartbeat/{symbol}/{chain}/history` |
| Holder spread | `get_holders` | - | `GET /api/v2/registration/{id}/holders` |

HTTP calls from your own code need `X-API-Key: cd_live_…`. The remote MCP server's read tools need no key.

## Steps

1. List the wallet's registrations. Ask for the wallet address; never for a key or a signature.
2. Read each one's score and classify it:

   | Score | Status | Meaning |
   |---|---|---|
   | 80-100 | Healthy | In good standing |
   | 65-79 | Moderate | In good standing, worth a look |
   | 60-64 | At risk | The owner gets a "Token at risk" alert |
   | below 60 | Inactive | The 30-day countdown is running |
   | below 60 for 30 days | Expired | The ticker is open to register again |

   A registration in its first 30 days is in its **grace period**: tracked, but it can't be reclaimed
   whatever the score. Releasing and registering again doesn't reset it.
3. Show a short table, worst first: symbol, chain, score, status, and days left where a countdown runs.
4. For each token at risk, explain the score's parts:
   - **Age, 50%:** full marks for 30 days, then steps down over two years (90, 80, 70, 60, then 50). An older
     token needs real trading and holders to stay above 60.
   - **Trading volume, 30%:** smoothed (last 24 h 70%, 7-day average 30%) and capped at 100x the pool's
     liquidity, so wash trading doesn't help.
   - **Holder spread, 20%:** concentration in the top 10 and top 50 wallets, flagged wallets (snipers,
     bundlers, insiders, sandwich traders), how many wallets hold half the supply, and the raw count.
     Splitting a balance across new wallets lowers it.
5. Say what helps: real trading, supply spread across real holders, health alerts on, and registering from a
   multisig so a teammate can act. Point to the token manager's **Health** tab.

## If it expired

Search shows it as **Inactive**. The original owner has no special claim: whoever registers first, at the
normal price, keeps it, and the page's details and manager roles are cleared. Tell the owner plainly and
point them to https://docs.chaindaddy.io/getting-started/import-an-existing-token. Don't register it for them.

## Mistakes to avoid

- Suggesting trades with yourself, splitting wallets or other ways to game the score. They are filtered out
  or lower it.
- Promising support can recover an expired ticker someone else registered. It can't.
- Reading the score as a rating of the token's quality or safety. It measures activity.

## Docs

- https://docs.chaindaddy.io/platform/heartbeat
- https://docs.chaindaddy.io/alerts/
