Skip to main content

Robinhood Trades API & Streams

Bitquery exposes Robinhood trade and price data through the Trading APIs. Use these queries and real-time GraphQL subscriptions to get live trades, USD prices, OHLCV/K-line candles, market cap, whale trades, top traders, and token leaderboards on Robinhood — all scoped with the bid:robinhood network filter.

API Key Required

To query or stream data outside the Bitquery IDE, you need an API access token.

Follow the steps here: How to generate Bitquery API token ➤


Network identifier

FieldValueNotes
NetworkBidbid:robinhoodFilter to select Robinhood data (indexed and faster)
NetworkRobinhoodFilter to select Robinhood data

Example tokens used on this page

ItemValue
ASSETH (AssetHood, example token)0x9077841e155faaf4e4e89470822c2187eeef7777
Example pool trading ASSETH0xbbaefcfcd7b92ed0df1a3eec22a21ba6beb0b52b
SOLdiers (first-buyers example)0xaf81aa091665c60cfa172f86a5a8d6b437a79353
WETH0x0bd7d308f8e1639fab988df18a8011f41eacad73

These are live examples — meme tokens go quiet over time, so swap in any token, pool, or trader you care about.


Real-Time Trades on Robinhood

Stream real-time trades on Robinhood via a GraphQL subscription on Trading.Trades that includes details such as Trader Address, Base and Quote Currency Details, amounts, type of trade (buy or sell), market cap and transaction details.

▶️ Run in IDE

subscription {
Trading {
Trades(
where: {
Pair: {
Market: {
NetworkBid: {
is: "bid:robinhood"
}
}
}
}) {
Block {
Time
}
Trader{
Address
}
Amounts{
Base
Quote
}
AmountsInUsd{
Base
}
Pair{
Token{
Name
Symbol
Address
}
QuoteToken{
Name
Symbol
Address
}
}
Side
Supply{
FullyDilutedValuationUsd
MarketCap
}
TransactionHeader{
Hash
}
}
}
}
WebSocket connection

Run subscriptions against wss://streaming.bitquery.io/graphql?token=YOUR_TOKEN with the graphql-transport-ws subprotocol (connection_initconnection_acksubscribe). See WebSocket authentication.

Prefer Kafka for the firehose

Consuming the full Robinhood trade feed continuously? Bitquery also delivers DEX data as Kafka streams (protobuf topic robinhood.dextrades.proto) with consumer-group scaling and replay. See Kafka Streaming Concepts.


Historical Trades on Robinhood

The Trading APIs cover roughly the last 30 days of history (for newer networks, data starts when Bitquery indexing began — measure the exact coverage with this query). This example pulls a past window using relative time bounds.

▶️ Run in IDE

{
Trading {
Trades(
limit: {count: 50}
orderBy: {ascending: Block_Date}
where: {
Block: {
Time: {
since_relative: {weeks_ago: 3}
till_relative: {weeks_ago: 1}
}
}
Pair: {
Market: {
NetworkBid: {
is: "bid:robinhood"
}
}
}
}) {
Block {
Time
}
Trader{
Address
}
Amounts{
Base
Quote
}
AmountsInUsd{
Base
}
Pair{
Token{
Name
Symbol
Address
}
QuoteToken{
Name
Symbol
Address
}
}
Side
Supply{
FullyDilutedValuationUsd
MarketCap
}
TransactionHeader{
Hash
}
}
}
}

Latest Trades on Robinhood

Query the most recent trades across all Robinhood tokens — the query counterpart to the real-time stream above — ordered by newest first.

{
Trading {
Trades(
limit: { count: 50 }
orderBy: { descending: Block_Time }
where: {
Pair: {
Market: {
NetworkBid: { is: "bid:robinhood" }
}
}
}
) {
Block {
Time
}
Trader {
Address
}
Amounts {
Base
Quote
}
AmountsInUsd {
Base
}
Pair {
Token {
Name
Symbol
Address
}
QuoteToken {
Name
Symbol
Address
}
}
Side
Supply {
FullyDilutedValuationUsd
MarketCap
}
TransactionHeader {
Hash
}
}
}
}

