The amount of quoteToken involved in the swap. For example, if quoteToken is USDC for a USDC/WETH pair, amountNonLiquidityToken would be the amount of USDC involved in the swap.
priceBaseToken
String
The price per quoteToken at the time of the swap in the network’s base token. For example, if quoteToken is USDC for a USDC/WETH pair on ETH network, priceBaseToken would the price of USDC in ETH.
priceBaseTokenTotal
String
The total amount of quoteToken involved in the swap in the network’s base token (amountNonLiquidityToken x priceBaseToken).
priceUsd
String
The price per quoteToken at the time of the swap in USD. For example, if quoteToken is USDC for a USDC/WETH pair on ETH network, priceBaseToken would the price of USDC in USD ($1.00).
priceUsdTotal
String
The total amount of quoteToken involved in the swap in USD (amountNonLiquidityToken x priceUsd).
The amount of token0 added or removed from the pair.
amount1
String
The amount of token1 added or removed from the pair.
amount0Shifted
String
The amount of token0 added or removed from the pair, adjusted by the number of decimals in the token. For example, if amount0 is in WEI, amount0Shifted will be in ETH.
amount1Shifted
String
The amount of token1 added or removed from the pair, adjusted by the number of decimals in the token. For example, USDC amount1Shifted will be by 6 decimals.
This subscription is Solana only. Unconfirmed event data reflects transactions that have not yet been finalized on-chain. Events may change or be dropped once transactions are confirmed.
Subscribe by id (format pairAddress:networkId) to stream unconfirmed transactions for a specific pair
Alternatively, use address + networkId to identify the pair
Solana only — this subscription streams events from unconfirmed (pending) transactions for the lowest possible latency
Set quoteToken to token0 or token1 to control which token is treated as the base for display
The data field uses a union type — use inline fragments (... on UnconfirmedSwapEventData) to access swap-specific fields like priceUsd and amountNonLiquidityToken
Use onUnconfirmedEventsCreated when you need the fastest possible trade feed on Solana and can tolerate the data being unconfirmed. Use onEventsCreated for confirmed, finalized events with richer metadata like walletAge, walletLabels, and sandwich attack labels. Most applications should use onEventsCreated.
Can unconfirmed events change after they're received?
Yes. Since the data is from unconfirmed transactions, events can fail, be reordered, or be dropped before finalization. Treat unconfirmed events as provisional.
Why is the data field a union type?
The data field returns different shapes depending on the event type. Swap events return UnconfirmedSwapEventData with price and amount fields, while liquidity events (Mint/Burn) return UnconfirmedLiquidityChangeEventData with amount0/amount1 fields. Use inline fragments to query the fields you need.
Is this available on chains other than Solana?
No. Unconfirmed event data is currently only available on Solana (networkId: 1399811149).