Build a Solana new token sniper API with Birdeye Data: detect new token launches, gate every hit for rug risk, rank momentum, and watch positions over REST or WebSocket.
July 3, 2026
A Solana New Token Sniper lives or dies at the data layer. New pools appear faster than a naive loop can poll, half of them are scams, and the feed that tells you a token exists says nothing about whether you can safely buy it. Most Solana New Token Sniper tutorials also assume a live WebSocket, which on Birdeye starts at the Premium package, so a guide that ignores tiers leaves most readers unable to run it.
This guide builds the detection and gating layer with Birdeye Data: a multi chain market data service covering new listings, prices, liquidity, trade activity, token security, and holder stats across Solana and major EVM networks. The whole pipeline runs on a handful of endpoints, and every stage works over REST. Detection runs on any paid tier, while the security gate, batch ranking, and volume filtered trades start at the Lite or Starter package. Where a WebSocket lowers latency, the guide flags it as a Premium package upgrade.
One rule drives the whole design: a freshly detected token never reaches the trade UI until it clears a security gate. Detection is the easy, noisy part. The gate is the part that stops you buying a honeypot.
TTo build a Solana New Token Sniper with Birdeye Data, you need four stages: detect, gate, rank, and watch.

GET /defi/v2/tokens/new_listing for newly listed tokens, or stream SUBSCRIBE_NEW_PAIR and SUBSCRIBE_TOKEN_NEW_LISTING over WebSocket on a Premium package for instant detection.GET /defi/token_security, GET /defi/token_creation_info, GET /defi/token_overview, and GET /holder/v1/distribution to reject mutable metadata, live authorities, thin liquidity, and concentrated supply.GET /defi/token_overview for early volume and unique wallets, and batch refresh the live list with POST /defi/multi_price.GET /defi/v3/ohlcv and GET /defi/v3/token/txs-by-volume for whale prints, or stream SUBSCRIBE_PRICE and SUBSCRIBE_TXS on a Premium package.All requests share the base URL https://public-api.birdeye.so, authenticate with the X-API-KEY header, and select the network with the x-chain header (default solana). This guide targets Solana, so every header is x-chain: solana.
One tier note up front: the real time WebSocket stream is available from the Premium package up per the Data Accessibility table, while the WebSocket docs page still lists Business and up, so the two pages conflict. Confirm streaming access against your own key. Every primary path below is written as a short interval REST poll. Detection over REST runs on any paid tier, while the security gate, multi_price ranking, and txs-by-volume monitoring need the Lite or Starter package or higher. The WebSocket variants are called out as upgrades.
Endpoint: GET /defi/v2/tokens/new_listing (REST), SUBSCRIBE_NEW_PAIR and SUBSCRIBE_TOKEN_NEW_LISTING (WebSocket)
Chains: All supported networks except Sui
Docs: Token – New listing
The REST endpoint returns newly listed tokens and is the path that works on every paid tier. Poll it on a short interval, track the newest block_unix_time you have already seen, and treat anything newer as a fresh hit.
| Parameter | Required | Notes |
|---|---|---|
time_to | No | Unix seconds, end of the window |
limit | No | 1 to 20, default 10 |
meme_platform_enabled | No | Default false, set true for pump.fun and similar launchpads, Solana only |
curl --request GET \
--url '<https://public-api.birdeye.so/defi/v2/tokens/new_listing?limit=20&meme_platform_enabled=true>' \
--header 'accept: application/json' \
--header 'x-chain: solana' \
--header 'X-API-KEY: YOUR_API_KEY'
For the lowest latency, a Premium package can stream instead of poll. Open one socket and subscribe to new pairs, new listings, or both. The chain goes in the URL path.
const ws = new WebSocket(
`wss://public-api.birdeye.so/socket/solana?x-api-key=${API_KEY}`,
"echo-protocol"
);
ws.onopen = () => {
// brand new pools, pre-filtered by liquidity server side
ws.send(JSON.stringify({
type: "SUBSCRIBE_NEW_PAIR",
min_liquidity: 5000
}));
// newly listed tokens, with meme launchpads included
ws.send(JSON.stringify({
type: "SUBSCRIBE_TOKEN_NEW_LISTING",
meme_platform_enabled: true,
min_liquidity: 5000
}));
};
ws.onmessage = (event) => {
const msg = JSON.parse(event.data);
if (msg.type === "NEW_PAIR_DATA") {
// msg.data: { address, name, source, base, quote, txHash, blockTime }
gate(msg.data.base.address);
}
};
A NEW_PAIR_DATA event carries the pool sides, source, and transaction hash, but no risk data at all, which is the point: detection only tells you a token exists, not whether it is safe to buy. Openbook pairs are not delivered by SUBSCRIBE_NEW_PAIR, while SUBSCRIBE_TOKEN_NEW_LISTING has broader source coverage, so subscribe to both if you want full reach. Every hit, REST or socket, flows straight into the gate.
Endpoint: GET /defi/token_security, GET /defi/token_creation_info, GET /defi/token_overview, GET /holder/v1/distribution
Chains: Solana and EVM, holder distribution and creation info are Solana only
Plan availability: token_security and token_creation_info start at the Lite or Starter package, not Standard
Docs: Token – Security
Stage 2 is where most of the value sits. Run the checks in parallel and reject on any hard fail before the token reaches your trade UI.

