A trading agent that looks up a token usually needs two answers: what is it worth, and
can I sell it again after I buy. Most APIs give you the first. token-report gives you both
in one JSON answer, on Base, Ethereum and BNB Smart Chain.
Try it on a token
Paste a token address and pick its chain. You get the verdict, and the price, market cap and liquidity when the token is listed. Free, no wallet.
Free trial — a few checks a day, keyed on your IP; the CLI draws on that same quota. Past
that, pay per call: PAYER_PRIVATE_KEY=0x… npx @true402.dev/rugcheck 0x… at $0.008 a report, or wire the API
into an agent.
§01 · the request
One POST.
curl
# Free to try: a few checks a day per IP, no wallet. After that it answers 402 (pay over x402).
curl -s -X POST https://true402.dev/api/v1/base/token-report \
-H 'content-type: application/json' \
-d '{"token":"0x940181a94A35A4569E4529A3CDfB74e38FD98631"}'
# Ethereum or BSC: same body, different path
# https://true402.dev/api/v1/ethereum/token-report
# https://true402.dev/api/v1/bsc/token-report
No account and no API key. Payment is per call over x402: $0.008 in USDC, and the first few checks each day are free.
verdict: avoid, caution or ok, with the reasons in plain words.
market: price, market cap, FDV, liquidity, 24h volume and change, number of pairs, and when the first pair was created (how long it has traded).
safety: the full check underneath. Did a simulated buy and sell go through, at what tax, how deep the liquidity is, who owns the contract, can it mint.
recentPulls / recentWhaleSwaps: liquidity removals and large swaps our watchers saw on the token's pools (Base only).
§03 · how to read it
The price never vouches for the token.
The market block is context, not evidence. The verdict comes only from what was checked on-chain. A token can show a healthy price and market cap and still block every sell. That is what a honeypot is, and it is why the buy/sell simulation decides, not the chart.
Three details worth knowing:
Price, market cap and FDV are read only from pairs where the token is the base token. A pair that quotes it against something else reports the other token's price.
Liquidity and volume are summed over the listed pairs. The provider lists up to 30. When that page is full, pairsTruncated is true and the sums are partial.
not_listed means no trading pair was found. It is not a verdict. unavailable means the price lookup failed. The safety check still ran.
§04 · from an agent
Pay and decide in code.
Node — @x402/fetch
// npm i @x402/fetch @x402/core @x402/evm viem — Coinbase's official x402 client
import { x402Client } from '@x402/core/client';
import { wrapFetchWithPayment } from '@x402/fetch';
import { ExactEvmScheme } from '@x402/evm';
import { privateKeyToAccount } from 'viem/accounts';
const signer = privateKeyToAccount(process.env.WALLET_PRIVATE_KEY); // a funded Base wallet
const client = new x402Client().register('eip155:8453', new ExactEvmScheme(signer));
const pay = wrapFetchWithPayment(fetch, client);
const res = await pay('https://true402.dev/api/v1/base/token-report', {
method: 'POST', headers: { 'content-type': 'application/json' },
body: JSON.stringify({ token: '0x940181a94A35A4569E4529A3CDfB74e38FD98631' }),
});
const { verdict, market } = await res.json();
if (verdict.rating === 'avoid') throw new Error(verdict.reasons.join('; '));
console.log(market.priceUsd, market.marketCapUsd, market.liquidityUsd);
Then use a free price API; you don't need to pay for this. token-report is for the moment before a buy, when the price alone can't tell you whether you will get out again.
§06 · questions
Answered for machines.
Is there an API that returns a token's price and whether it is a rug in one call?
Yes. true402's token-report takes a token address on Base, Ethereum or BNB Smart Chain and returns a rug-check verdict (avoid / caution / ok, with reasons, from a live buy/sell honeypot simulation, liquidity depth and the contract's structure) together with a market block: price, market cap, FDV, liquidity, 24h volume and 24h change. One POST, pay-per-call over x402 in USDC, no account and no API key, and a few free checks a day.
Where does the price data come from?
From DexScreener's public pairs data. The price, market cap and FDV are read only from pairs where the token is the base token, because a pair that quotes the token against something else reports the other token's price. Liquidity and 24h volume are summed across every listed pair that holds the token. If the provider's page of pairs was full (it returns up to 30), the answer says so with pairsTruncated, because the sums then cover the listed pairs only.
Does the price change the verdict?
No. The market block is informational. The verdict is built only from what is checked on-chain: whether a buy and a sell actually go through, the liquidity depth, ownership, mint capability, trading taxes, and recent liquidity removals on Base. A high market cap does not make a honeypot safe, and a token with no price listing is not called dangerous for that reason alone.
What if I only need a token price?
Then a free price API is the right tool and you do not need this. token-report is for an agent or bot that is about to buy a token it has never seen: the question there is not only what it costs, but whether it can be sold again. Getting the price in the same answer saves a second request.
What does a call cost?
$0.008 per call, paid in USDC on Base (or Solana) through the x402 protocol: the server answers 402 with the price, the client signs a payment for exactly that amount and retries. There is no subscription. The first few checks each day are free from your IP, with no wallet.