Aggregator Trades

This table contains aggregator trades that are direct program calls to an aggregator program which in turn calls one or more liquidity sources to execute the trade.

solana.dex.aggregator_trades currently includes the following aggregator programs:

Program

raydium-router

jupiter-aggregator-v2

jupiter-aggregator-v3

jupiter-aggregator-v4

jupiter-aggregator-v5

jupiter-aggregator-v5.1

jupiter-aggregator-v6

saber-router

photon

Most of the columns in this table have the same meaning as the ones in trades. Main differences:

  • The aggregators use a variety of fill sources to fill the trade order. These can be found in the column FILL_SOURCES.

  • This table has a USD_AMOUNTS column to gain visibility of the amounts traded at each of the hops.

Notes on referrers

  • There is a class of aggregators termed 'referrers' who do not using a custom program to call their fill sources. Instead, the referrers call existing aggregators/AMMs in a direct instruction, but attach a subsequent instruction to transfer a fee for usage. e.g. of a pumpfun initiated by photon

  • In our dataset, aggregator trades are represented with aggregator=<aggregator> and program_id=<aggregator's program_id>

  • In contrast, referrer initiated trades are represented with aggregator=<referrer> and program_id=<underlying aggregator/amm's program id>

Known gaps

  • Due to lack of the most updated IDL, okx aggregator decoding fails for instruction methods FillOrderByResolver PlatformFeeSplProxySwap PlatformFeeSolProxySwap CommissionFillOrder. Trades for these methods will be backfilled when IDL is available. Collectively, it is estimated that these methods take up 0.5-1% of okx aggregator swaps

  • Due to lack of the most updated IDL, jupiter v6 aggregator decoding fails for a small number of swaps involving fill sources Perena (NUMERUNsFCP3kuNmWZuXtm1AaQCPj9uw6Guv2Ekoi5P) and Guacswap (Guacswap). Trades for these fillsources will be backfilled when IDL is available. Collectively, it is estimated that these fill sources account for < 0.5% of jupiter v6 swap volume.

Table Columns

Column Name
Description
Type
Example

aggregator

varchar

jupiter-v4-aggregator

sender_address

The address of the sender emitted on the swap event logs. This can be a router or pool address, which is different from the transaction initatior transaction_from_address that initiated the swap.

varchar

9doNJz52PMd8bi3FKRV9gfXa5nXLDjoW1SBVMbmAuuSh

to_address

Address where the token is being transferred to.

varchar

9doNJz52PMd8bi3FKRV9gfXa5nXLDjoW1SBVMbmAuuSh

sender_token_acc

Address of the account sending the token.

varchar

GaamrfkoR862pJDUBPzzrdZny4RSNFxUr8f7eRYRKqrq

to_token_acc

Address of the account receiving the token.

varchar

Dv7HRmd6MTPghRpLSr6aS6y9z638E6Apx3W7w5CabNrR

token_sold_mint

Mint address of the token sold.

varchar

7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj

token_sold_symbol

Symbol of the token sold.

varchar

stSOL

token_sold_amount_raw

Raw amount of tokens sold (unnormalized).

float

428,240,429

token_sold_amount_raw_str

Raw amount of tokens sold (unnormalized) in string.

varchar

428240429

token_sold_amount

Amount of tokens sold.

float

0.428240429

token_sold_amount_str

Amount of tokens sold in string.

varchar

0.428240429

usd_sold_amount

Amount of token sold in USD value.

float

10.01002788

usd_sold_exchange_rate

USD exchange rate of the token sold.

float

23.3748172

token_bought_mint

Mint address of the token bought.

varchar

So11111111111111111111111111111111111111112

token_bought_symbol

Symbol of the token bought.

varchar

SOL

token_bought_amount_raw

Raw amount of tokens bought (unnormalized).

float

472,388,367

token_bought_amount_raw_str

Raw amount of tokens bought (unnormalized) in string.

varchar

472388367

token_bought_amount

Amount of tokens bought.

float

0.472388367

token_bought_amount_str

Amount of tokens bought in string.

varchar

0.472388367

usd_bought_amount

Amount of token bought in USD value.

float

9.995737846

usd_bought_exchange_rate

USD exchange rate of the token bought.

float

21.16

usd_amount

USD value of the token amount transferred.

float

9.995737846

fill_sources

The underlying fill sources that are used to fulfil the trade

variant

[ "orca|orca-v2", "raydium|raydium-clmm", "raydium|raydium-v4", "raydium|raydium-clmm" ]

usd_amounts

The USD amounts traded at each of the fill sources.

variant

[ "12.859238804", "12.818011912", "8.575348968", "8.548017279" ]

tokens_sold_symbols

Array of tokens bought.

variant

[ "soBTC", "mSOL", "soBTC", "stSOL" ]

tokens_bought_symbols

Array of tokens sold.

variant

[ "mSOL", "SOL", "stSOL", "SOL" ]

token_pairs

Array of token pairs traded.

variant

[ "soBTC-mSOL", "mSOL-SOL", "soBTC-stSOL", "stSOL-SOL" ]

signer

Address of the transaction signer.

varchar

9doNJz52PMd8bi3FKRV9gfXa5nXLDjoW1SBVMbmAuuSh

block_slot

Block slot of the transfer.

number

192,826,770

block_height

Block height of the transfer

number

175,699,063

block_timestamp

Block timestamp of the transfer.

timestamp_ntz

2023-05-08 16:47:45

block_hash

Block hash of the transfer.

varchar

xSiG9AgdNfgKRhXyrd92EgLuQ5N6NVURdHNFN5U3TPM

txn_id

Transaction ID of the transfer.

varchar

2HtfMAqb1meoJHB1kmDvPzfZWpjDu3JYV5cmruftATE2VpgASSEUtjsYdc3CD86vyM9RJAGMZDHx6ZFM5VvgiJMX

txn_index

Transaction Index of the transfer.

number

747

instruction_index

Transfer instruction index.

number

0

inner_instruction_index

Transfer inner instruction index.

number

4

program_id

varchar

SSwpkEEcbUqx4vtoEByFjSkhKdCT862DNVb52nZg1UZ

accounts

Array of pubkey addresses from the account_keys field

variant

<too long to display>

data

Data field.

varchar

eDt4c2UN1PNdapr97JsGk7

selector

The first bytes of the program data

varchar

e5

unique_id

Unique id of the trade.

varchar

txn_id-2HtfMAqb1meoJHB1kmDvPzfZWpjDu3JYV5cmruftATE2VpgASSEUtjsYdc3CD86vyM9RJAGMZDHx6ZFM5VvgiJMX_i_index-0_ii_index-4

Last updated

Was this helpful?