curl --request GET \
--url '<https://public-api.birdeye.so/defi/token_security?address=NEW_TOKEN_MINT>' \
--header 'accept: application/json' \
--header 'x-chain: solana' \
--header 'X-API-KEY: YOUR_API_KEY'
On Solana, token_security returns the fields that matter for a rug check: mutableMetadata, freezeable and freezeAuthority, top10HolderPercent, transferFeeEnable, isToken2022, and creatorPercentage. A live freeze authority is the Solana equivalent of a honeypot, since the issuer can freeze your tokens after you buy. The token_creation_info call adds the creation transaction and creator wallet so you can flag fresh deployers.
For supply concentration, holder/v1/distribution buckets holders by share of supply. Pass the token as token_address, not address, since this endpoint group uses the token_address parameter.
curl --request GET \
--url '<https://public-api.birdeye.so/holder/v1/distribution?token_address=NEW_TOKEN_MINT>' \
--header 'accept: application/json' \
--header 'x-chain: solana' \
--header 'X-API-KEY: YOUR_API_KEY'
A few things to get right here:
token_overview, not exit liquidity. The dedicated exit-liquidity endpoint is Base only, so for a Solana New Token Sniper read the liquidity field from token_overview or price a swap through an external router.token_security has no honeypot or tax flags. Those are EVM fields. Do not look for isHoneypot on a Solana response.GET /token/v1/holder-profile breaks holders into tags such as bundler and insider, which is powerful for catching coordinated launches, but confirm it is available on your package before depending on it.Whatever clears the gate is at least not an obvious scam. Rank what is left.
Endpoint: GET /defi/token_overview, POST /defi/multi_price
Chains: All supported networks
Plan availability: multi_price starts at the Lite or Starter package, not Standard
Docs: Token – Overview
A single token_overview call returns price, liquidity, market cap, holder count, and per timeframe metrics including unique wallets, trade counts, and buy and sell volume. For a Solana New Token Sniper, the early windows matter most, so request only the short frames you score on with the frames parameter to keep payloads small.
To keep a live candidate list fresh without one request per token, batch up to 100 addresses through multi_price. Pass them as a comma separated string in list_address, and add include_liquidity=true for current liquidity.
curl --request POST \
--url '<https://public-api.birdeye.so/defi/multi_price?include_liquidity=true>' \
--header 'accept: application/json' \
--header 'x-chain: solana' \
--header 'content-type: application/json' \
--header 'X-API-KEY: YOUR_API_KEY' \
--data '{ "list_address": "MINT_1,MINT_2,MINT_3" }'
Tokens that are unknown or unsupported come back as null on their key rather than as an error, so guard each result before reading a price. One refresh tick is one request, so the cost stays flat as the watchlist grows instead of climbing with it.
Once a token is on the watchlist, you need price movement and large trade alerts. As with detection, the primary path is REST and the WebSocket is a Premium package upgrade.
Poll the latest one or two candles to keep price live, and poll trades filtered by volume to catch whale sized prints.
curl --request GET \
--url '<https://public-api.birdeye.so/defi/v3/token/txs-by-volume?token_address=NEW_TOKEN_MINT&volume_type=usd&sort_type=desc&min_volume=5000>' \
--header 'accept: application/json' \
--header 'x-chain: solana' \
--header 'X-API-KEY: YOUR_API_KEY'
txs-by-volume is Solana only, returns up to 500 trades, and uses token_address. The required pair is volume_type (usd or amount) and sort_type (desc or asc); min_volume is optional and is how you isolate whales. For the price line, poll GET /defi/v3/ohlcv with mode=count and a small count_limit, which works on any paid tier including Standard.
A socket gives you the lowest latency view of a forming dump. Stream SUBSCRIBE_PRICE for the live candle and SUBSCRIBE_TXS for the trade tape, filtering on the volumeUSD field each trade carries to surface large prints. A dedicated SUBSCRIBE_LARGE_TRADE_TXS stream also exists for server side large trade alerts. Because the one subscription per type limit is per message type, you can run price and transaction streams on the same socket, and you should add ping pong plus reconnection so an idle drop does not blind your monitor.
Endpoint: GET /utils/v1/credits
Docs: Utils – Credits Usage
Polling for detection and monitoring is credit hungry, so wire this in from day one.
curl --request GET \
--url '<https://public-api.birdeye.so/utils/v1/credits>' \
--header 'X-API-KEY: YOUR_API_KEY'
It returns the current cycle usage split into REST api and WebSocket ws, plus remaining credits. Poll it hourly and widen your detection and monitor intervals automatically if remaining credits fall below a safe threshold, rather than running into a 429 in the middle of a launch.

