Spot a rug before it pulls
The fields that answer "is this pair real", and how to weigh them.
Most screeners tell you a pair exists. The question worth answering is whether it is real. Every signal below arrives with the pair — no second vendor, no join.
Start with the terminal statuses
curl 'https://api.preview.avee.tech/api/v1/chains/bsc/pairs/0x…'status is the verdict. A pair marked scam is a pair where either the pair itself or one of its
tokens hit a terminal state — do not display it, do not route to it. only_trustable=true on
/pairs filters these out for you.
Then the score and its reasons
score carries a number and, more usefully, risk_signals — the reasons behind it. A score
without reasons is an opinion; the reasons are what let you set your own threshold.
Every kind, what it means and the field that lets you check it yourself: Read the risk signals.
Then liquidity, honestly
Two figures, and the difference matters:
liquidity_usd— the quoted figure.liquidity_onchain_usd— what the contract actually holds.
A large gap between them is the shape of a pair whose quoted depth is not backed by reserves.
Zero means zero. A pair reporting no liquidity has no liquidity; it is not "unknown". Some venues — Hyperliquid, for one — report no liquidity by design because there is no pool to measure. Check the venue before reading zero as a red flag.
Then who holds the exit
security answers whether the LP can leave:
| Field | Reading |
|---|---|
burned_pct | LP tokens destroyed. Cannot be pulled. |
locked_pct | LP tokens locked. Cannot be pulled yet. |
earliest_unlock_at | When "yet" ends. A lock expiring tomorrow is not a lock. |
top_lock_provider | Who holds it. |
Burned beats locked. Locked-with-a-date beats unlocked. Unlocked with a single large holder is the classic shape.
Then who built it
deployer.reputation carries the launch history: score, status, pairs_created,
abused_launches. A deployer with fifty launches and forty abused is not going to be different
this time. This is history, not prediction — which is precisely what makes it useful.
Then who is trading it
Wash trading looks like volume. Pull the tape and count the distinct makers:
curl 'https://api.preview.avee.tech/api/v1/chains/bsc/pairs/0x…/trades?limit=100'Volume concentrated in a handful of maker_address values that trade with each other is volume
that is not there. The pair's txn block gives you buyers and sellers per window — a
buyers-to-transactions ratio near zero is the same story, cheaper to check.
Weighing it
No single field is a verdict. The shape of a rug is several of these at once: fresh pair, unlocked LP, an abusive deployer, quoted liquidity far above on-chain, and volume from five wallets. Any one alone is a question; four together is an answer.