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:

FieldReading
burned_pctLP tokens destroyed. Cannot be pulled.
locked_pctLP tokens locked. Cannot be pulled yet.
earliest_unlock_atWhen "yet" ends. A lock expiring tomorrow is not a lock.
top_lock_providerWho 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.

On this page