The flow is one way: detection feeds the gate, the gate feeds ranking, and only ranked survivors reach monitoring. On any tier the REST paths drive detection and monitoring, with the security gate and volume filtered trades starting at Lite or Starter. From Premium up, swap those functions for WebSocket subscriptions and leave the rest unchanged.
Checklist before you ship your Solana New Token Sniper:
token_overview, since exit-liquidity is Base only.token_address is used for holder/v1/distribution, and address for the defi endpoints.null results from multi_price are handled explicitly, not assumed away.Yes. The detection and monitoring layers both have REST paths. Detection runs on any paid tier; the txs-by-volume whale feed and the security gate need the Lite or Starter package or higher. Poll GET /defi/v2/tokens/new_listing for new tokens and GET /defi/v3/token/txs-by-volume for whale trades. The WebSocket streams are a lower latency upgrade available from the Premium package up.
Set meme_platform_enabled=true on new_listing or on SUBSCRIBE_TOKEN_NEW_LISTING to include pump.fun and similar Solana launchpads. Note that SUBSCRIBE_NEW_PAIR does not deliver Openbook pairs, so subscribe to new token listing as well for fuller coverage.
Detection and risk are separate concerns. A NEW_PAIR_DATA event tells you a pool exists, not whether it is safe. That is why every hit must pass the Stage 2 gate, which pulls token_security, creation info, liquidity, and holder distribution before the token is shown.
The dedicated exit-liquidity endpoint is Base only. On Solana, approximate sellable depth from the liquidity field on token_overview, or price an actual swap through an external router.
The defi endpoints use address. The holder/v1 and token/v1 endpoints, and txs-by-volume, use token_address. Mixing them up returns an invalid value error, so set the right one per call.
That is a complete detect, gate, rank, and watch pipeline for your Solana New Token Sniper. Get an API key at Birdeye Data to start catching new Solana launches, and keep the full endpoint reference handy as you tune your filters.
Birdeye provides expansive data covering tokens, wallets, trades, and protocols across 300+ exchanges on 10 chains.
Whether you’re a solo tinkerer or a large team looking to scale, Birdeye offers plans that caters for your data needs and budget.
Dive into our docs and start querying data on 60+ APIs and 8 WebSocket types today!
Insights is a feature that allows users to analyze market trends in various aspects and dive deep into many industry sectors.
Find Gems is a feature that helps user identify potential Tokens at the current time.
Launch Explorer is a feature that enables users to access real-time data of tokens on popular launchpads like pump.fun, letsbonk.fun,...
New insight article by Birdeye reveals USDC's breakout growth in recent years
Data by Birdeye shows total trading volume of xStocks, PreStocks, and Ondo Global Markets on Solana peaked in March 2026
After the Drift Protocol's hack, Solana Foundation initiated programs such as STRIDE and SIRIN to tighten security for ecosystem teams
July 3, 2026
July 3, 2026
July 3, 2026