Whale Trades on Robinhood

Fetch large trades by filtering on USD value. This example returns trades of at least $10,000 — adjust the AmountsInUsd.Base threshold as needed.

{
Trading {
Trades(
limit: {count: 50}
orderBy: {descending: Block_Time}
where: {Pair: {Market: {NetworkBid: {is: "bid:robinhood"}}}, AmountsInUsd: {Base: {ge: 10000}}}
) {
Block {
Time
}
Trader {
Address
}
Amounts {
Base
Quote
}
AmountsInUsd {
Base
}
Pair {
Token {
Name
Symbol
Address
}
QuoteToken {
Name
Symbol
Address
}
}
Side
Supply {
FullyDilutedValuationUsd
MarketCap
}
TransactionHeader {
Hash
}
}
}
}

Real-Time Trades for a Specific Token

Using this GraphQL stream you can get real-time trades for a specific token (example: AssetHood, ASSETH) with details such as trader address, token details, marketcap, FDV and transaction hash.

▶️ Run in IDE

subscription {
Trading {
Trades(
where: {
Pair: {
Token: {
Address: {
is: "0x9077841e155faaf4e4e89470822c2187eeef7777"
}
}
Market: {
NetworkBid: {
is: "bid:robinhood"
}
}
}
}) {
Block {
Time
}
Trader{
Address
}
Amounts{
Base
Quote
}
AmountsInUsd{
Base
}
Pair{
Token{
Name
Symbol
Address
}
QuoteToken{
Name
Symbol
Address
}
}
Side
Supply{
FullyDilutedValuationUsd
MarketCap
}
TransactionHeader{
Hash
}
}
}
}

Trades for a Specific Pair or Pool

Scope trades to a single liquidity pool using Pool.Address — useful when a token trades across multiple pools and you want just one.

{
Trading {
Trades(
limit: { count: 50 }
orderBy: { descending: Block_Time }
where: {
Pair: {
Market: {
NetworkBid: { is: "bid:robinhood" }
}
Pool: {
Address: { is: "0xbbaefcfcd7b92ed0df1a3eec22a21ba6beb0b52b" }
}
}
}
) {
Block {
Time
}
Trader {
Address
}
Amounts {
Base
Quote
}
AmountsInUsd {
Base
}
Pair {
Pool {
Address
}
Token {
Name
Symbol
Address
}
QuoteToken {
Name
Symbol
Address
}
}
Side
Supply {
FullyDilutedValuationUsd
MarketCap
}
TransactionHeader {
Hash
}
}
}
}

First Buyers of a Token on Robinhood

Get the earliest trades for a token (example: the SOLdiers meme token), ordered oldest first, to find the first buyers after launch. Filtered to buys here; remove the Side filter for first trades of any side.

{
Trading {
Trades(
limit: { count: 50 }
orderBy: { ascending: [Block_Time, TransactionHeader_Index] }
where: {
Pair: {
Token: {
Address: { is: "0xaf81aa091665c60cfa172f86a5a8d6b437a79353" }
}
Market: {
NetworkBid: { is: "bid:robinhood" }
}
}
Side: { is: "Buy" }
}
) {
Block {
Time
}
Trader {
Address
}
Amounts {
Base
Quote
}
AmountsInUsd {
Base
}
Pair {
Token {
Name
Symbol
Address
}
QuoteToken {
Name
Symbol
Address
}
}
Side
TransactionHeader {
Hash
}
}
}
}

Trades by a Trader

Using this GraphQL API endpoint you can get token trades by a trader with details such as trade amount, trade type, token details, marketcap, FDV and transaction hash.

▶️ Run in IDE

{
Trading {
Trades(
limit: { count: 50 }
orderBy: { descending: Block_Time }
where: {
Trader:{
Address:{
is: "0x39d83c23dbf34fa574b9afbb0c0e364bdfd97099"
}
}
Pair: {
Market: {
NetworkBid: {
is: "bid:robinhood"
}
}
}
}) {
Block {
Time
}
Trader{
Address
}
Amounts{
Base
Quote
}
AmountsInUsd{
Base
}
Pair{
Token{
Name
Symbol
Address
}
QuoteToken{
Name
Symbol
Address
}
}
Side
Supply{
FullyDilutedValuationUsd
MarketCap
}
TransactionHeader{
Hash
}
}
}
}

