Solana Jupiter API - Live Swaps, Limit Orders, DEX Aggregator Data
For real-time + last ~30 days, use the Trading cube — Trading.Trades gives you clean, MEV-filtered Jupiter swaps with USD price, market cap, and supply on every row across 10 chains in one API. Use this page when you need historical Jupiter data older than ~30 days, raw per-swap detail, or call / event context.
Get ultra low latency Jupiter DEX Aggregator swaps, limit orders, routing data, and trading analytics from Jupiter API, Streams and Data Dumps. The below GraphQL APIs and Streams are examples of data points you can get with Bitquery. If you have any question on other data points reach out to support
Need zero-latency Jupiter data? Read about our Shred Streams and Contact us for a Trial.
You may also be interested in:
- Pump.fun APIs ➤
- Raydium APIs ➤
- Orca APIs ➤
- Serum APIs ➤
- Solana RFQ API ➤: Jupiter Z (
order_engine) fills, which are in DEX trade data from 29 September 2026, and Jupiter Limit Order v2, which is not
To query or stream data via graphQL outside the Bitquery IDE, you need to generate an API access token.
Follow the steps here to create one: How to generate Bitquery API token ➤
Table of Contents
1. Jupiter Swaps & Trading Data
2. Jupiter Limit Orders
3. Video Tutorials
Jupiter Swaps & Trading Data
Track Latest Swaps on Jupiter
Get real-time Jupiter aggregator swap data including tokens involved, routing paths, and account details.
We monitor Jupiter's program address JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 for sharedAccountsRoute instructions to track swap activity.
The query returns tokens involved in swaps, source and destination addresses, and routing information.
Jupiter Latest Swaps — Stream ➤
Click to expand GraphQL query
subscription {
Solana {
Instructions(
where: {
Instruction: {
Program: {
Address: { is: "JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4" }
Method: { is: "sharedAccountsRoute" }
}
}
Transaction: { Result: { Success: true } }
}
) {
Transaction {
Signature
}
Instruction {
Program {
Method
AccountNames
Address
}
Accounts {
Address
IsWritable
Token {
Mint
Owner
ProgramId
}
}
}
}
}
}
Monitor Jupiter Swap Activity
Track comprehensive Jupiter swap data including token details, account information, and routing paths for advanced analytics.
Click to expand GraphQL query
subscription {
Solana {
Instructions(
where: {
Instruction: {
Program: {
Address: { is: "JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4" }
Method: { is: "sharedAccountsRoute" }
}
}
Transaction: { Result: { Success: true } }
}
) {
Transaction {
Signature
}
Instruction {
Program {
Method
AccountNames
Address
}
Accounts {
Address
IsWritable
Token {
Mint
Owner
ProgramId
}
}
}
}
}
}
Jupiter Limit Orders
Track Latest Created Limit Orders on Jupiter
This stream shows each new Jupiter limit order as it is created, with its tokens and maker address.
The query filters Jupiter's order program jupoNjAxXgZ4rjzxzPMP4oxduvQsQtZzyknqvzYNrNu for initializeOrder calls.
The query returns input/output mint addresses, maker addresses, reserve addresses, and order configuration details.
Jupiter Limit Order Creation — Stream ➤
Click to expand GraphQL query
subscription {
Solana {
Instructions(
where: {
Instruction: {
Program: {
Method: { is: "initializeOrder" }
Address: { is: "jupoNjAxXgZ4rjzxzPMP4oxduvQsQtZzyknqvzYNrNu" }
}
}
Transaction: { Result: { Success: true } }
}
) {
Transaction {
Signature
}
Instruction {
Accounts {
Address
IsWritable
Token {
Mint
Owner
ProgramId
}
}
AncestorIndexes
BalanceUpdatesCount
CallPath
CallerIndex
Data
Depth
ExternalSeqNumber
InternalSeqNumber
Index
Logs
Program {
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
}
}
}
}
}
Block {
Time
}
}
}
}
Track Latest Cancel Limit Order Transactions on Jupiter
Each cancelled order streams in with its maker and the tokens involved.
The query uses the same program, jupoNjAxXgZ4rjzxzPMP4oxduvQsQtZzyknqvzYNrNu, filtered to cancelOrder calls.
The query returns input mint addresses, maker addresses, reserve addresses, and cancellation details.
Jupiter Limit Order Cancellation — Stream ➤
Click to expand GraphQL query
subscription {
Solana {
Instructions(
where: {
Instruction: {
Program: {
Method: { is: "cancelOrder" }
Address: { is: "jupoNjAxXgZ4rjzxzPMP4oxduvQsQtZzyknqvzYNrNu" }
}
}
Transaction: { Result: { Success: true } }
}
) {
Transaction {
Signature
}
Instruction {
Accounts {
Address
IsWritable
Token {
Mint
Owner
ProgramId
}
}
AncestorIndexes
BalanceUpdatesCount
CallPath
CallerIndex
Data
Depth
ExternalSeqNumber
InternalSeqNumber
Index
Logs
Program {
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
}
}
}
}
}
Block {
Time
}
}
}
}
Track Latest Cancel Expired Limit Order Transactions on Jupiter
Orders closed after they expired show up here, with the transaction and its accounts.
This time the filter is cancelExpiredOrder.
The query returns transaction signatures, account details, and program arguments for expired order cancellations.
Jupiter Expired Order Cancellation — Stream ➤
Click to expand GraphQL query
subscription {
Solana {
Instructions(
where: {
Instruction: {
Program: {
Method: { is: "cancelExpiredOrder" }
Address: { is: "jupoNjAxXgZ4rjzxzPMP4oxduvQsQtZzyknqvzYNrNu" }
}
}
Transaction: { Result: { Success: true } }
}
) {
Transaction {
Signature
}
Instruction {
Accounts {
Address
IsWritable
Token {
Mint
Owner
ProgramId
}
}
AncestorIndexes
BalanceUpdatesCount
CallPath
CallerIndex
Data
Depth
ExternalSeqNumber
InternalSeqNumber
Index
Logs
Program {
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
}
}
}
}
}
Block {
Time
}
}
}
}
Video Tutorials
Video Tutorial | How to Track Swaps on Jupiter Aggregator on Solana in Realtime
Video Tutorial | How to Track Jupiter Limit Order Creation and Cancellation
Frequently Asked Questions
Does Bitquery index Jupiter swaps?
Yes. Jupiter aggregator routes appear in Solana DEXTrades — filter by Jupiter protocol or program fields in the examples.
How do I find trending tokens by Jupiter volume?
Aggregate DEXTrades by token mint over a time window and order by USD volume or trade count.
Ready to run this in production?
Get an API key and run these queries in minutes, or talk to us about plans and enterprise delivery.