Raydium Launchpad API
In this section we see how to get data on Launchpad by Raydium. This includes token creation, latest trades by trader, for a token etc. You can also check out our Pump Fun API Docs and LetsBonk.fun API Docs.
These APIs can be provided through different streams including Kafka for zero latency requirements. Please contact us on telegram.
Latest Pools Created on Launchpad
We will use the PoolCreateEvent
method to filter latest pools on Launchpad. The Argument
filed includes more information about the pool like base_mint_param
( token details), curve_param
( bonding curve details) and vesting_param
( cliff period, amount locked etc).
You can run the query here
Click to expand GraphQL query
{
Solana(network: solana, dataset: realtime) {
Instructions(
where: {
Instruction: {
Program: {
Address: { is: "LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj" }
Method: { is: "PoolCreateEvent" }
}
}
}
orderBy: { descending: Block_Time }
) {
Instruction {
Accounts {
Address
}
Program {
Name
Method
AccountNames
Arguments {
Name
Type
Value {
... on Solana_ABI_Integer_Value_Arg {
integer
}
... on Solana_ABI_String_Value_Arg {
string
}
... on Solana_ABI_Address_Value_Arg {
address
}
... on Solana_ABI_BigInt_Value_Arg {
bigInteger
}
... on Solana_ABI_Bytes_Value_Arg {
hex
}
... on Solana_ABI_Boolean_Value_Arg {
bool
}
... on Solana_ABI_Float_Value_Arg {
float
}
... on Solana_ABI_Json_Value_Arg {
json
}
}
}
}
}
}
}
}
Get all the instructions of Raydium LaunchLab
Below query will get you all the instructions that the Raydium LaunchLab Program has. You can test the API here.
Click to expand GraphQL query
query MyQuery {
Solana {
Instructions(
where: {Instruction: {Program: {Address: {is: "LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj"}}}}
) {
Instruction {
Program {
Method
}
}
count
}
}
}
Track Token Migrations to Raydium DEX and Raydium CPMM in Realtime
Using above get all instructions
api, you will figure out that there are 2 instructions migrate_to_amm
, migrate_to_cpswap
whose invocations migrate the Raydium LaunchLab Token to Raydium V4 AMM and Raydium CPMM Dexs respectively.
Thats why we have filtered for these 2 instructions in the below API, and tracking these.
Test out the API here.
Click to expand GraphQL query
subscription MyQuery {
Solana {
Instructions(
where: {Instruction: {Program: {Address: {is: "LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj"}, Method: {in: ["migrate_to_amm","migrate_to_cpswap"]}}}, Transaction: {Result: {Success: true}}}
) {
Block{
Time
}
Instruction {
Program {
Method
AccountNames
Address
Arguments {
Value {
... on Solana_ABI_Json_Value_Arg {
json
}
... on Solana_ABI_Float_Value_Arg {
float
}
... on Solana_ABI_Boolean_Value_Arg {
bool
}
... on Solana_ABI_Bytes_Value_Arg {
hex
}
... on Solana_ABI_BigInt_Value_Arg {
bigInteger
}
... on Solana_ABI_Address_Value_Arg {
address
}
... on Solana_ABI_Integer_Value_Arg {
integer
}
... on Solana_ABI_String_Value_Arg {
string
}
}
Type
Name
}
Name
}
Accounts {
Address
IsWritable
Token {
ProgramId
Owner
Mint
}
}
}
Transaction {
Signature
Signer
}
}
}
}
Bonding Curve Progress API for Raydium Launchpad token
Below query will give you amount of left tokens
put it in the below given simplied formulae and you will get Bonding Curve progress for the token.
Bonding Curve Progress Formula
- Formula: BondingCurveProgress = 100 - ((leftTokens * 100) / initialRealTokenReserves)
Where:
leftTokens = realTokenReserves - reservedTokens
initialRealTokenReserves = totalSupply - reservedTokens
Definitions:
initialRealTokenReserves
=totalSupply
-reservedTokens
totalSupply
: 1,000,000,000 (Raydium Launchpad Token)reservedTokens
: 206,900,000- Therefore,
initialRealTokenReserves
: 793,100,000
leftTokens
=realTokenReserves
-reservedTokens
realTokenReserves
: Token balance at the market address.
Simplified Formula: BondingCurveProgress = 100 - (((balance - 206900000) * 100) / 793100000)
Additional Notes
- Balance Retrieval:
- The
balance
is the token balance at the market address. - Use this query to fetch the balance: Query Link.
- The
Click to expand GraphQL query
query GetLatestLiquidityForPool {
Solana {
DEXPools(
where: {
Pool: {
Market: {
BaseCurrency: {
MintAddress: {
is: "token mint address"
}
}
}
Dex: {
ProgramAddress: {
is: "LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj"
}
}
}
}
orderBy: { descending: Block_Slot }
limit: { count: 1 }
) {
Pool {
Market {
MarketAddress
BaseCurrency {
MintAddress
Symbol
Name
}
QuoteCurrency {
MintAddress
Symbol
Name
}
}
Dex {
ProtocolFamily
ProtocolName
}
Quote {
PostAmount
PriceInUSD
PostAmountInUSD
}
Base {
PostAmount
}
}
}
}
}
Track Raydium Launchpad Tokens above 95% Bonding Curve Progress
We can use above Bonding Curve formulae and get the Balance of the Pool needed to get to 95% and 100% Bonding Curve Progress range. And then track liquidity changes which result in Base{PostAmount}
to fall in this range. You can run and test the saved query here.
Click to expand GraphQL query
subscription MyQuery {
Solana {
DEXPools(
where: {
Pool: {
Base: { PostAmount: { gt: "206900000", lt: "246555000" } }
Dex: {
ProgramAddress: {
is: "LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj"
}
}
Market: {
QuoteCurrency: {
MintAddress: {
in: [
"11111111111111111111111111111111"
"So11111111111111111111111111111111111111112"
]
}
}
}
}
Transaction: { Result: { Success: true } }
}
) {
Pool {
Market {
BaseCurrency {
MintAddress
Name
Symbol
}
MarketAddress
QuoteCurrency {
MintAddress
Name
Symbol
}
}
Dex {
ProtocolName
ProtocolFamily
}
Base {
PostAmount
}
Quote {
PostAmount
PriceInUSD
PostAmountInUSD
}
}
}
}
}
Top 100 About to Graduate Raydium Launchpad Tokens
We can use below query to get top 100 About to Graduate Raydium Launchpad Tokens. You can run and test the saved query here.
Click to expand GraphQL query
{
Solana {
DEXPools(
limitBy: { by: Pool_Market_BaseCurrency_MintAddress, count: 1 }
limit: { count: 100 }
orderBy: { ascending: Pool_Base_PostAmount }
where: {
Pool: {
Base: { PostAmount: { gt: "206900000" } }
Dex: {
ProgramAddress: {
is: "LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj"
}
}
Market: {
QuoteCurrency: {
MintAddress: {
in: [
"11111111111111111111111111111111"
"So11111111111111111111111111111111111111112"
]
}
}
}
}
Transaction: { Result: { Success: true } }
Block: { Time: { since: "2025-07-11T13:45:00Z" } }
}
) {
Pool {
Market {
BaseCurrency {
MintAddress
Name
Symbol
}
MarketAddress
QuoteCurrency {
MintAddress
Name
Symbol
}
}
Dex {
ProtocolName
ProtocolFamily
}
Base {
PostAmount(maximum: Block_Time)
}
Quote {
PostAmount
PriceInUSD
PostAmountInUSD
}
}
}
}
}
Latest Trades on Launchpad
This query fetches the most recent trades on the Raydium Launchpad. You can run the query here
Click to expand GraphQL query
query LatestTrades {
Solana {
DEXTradeByTokens(
orderBy: { descending: Block_Time }
limit: { count: 50 }
where: { Trade: { Dex: { ProtocolName: { is: "raydium_launchpad" } } } }
) {
Block {
Time
}
Transaction {
Signature
}
Trade {
Market {
MarketAddress
}
Dex {
ProtocolName
ProtocolFamily
}
AmountInUSD
PriceInUSD
Amount
Currency {
Name
}
Side {
Type
Currency {
Symbol
MintAddress
Name
}
AmountInUSD
Amount
}
}
}
}
}
Similarly, you can subscribe to trades on launchpad in real-time using subscription query. The same can be tracked using Bitquery Kafka Streams
Latest Price of a Token on Launchpad
This query provides the most recent price data for a specific token launched on Raydium Launchpad. You can filter by the token’s MintAddress
, and the query will return the last recorded trade price.
You can run the query here
Click to expand GraphQL query
{
Solana {
DEXTradeByTokens(
orderBy: { descending: Block_Time }
limit: { count: 1 }
where: {
Trade: {
Dex: { ProtocolName: { is: "raydium_launchpad" } }
Currency: {
MintAddress: { is: "token mint address" }
}
}
}
) {
Block {
Time
}
Transaction {
Signature
}
Trade {
Market {
MarketAddress
}
Dex {
ProtocolName
ProtocolFamily
}
AmountInUSD
PriceInUSD
Amount
Currency {
Name
}
Side {
Type
Currency {
Symbol
MintAddress
Name
}
AmountInUSD
Amount
}
}
}
}
}
Latest Trades of an User on Launchpad
This query returns the latest trades by a user on Launchpad by filtering on the basis of Transaction_Signer
. This stream of data allows to monitor the trade activities of the user on Launchpad in real time.
Click to expand GraphQL query
query MyQuery {
Solana {
DEXTradeByTokens(
where: {
Trade: { Dex: { ProtocolName: { is: "raydium_launchpad" } } }
Transaction: {
Signer: { is: "8KjdBwz6Q3EYUDYmqfg33em3p9GFcP48v3ghJmw2KDNe" }
}
}
orderBy: { descending: Block_Time }
limit: { count: 100 }
) {
Trade {
Currency {
MintAddress
Name
Symbol
}
Market {
MarketAddress
}
usd_price: PriceInUSD
sol_price: Price
Side {
Currency {
Symbol
Name
MintAddress
}
Type
}
}
}
}
}
Top Buyers of a Token on LaunchPad
This API endpoint returns the top 100 buyers for a token, which is 8CgTj1bVFPVFN9AgY47ZfXkMZDRwXawQ2vckp1ziqray
in this case.
Click to expand GraphQL query
query MyQuery {
Solana {
DEXTradeByTokens(
where: {
Trade: {
Dex: { ProtocolName: { is: "raydium_launchpad" } }
Currency: {
MintAddress: { is: "token mint address" }
}
Side: { Type: { is: buy } }
}
}
orderBy: { descendingByField: "buy_volume" }
limit: { count: 100 }
) {
Trade {
Currency {
MintAddress
Name
Symbol
}
}
Transaction {
Signer
}
buy_volume: sum(of: Trade_Side_AmountInUSD)
}
}
}
Top Sellers of a Token on LaunchPad
Using this query top 100 sellers for the token with Mint Address
as 8CgTj1bVFPVFN9AgY47ZfXkMZDRwXawQ2vckp1ziqray
could be retrieved.
Click to expand GraphQL query
query MyQuery {
Solana {
DEXTradeByTokens(
where: {
Trade: {
Dex: { ProtocolName: { is: "raydium_launchpad" } }
Currency: {
MintAddress: { is: "token mint address" }
}
Side: { Type: { is: sell } }
}
}
orderBy: { descendingByField: "sell_volume" }
limit: { count: 100 }
) {
Trade {
Currency {
MintAddress
Name
Symbol
}
}
Transaction {
Signer
}
sell_volume: sum(of: Trade_Side_AmountInUSD)
}
}
}
OHLCV for LaunchPad Tokens
This API end point returns the OHLCV vlaues for a LaunchPad token with the currency mint address
as 72j7mBkX54KNH7djeJ2mUz5L8VoDToPbSQTd24Sdhray
when traded against WSOL.
Click to expand GraphQL query
query MyQuery {
Solana {
DEXTradeByTokens(
where: {
Trade: {
Dex: { ProtocolName: { is: "raydium_launchpad" } }
Currency: {
MintAddress: { is: "token mint address" }
}
Side: {
Currency: {
MintAddress: { is: "So11111111111111111111111111111111111111112" }
}
}
}
Transaction: { Result: { Success: true } }
}
limit: { count: 100 }
orderBy: { descendingByField: "Block_Timefield" }
) {
Block {
Timefield: Time(interval: { count: 1, in: minutes })
}
Trade {
open: Price(minimum: Block_Slot)
high: Price(maximum: Trade_Price)
low: Price(minimum: Trade_Price)
close: Price(maximum: Block_Slot)
}
volumeInUSD: sum(of: Trade_Side_AmountInUSD)
count
}
}
}
Get Liquidity Pool Address for a LaunchPad Token
This query returns the pair address for the LaunchPad token with mint address
as 72j7mBkX54KNH7djeJ2mUz5L8VoDToPbSQTd24Sdhray
on the LaunchPad exchange. The liquidity pool address is denoted by MarketAddress
.
Click to expand GraphQL query
query MyQuery {
Solana {
DEXTradeByTokens(
where: {
Trade: {
Dex: { ProtocolName: { is: "raydium_launchpad" } }
Currency: {
MintAddress: { is: "token mint address" }
}
}
}
) {
Trade {
Market {
MarketAddress
}
Currency {
Name
Symbol
MintAddress
}
Side {
Currency {
Name
Symbol
MintAddress
}
}
}
count
}
}
}
Get Liquidity for a LaunchPad Token Pair Address
Using this query we can get the liquidity for a LaunchPad Token Pair, where Base_PostBalance
is the amount of LaunchPad tokens present in the pool and Quote_PostBalance
is the amount of WSOL present in the pool. For the purpose of filtering we are applying the condition that the MarketAddress
is H5875KoMLaWAovsjjXuTtHZv9otmH7EgJ2nXMovykZvp
.
Click to expand GraphQL query
{
Solana {
DEXPools(
where: {
Pool: {
Market: {
MarketAddress: {
is: "H5875KoMLaWAovsjjXuTtHZv9otmH7EgJ2nXMovykZvp"
}
}
}
Transaction: { Result: { Success: true } }
}
orderBy: { descending: Block_Time }
limit: { count: 1 }
) {
Pool {
Base {
PostAmount
}
Quote {
PostAmount
}
Market {
BaseCurrency {
MintAddress
Name
Symbol
}
QuoteCurrency {
MintAddress
Name
Symbol
}
}
}
}
}
}
This subscription could be utilised to monitor updates in liquidity pools in real time.