Top Traders of a Token on Robinhood

Rank the biggest traders of a specific token by total USD volume, with a buy/sell split and trade count. Aggregates Trading.Trades grouped by trader.

{
Trading {
Trades(
limit: { count: 50 }
orderBy: { descendingByField: "volume_usd" }
where: {
Pair: {
Token: {
Address: { is: "0x9077841e155faaf4e4e89470822c2187eeef7777" }
}
Market: {
NetworkBid: { is: "bid:robinhood" }
}
}
}
) {
Trader {
Address
}
volume_usd: sum(of: AmountsInUsd_Base)
bought_usd: sum(
of: AmountsInUsd_Base
if: { Side: { is: "Buy" } }
)
sold_usd: sum(
of: AmountsInUsd_Base
if: { Side: { is: "Sell" } }
)
trades: count
}
}
}

Latest Price of a Token on Robinhood

Get the latest USD normalised price of a token on Robinhood network using this API endpoint using Trading.Tokens.

A single token might be traded on multiple pools, with each pool having a difference in price. As for the price returned by Bitquery we provide the weighted average price across all pools. To know more about the price calculation refer to this document.

If you want to monitor price for a particular pool, we suggest usage of Trading.Pairs instead of Trading.Tokens where you could specify the pool address.

▶️ Run in IDE

{
Trading {
Tokens(
where: {Token: {Address: {is: "0x9077841e155faaf4e4e89470822c2187eeef7777"}, NetworkBid: {is: "bid:robinhood"}}, Interval: {Time: {Duration: {eq: 1}}}}
orderBy: {descending: Interval_Time_End}
limit: {count: 1}
) {
latest_price: Price {
Ohlc {
Close
}
}
}
}
}

Latest Price of a Token for a Liquidity Pool

This API endpoint retrieves the latest price of a token for a particular token pair or liquidity pool using the Trading.Pairs cube.

▶️ Run in IDE

{
Trading {
Pairs(
where: {
Pool: {
Address:{
is: "0xbbaefcfcd7b92ed0df1a3eec22a21ba6beb0b52b"
}
}
Token: {
Address: {
is: "0x9077841e155faaf4e4e89470822c2187eeef7777"
},
NetworkBid: {is: "bid:robinhood"}},
Interval: {Time: {Duration: {eq: 1}}}
}
orderBy: {descending: Interval_Time_End}
limit: {count: 1}
) {
Pool{
Address
}
latest_price: Price {
Ohlc {
Close
}
}
}
}
}

Market Cap, FDV and Supply of a Token

Get the latest market cap, fully-diluted valuation, supply, and price for a single Robinhood token in one row. limit: 1 with orderBy: { descending: Interval_Time_Start } returns the most recent interval — the current snapshot.

{
Trading {
Tokens(
limit: { count: 1 }
orderBy: { descending: Interval_Time_Start }
where: {
Token: {
Address: { is: "0x9077841e155faaf4e4e89470822c2187eeef7777" }
NetworkBid: { is: "bid:robinhood" }
}
Interval: { Time: { Duration: { eq: 1 } } }
}
) {
Token {
Name
Symbol
Address
}
Price {
Ohlc {
Close
}
}
Supply {
MarketCap
FullyDilutedValuationUsd
CirculatingSupply
TotalSupply
MaxSupply
}
Volume {
Usd
}
}
}
}

Token Supply on Robinhood

While Trading.Tokens (above) returns supply alongside price and market cap, you can also read total supply directly from the EVM.TransactionBalances cube. TokenBalance.TotalSupply is decimal-normalized (whole tokens). See the full guide in the Robinhood Token Supply API.

Latest Supply of a Token

Get the most recent total supply for a single token by filtering on its contract address.

