USDT API
USDT (Tether) carries a large share of on-chain payments and trading across many blockchains. The queries below cover its price across networks, and its payments (transfers), trades, reserve and balances on Solana, with a live stream where one exists.
Most USDT volume lives on Tron: the Tron USDT API page covers tracing and streaming every TRC-20 transfer.
ProductUsing this in production? See the Tron USDT API page for plans, free trial and enterprise delivery options.
USDT Price API
Get real-time and historical USDT prices, OHLCV, and moving averages across supported networks and markets.
🔗 Stream Example
🔗 API Example
subscription {
Trading {
Tokens(
where: {Interval: {Time: {Duration: {eq: 1}}}, Currency: {Id: {is: "usdt"}}}
) {
Currency{
Id
}
Token {
Address
Id
IsNative
Name
Network
Name
Symbol
TokenId
}
Block {
Date
Time
Timestamp
}
Interval {
Time {
Start
Duration
End
}
}
Volume {
Base
Quote
Usd
}
Price {
IsQuotedInUsd
Ohlc {
Close
High
Low
Open
}
Average {
ExponentialMoving
Mean
SimpleMoving
WeightedSimpleMoving
}
}
}
}
}
query {
Trading {
Tokens(
limit:{count:10}
orderBy:{descending:Block_Time}
where: {Interval: {Time: {Duration: {eq: 1}}}, Currency: {Id: {is: "usdt"}}}
) {
Currency{
Id
}
Token {
Address
Id
IsNative
Name
Network
Name
Symbol
TokenId
}
Block {
Date
Time
Timestamp
}
Interval {
Time {
Start
Duration
End
}
}
Volume {
Base
Quote
Usd
}
Price {
IsQuotedInUsd
Ohlc {
Close
High
Low
Open
}
Average {
ExponentialMoving
Mean
SimpleMoving
WeightedSimpleMoving
}
}
}
}
}
USDT Payments API
Track live USDT transfers, such as payments and settlements, in real time with this stream or API:
🔗 Stream Example
🔗 API Example
subscription {
Solana {
Transfers(
where: {Transfer: {Currency: {MintAddress: {in: ["Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"]}}}}
) {
Transfer {
Amount
AmountInUSD
Sender {
Address
Owner
}
Receiver {
Address
Owner
}
Currency {
Symbol
Name
MintAddress
}
}
Instruction {
Program {
Method
}
}
Block {
Time
Height
Slot
}
Transaction {
Signature
Signer
Fee
FeeInUSD
FeePayer
}
}
}
}
{
Solana {
Transfers(
orderBy: {descending: Block_Time}
limit: {count: 100}
where: {Transfer: {Currency: {MintAddress: {is: "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"}}}}
) {
Transfer {
Amount
AmountInUSD
Sender {
Address
Owner
}
Receiver {
Address
Owner
}
Currency {
Symbol
Name
MintAddress
}
}
Instruction {
Program {
Method
}
}
Block {
Time
Height
Slot
}
Transaction {
Signature
Signer
Fee
FeeInUSD
FeePayer
}
}
}
}
USDT Trades API
Analyze USDT trading activity on DEXs.
The example below covers Solana.
🔗 Stream Example
🔗 API Example
subscription {
Solana {
DEXTrades (where:{any:[{Trade:{Buy:{Currency:{MintAddress:{is:"Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"}}}}},{Trade:{Sell:{Currency:{MintAddress:{is:"Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"}}}}}]}){
Block{
Time
Slot
}
Transaction{
Signature
Index
Result{
Success
}
}
Trade {
Index
Dex {
ProgramAddress
ProtocolFamily
ProtocolName
}
Buy {
Amount
Account {
Address
}
Currency {
MetadataAddress
Key
MintAddress
IsMutable
EditionNonce
Decimals
CollectionAddress
Fungible
Symbol
Native
Name
}
Price
PriceInUSD
Order {
LimitPrice
LimitAmount
OrderId
}
}
Market {
MarketAddress
}
Sell {
Account {
Address
}
Currency {
IsMutable
Decimals
CollectionAddress
Fungible
Symbol
Native
Name
}
Price
PriceInUSD
}
}
}
}
}
query {
Solana {
DEXTrades (
limit:{count:100}
orderBy:{descending:Block_Time}
where:{any:[{Trade:{Buy:{Currency:{MintAddress:{is:"Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"}}}}},{Trade:{Sell:{Currency:{MintAddress:{is:"Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"}}}}}]}){
Block{
Time
Slot
}
Transaction{
Signature
Index
Result{
Success
}
}
Trade {
Index
Dex {
ProgramAddress
ProtocolFamily
ProtocolName
}
Buy {
Amount
Account {
Address
}
Currency {
MetadataAddress
Key
MintAddress
IsMutable
EditionNonce
Decimals
CollectionAddress
Fungible
Symbol
Native
Name
}
Price
PriceInUSD
Order {
LimitPrice
LimitAmount
OrderId
}
}
Market {
MarketAddress
}
Sell {
Account {
Address
}
Currency {
IsMutable
Decimals
CollectionAddress
Fungible
Symbol
Native
Name
}
Price
PriceInUSD
}
}
}
}
}
USDT Reserve API
Monitor the USDT reserve on Solana, or get its latest value, with the stream or query below.
🔗 Stream Example
🔗 API Example
subscription{
Solana {
TokenSupplyUpdates(
where: {TokenSupplyUpdate: {Currency: {MintAddress: {is: "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"}}}}
) {
TokenSupplyUpdate {
Amount
Currency {
MintAddress
Name
}
PreBalance
PostBalance
}
}
}
}
{
Solana {
TokenSupplyUpdates(
limit:{count:1}
orderBy:{descending:Block_Time}
where: {TokenSupplyUpdate: {Currency: {MintAddress: {is: "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"}}}}
) {
TokenSupplyUpdate {
Amount
Currency {
MintAddress
Name
}
PreBalance
PostBalance
}
}
}
}
USDT Balance API
Query the balance of one address, for compliance checks and analytics.
USDT Balance of an address
The query below returns the balance of 9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM on Solana. It reads V2 BalanceUpdates, which keep about 8 hours of balance changes, so it returns nothing for an address whose balance has not changed in that time.
query MyQuery {
Solana {
BalanceUpdates(
where: {BalanceUpdate: {Account: {Owner: {is: "9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM"}}, Currency: {MintAddress: {is: "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"}}}}
orderBy: {descendingByField: "BalanceUpdate_Balance_maximum"}
) {
BalanceUpdate {
Balance: PostBalance(maximum: Block_Slot)
Currency {
Name
Symbol
}
}
}
}
}
USDT Top Holders
Bitquery does not serve a complete list of the largest USDT holders on Solana, so this section has no query.
- V2
BalanceUpdateskeeps about 8 hours of balance changes, so it misses every account that did not move in that time. On 9 October 2026 a top-100 query found 4 of the 10 largest token accounts. It missed the largest one, which held 852,550,053 USDT, 22% of the supply on Solana. - V1 transfers have the full history, but a balance needs every transfer since the token was first minted on Solana. V1 refuses that query because its estimated run time is over the 2,000-second limit. On 7 October 2026 alone, 160,703 addresses received the token, so one day of history already needs at least 7 requests of 25,000 rows each.
Notes & Best Practices
- Prefer subscriptions (streams) for real-time detection (payments, trades).
- Use date ranges and pagination for historical analyses at scale.
- Join across entities (holders, transfers, trades) to build richer analytics.
- For multi-chain setups, run identical queries across networks and unify downstream.
TronandEVMare separate top-level selectors, so you can alias several in one request and compare a chain-by-chain breakdown without multiple round trips — see USDT across chains in one request.
Chain-specific USDT pages
- TRC20 USDT API (Tron) — Tron carries the largest share of USDT transfer activity: live transfers, whale holders, exchange deposit flows and mempool visibility.
Need help crafting a query or subscription? Message us on support.
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.