Skip to main content

Solana Token Market Cap API

Use Bitquery’s Trading API Tokens cube to stream or query market cap, fully diluted valuation (USD), total supply, price (OHLC and averages), and volume for tokens on Solana. Filter with solana: plus the token mint in Token.Id / Currency.Id; ranked queries below use Token.Network Solana.

For schema details and field meanings, see the Tokens cube and Supply fields.


How do I stream live Solana token market cap, price, and volume?

Subscribe to Tokens where currency id includes solana, with interval duration greater than 1 (second).

You can run this subscription in the Bitquery IDE.

subscription MyQuery {
Trading {
Tokens(
where: {
Currency: { Id: { includes: "solana" } }
Interval: { Time: { Duration: { gt: 1 } } }
}
) {
Token {
Name
Id
Address
Symbol
}
Block {
Time
}
Supply {
TotalSupply
FullyDilutedValuationUsd
MarketCap
}
Price {
Average {
Mean
}
Ohlc {
Open
Low
High
Close
}
}
Volume {
Base
BaseAttributedToUsd
Quote
Usd
}
}
}
}

How do I get the latest market cap for a specific token on Solana?

Use limit: { count: 1 }, orderBy: { descending: Block_Time }, and Token.Id with includesCaseInsensitive (e.g. solana: + mint).

You can run this query in the Bitquery IDE.

query {
Trading {
Tokens(
limit: { count: 1 }
orderBy: { descending: Block_Time }
where: {
Token: {
Id: {
includesCaseInsensitive: "solana:JCsv6w5NGR9NWryUCQLD7gMHbSB9vZRAvgYqJTFKNT3K"
}
}
Interval: { Time: { Duration: { gt: 1 } } }
}
) {
Token {
Name
Id
Address
Symbol
}
Block {
Time
}
Supply {
TotalSupply
FullyDilutedValuationUsd
MarketCap
}
Price {
Average {
Mean
}
Ohlc {
Open
Low
High
Close
}
}
Volume {
Base
BaseAttributedToUsd
Quote
Usd
}
}
}
}

Replace the includesCaseInsensitive value with your token’s solana:<mint_address> id.


How do I stream Solana tokens with market cap above $1 million?

Subscribe when Token.Id matches Solana (solana) and Supply.MarketCap > 1,000,000 (USD).

You can run this subscription in the Bitquery IDE.

subscription {
Trading {
Tokens(
where: {
Token: { Id: { includesCaseInsensitive: "solana" } }
Interval: { Time: { Duration: { gt: 1 } } }
Supply: { MarketCap: { gt: 1000000 } }
}
) {
Currency {
Name
Id
Symbol
}
Token {
Name
Symbol
Id
Address
Network
}
Supply {
TotalSupply
FullyDilutedValuationUsd
MarketCap
}
}
}
}
Threshold and interval

Tune Supply.MarketCap and Interval.Time.Duration for your alerts or dashboards. See Tokens cube for more filters.


How do I get top Solana tokens by market cap?

Ranks tokens on Solana by Supply.MarketCap, with 24h window, 1s interval, $1,000+ USD volume, limitBy per Token_Id, up to 50 rows. Token.Network is Solana.

You can run this query in the Bitquery IDE.

{
Trading {
Tokens(
limit: { count: 50 }
limitBy: { count: 1, by: Token_Id }
orderBy: { descending: Supply_MarketCap }
where: {
Block: { Time: { since_relative: { hours_ago: 24 } } }
Interval: { Time: { Duration: { eq: 1 } } }
Volume: { Usd: { gt: 1000 } }
Token: { Network: { is: "Solana" } }
}
) {
Currency {
Id
Name
Symbol
}
Price {
Average {
Mean(maximum: Block_Time)
}
}
Volume {
Base(maximum: Block_Time)
Quote(maximum: Block_Time)
Usd(maximum: Block_Time)
}
Token {
Network
Symbol
Address
}
Supply {
MarketCap(maximum: Block_Time)
FullyDilutedValuationUsd(maximum: Block_Time)
TotalSupply(maximum: Block_Time)
}
}
}
}

How do I get top Solana tokens by market cap change in 1 hour?

1-hour OHLC (Duration: { eq: 3600 }), ordered by change_mcap: (close − open) × total supply. Token.Network is Solana.

You can run this query in the Bitquery IDE.

{
Trading {
Tokens(
limit: { count: 50 }
orderBy: { descendingByField: "change_mcap" }
where: {
Interval: { Time: { Duration: { eq: 3600 } } }
Token: { Network: { is: "Solana" } }
}
) {
Currency {
Id
Name
Symbol
}
Token {
Network
Symbol
Address
}
Supply {
MarketCap
FullyDilutedValuationUsd
CirculatingSupply
TotalSupply
MaxSupply
}
change_mcap: calculate(
expression: "($Price_Ohlc_Close-$Price_Ohlc_Open) * Supply_TotalSupply"
)
Price {
Ohlc {
Open
Close
}
}
}
}
}