{
EVM(network: robinhood) {
TransactionBalances(
limit: {count: 1}
orderBy: {descending: Block_Time}
where: {TokenBalance: {Currency: {SmartContract: {is: "0x0bd7d308f8e1639fab988df18a8011f41eacad73"}}}}
) {
TokenBalance {
Currency {
Symbol
HasURI
SmartContract
}
TotalSupply
}
}
}
}

Real-Time Supply Stream

Stream live total-supply updates across Robinhood tokens. The SmartContract: {not: "0x"} filter excludes the native coin.

subscription {
EVM(network: robinhood) {
TransactionBalances(
where: {
TokenBalance: {
Currency: {
SmartContract: {not: "0x"}
}
}
}
) {
TokenBalance {
Currency {
Symbol
HasURI
SmartContract
}
TotalSupply
}
}
}
}

Supply of All Active Tokens

Fetch the latest total supply for every recently active token. limitBy returns one row — the newest supply — per token contract. Keep a limit: unbounded, this returns one row per active token, which can be very large.

{
EVM(network: robinhood) {
TransactionBalances(
limitBy: {by: TokenBalance_Currency_SmartContract, count: 1}
limit: {count: 100}
orderBy: {descending: Block_Time}
where: {TokenBalance: {Currency: {SmartContract: {not: "0x"}}}}
) {
TokenBalance {
Currency {
Symbol
HasURI
SmartContract
}
TotalSupply
}
}
}
}

OHLCV / K-Line Candles for a Token

Token-level OHLCV candles (USD-normalised, weighted across all pools) for charting. This example uses 1-minute candles (Duration: 60); use 300 (5m) or 3600 (1h — the maximum candle) as needed.

{
Trading {
Tokens(
limit: { count: 100 }
orderBy: { descending: Interval_Time_Start }
where: {
Token: {
Address: { is: "0x9077841e155faaf4e4e89470822c2187eeef7777" }
NetworkBid: { is: "bid:robinhood" }
}
Interval: { Time: { Duration: { eq: 60 } } }
}
) {
Interval {
Time {
Start
End
}
}
Price {
Ohlc {
Open
High
Low
Close
}
}
Volume {
Base
Quote
Usd
}
Supply {
MarketCap
FullyDilutedValuationUsd
}
Token {
Name
Symbol
Address
}
}
}
}

Real-Time OHLCV Stream for a Pair on Robinhood

This GraphQL stream for 1 second OHLCV streams the USD normalised OHLC/K-line data for a token pair, and also contains info such as interval start and end time, marketcap, volume and token details for both base and quote tokens.

▶️ Run in IDE

subscription{
Trading {
Pairs(
where: {
Pool: {
Address:{
is: "0xbbaefcfcd7b92ed0df1a3eec22a21ba6beb0b52b"
}
}
Token: {
Address: {
is: "0x9077841e155faaf4e4e89470822c2187eeef7777"
},
NetworkBid: {is: "bid:robinhood"}},
Interval: {Time: {Duration: {eq: 1}}}
}
) {
Interval{
Time{
Start
End
}
}
Price {
Ohlc {
Open
High
Low
Close
}
}
Token{
Name
Symbol
Address
}
QuoteToken{
Name
Symbol
Address
}
Volume{
Base
Quote
Usd
}
Supply{
MarketCap
}
}
}
}

Top Tokens on Robinhood by Volume

Rank the most actively traded Robinhood tokens by USD volume over the last 24 hours, aggregated from 1-second intervals with sum.

{
Trading {
Tokens(
limit: {count: 50}
limitBy: {count: 1, by: Token_Id}
orderBy: {descending: [Volume_Usd]}
where: {Interval: {Time: {Start: {since_relative: {days_ago: 1}}, Duration: {eq: 1}}}, Token: {NetworkBid: {is: "bid:robinhood"}}}
) {
sum(of: Volume_Base)
usd: sum(of: Volume_Usd)
Token {
Name
Symbol
Address
}
Supply {
MarketCap
FullyDilutedValuationUsd
}
}
}
}

Buy vs Sell Pressure for a Token

Gauge demand in one call: buy and sell USD volume, trade counts, and unique traders for a token over a window. Compute net flow client-side as bought_usd − sold_usd.

{
Trading {
Trades(
where: {
Pair: {
Token: { Address: { is: "0x9077841e155faaf4e4e89470822c2187eeef7777" } }
Market: { NetworkBid: { is: "bid:robinhood" } }
}
Block: { Time: { since_relative: { days_ago: 1 } } }
}
) {
bought_usd: sum(of: AmountsInUsd_Base, if: { Side: { is: "Buy" } })
sold_usd: sum(of: AmountsInUsd_Base, if: { Side: { is: "Sell" } })
buys: count(if: { Side: { is: "Buy" } })
sells: count(if: { Side: { is: "Sell" } })
traders: uniq(of: Trader_Address)
}
}
}

Most Active Pools on Robinhood

Rank pools by trade count over the last day, with USD volume and unique traders per pool. Trade count is a more robust ranking key than USD volume, which can be inflated to absurd values on thin meme pools — treat extreme volume_usd readings as suspect.

{
Trading {
Trades(
limit: { count: 20 }
orderBy: { descendingByField: "trades" }
where: {
Pair: { Market: { NetworkBid: { is: "bid:robinhood" } } }
Block: { Time: { since_relative: { days_ago: 1 } } }
}
) {
Pair {
Pool {
Address
}
Market {
Protocol
}
Token {
Symbol
Address
}
QuoteToken {
Symbol
}
}
trades: count
volume_usd: sum(of: AmountsInUsd_Base)
traders: uniq(of: Trader_Address)
}
}
}

Price Watchlist: Latest Price for Multiple Tokens

One latest price per token in a single call — limitBy on Token_Id keeps the newest 1-second interval for each token in the list. Interval.Time.End doubles as a staleness indicator: it is the last time that token actually traded.

{
Trading {
Tokens(
limit: { count: 10 }
limitBy: { by: Token_Id, count: 1 }
orderBy: { descending: Interval_Time_End }
where: {
Token: {
Address: {
in: [
"0x9077841e155faaf4e4e89470822c2187eeef7777"
"0xaf81aa091665c60cfa172f86a5a8d6b437a79353"
]
}
NetworkBid: { is: "bid:robinhood" }
}
Interval: { Time: { Duration: { eq: 1 } } }
}
) {
Token {
Symbol
Address
}
Price {
Ohlc {
Close
}
}
Interval {
Time {
End
}
}
}
}
}

Check the Trading Data Window

Don't guess how far back Trading data reaches — ask for the earliest available trade.

{
Trading {
Trades(
limit: { count: 1 }
orderBy: { ascending: Block_Time }
where: { Pair: { Market: { NetworkBid: { is: "bid:robinhood" } } } }
) {
Block {
Time
}
}
}
}

FAQ

How do I stream Robinhood trades in real time?

Run a GraphQL subscription on Trading.Trades filtered by Pair.Market.NetworkBid: "bid:robinhood". Every matching trade is pushed to your client as it is indexed. Any query on this page can be turned into a stream by switching the operation to subscription.

What is the difference between NetworkBid and Network?

Both scope results to Robinhood. NetworkBid: "bid:robinhood" is the indexed identifier and is faster; Network: "Robinhood" is the human-readable equivalent. Prefer NetworkBid in filters.

How do I get the current price of a Robinhood token?

Use Trading.Tokens for the USD-normalised, pool-weighted price, or Trading.Pairs when you need the price on a specific pool.

Can I get OHLCV / candlestick data for Robinhood tokens?

Yes. Query Trading.Tokens or Trading.Pairs with an Interval.Time.Duration in seconds — from 1 second up to a maximum of 3600 (1 hour) per candle.

How far back does Robinhood trade data go?

The Trading APIs cover real-time data and roughly the last 30 days — for newer networks, data starts when Bitquery indexing began. Measure the exact coverage with the window query. For older history, use the chain-level DEXTrades / DEXTradeByTokens APIs.

How do I measure buy vs sell pressure for a Robinhood token?

Aggregate Trading.Trades with conditional sums — sum(of: AmountsInUsd_Base, if: {Side: {is: "Buy"}}) versus the Sell side — over your window, and compare. See Buy vs Sell Pressure.