Jupiter Perpetuals historical data as Parquet
Every Jupiter Perpetuals instruction and event in Solana history, decoded with an Anchor IDL that we checked against real transactions. Trawl gives you 25 event tables and 59 instruction tables, with a column for each account, argument and field. Calls from other programs (CPI) are in the result too.
Updated
The preset
- Program
- PERPHjGBqRHArX4DySjwM6UJHiR3sWAatqfdBS2qQJu
- Preset
jupiter-perpetuals- Tables
- 25 event tables and 59 instruction tables, and
part-*with the raw bytes of each match - Price
- $4 for one recent epoch, $8.68 for one week of chain
The price is the same for every program: you pay for the archive the scan reads, not for the rows. Pricing.
# ask for a price: a 402 with the quote, no payment yet curl -X POST https://trawl.run/scan \ -H 'Content-Type: application/json' \ -d '{"preset":"jupiter-perpetuals","start_epoch":1058,"end_epoch":1058}' -- then, in DuckDB, on the files of the job SELECT slot, signature, positionRequestKey, transferAmount, collateralCustodyPreSwapAmount FROM 'ev-increase_position_pre_swap_event-*.parquet' ORDER BY slot LIMIT 10;
Add "filter": {"accounts": ["<wallet>"]} to keep only the transactions
that touch one wallet. How a filter changes a preset.
Event tables
One table for each event in the IDL. Each row also has log_index and the context columns. An event
that the program writes two ways gives one row.
ev-create_position_request_eventowner base58 string, pool base58 string, positionKey base58 string, positionSide u8, positionMint base58 string, positionCustody base58 string, positionCollateralMint base58 string, positionCollateralCustody base58 string, positionRequestKey base58 string, positionRequestMint base58 string, sizeUsdDelta u64, collateralDelta u64, priceSlippage u64, jupiterMinimumOut u64, preSwapAmount u64, requestChange u8, openTime i64, referral base58 stringev-instant_create_tpsl_eventowner base58 string, pool base58 string, positionKey base58 string, positionSide u8, positionMint base58 string, positionCustody base58 string, positionCollateralCustody base58 string, positionRequestKey base58 string, positionRequestMint base58 string, sizeUsdDelta u64, collateralDelta u64, entirePosition bool, openTime i64ev-instant_update_tpsl_eventowner base58 string, pool base58 string, positionKey base58 string, positionSide u8, positionMint base58 string, positionCustody base58 string, positionCollateralCustody base58 string, positionRequestKey base58 string, positionRequestMint base58 string, sizeUsdDelta u64, collateralDelta u64, entirePosition bool, updateTime i64ev-close_position_request_evententirePosition bool, executed bool, requestChange u8, requestType u8, side u8, positionRequestKey base58 string, owner base58 string, mint base58 string, amount u64, openTime i64ev-increase_position_eventpositionKey base58 string, positionSide u8, positionCustody base58 string, positionCollateralCustody base58 string, positionSizeUsd u64, positionMint base58 string, positionRequestKey base58 string, positionRequestMint base58 string, positionRequestChange u8, positionRequestType u8, positionRequestCollateralDelta u64, owner base58 string, pool base58 string, sizeUsdDelta u64, collateralUsdDelta u64, collateralTokenDelta u64, price u64, priceSlippage u64, feeToken u64, feeUsd u64, openTime i64, referral base58 string, positionFeeUsd u64, fundingFeeUsd u64, priceImpactFeeUsd u64ev-increase_position_pre_swap_eventpositionRequestKey base58 string, transferAmount u64, collateralCustodyPreSwapAmount u64ev-decrease_position_eventpositionKey base58 string, positionSide u8, positionCustody base58 string, positionCollateralCustody base58 string, positionSizeUsd u64, positionMint base58 string, positionRequestKey base58 string, positionRequestMint base58 string, positionRequestChange u8, positionRequestType u8, hasProfit bool, pnlDelta u64, owner base58 string, pool base58 string, sizeUsdDelta u64, transferAmountUsd u64, transferToken u64, price u64, priceSlippage u64, feeUsd u64, openTime i64, referral base58 string, positionFeeUsd u64, fundingFeeUsd u64, priceImpactFeeUsd u64, originalPositionCollateralUsd u64, positionCollateralUsd u64, positionOpenTime i64, positionPrice u64ev-decrease_position_post_swap_eventpositionRequestKey base58 string, swapAmount u64, jupiterMinimumOut u64ev-liquidate_full_position_eventpositionKey base58 string, positionSide u8, positionCustody base58 string, positionCollateralCustody base58 string, positionCollateralMint base58 string, positionMint base58 string, positionSizeUsd u64, hasProfit bool, pnlDelta u64, owner base58 string, pool base58 string, transferAmountUsd u64, transferToken u64, price u64, feeUsd u64, liquidationFeeUsd u64, openTime i64, positionFeeUsd u64, fundingFeeUsd u64, priceImpactFeeUsd u64, originalPositionCollateralUsd u64, positionCollateralUsd u64, positionOpenTime i64, positionPrice u64ev-pool_swap_eventreceivingCustodyKey base58 string, dispensingCustodyKey base58 string, poolKey base58 string, amountIn u64, amountOut u64, swapUsdAmount u64, amountOutAfterFees u64, feeBps u64, ownerKey base58 string, receivingAccountKey base58 stringev-pool_swap_exact_out_eventreceivingCustodyKey base58 string, dispensingCustodyKey base58 string, poolKey base58 string, amountIn u64, amountInAfterFees u64, amountOut u64, swapUsdAmount u64, feeBps u64, ownerKey base58 string, receivingAccountKey base58 stringev-add_liquidity_eventcustodyKey base58 string, poolKey base58 string, tokenAmountIn u64, prePoolAmountUsd decimal string, tokenAmountUsd u64, feeBps u64, tokenAmountAfterFee u64, mintAmountUsd u64, lpAmount u64, postPoolAmountUsd decimal stringev-remove_liquidity_eventcustodyKey base58 string, poolKey base58 string, lpAmountIn u64, removeAmountUsd u64, feeBps u64, removeTokenAmount u64, tokenAmountAfterFee u64, postPoolAmountUsd decimal stringev-instant_create_limit_order_eventowner base58 string, pool base58 string, positionKey base58 string, positionSide u8, positionMint base58 string, positionCustody base58 string, positionCollateralMint base58 string, positionCollateralCustody base58 string, positionRequestKey base58 string, positionRequestMint base58 string, sizeUsdDelta u64, collateralDelta u64, openTime i64ev-instant_increase_position_eventpositionKey base58 string, positionSide u8, positionCustody base58 string, positionCollateralCustody base58 string, positionSizeUsd u64, positionMint base58 string, owner base58 string, pool base58 string, sizeUsdDelta u64, collateralUsdDelta u64, collateralTokenDelta u64, price u64, priceSlippage u64, feeToken u64, feeUsd u64, openTime i64, referral base58 string, positionFeeUsd u64, fundingFeeUsd u64, priceImpactFeeUsd u64ev-instant_decrease_position_eventpositionKey base58 string, positionSide u8, positionCustody base58 string, positionCollateralCustody base58 string, positionSizeUsd u64, positionMint base58 string, desiredMint base58 string, hasProfit bool, pnlDelta u64, owner base58 string, pool base58 string, sizeUsdDelta u64, transferAmountUsd u64, transferToken u64, price u64, priceSlippage u64, feeUsd u64, openTime i64, referral base58 string, positionFeeUsd u64, fundingFeeUsd u64, originalPositionCollateralUsd u64, positionCollateralUsd u64, priceImpactFeeUsd u64, positionOpenTime i64, positionPrice u64, positionRequest base58 stringev-deposit_collateral_eventowner base58 string, pool base58 string, positionKey base58 string, positionMint base58 string, positionCustody base58 string, depositAmount u64, userTokenAccount base58 string, time i64ev-withdraw_collateral_eventowner base58 string, pool base58 string, positionKey base58 string, positionMint base58 string, positionCustody base58 string, withdrawAmount u64, userTokenAccount base58 string, custody base58 string, previousCollateralAmount u64, collateralAmount u64, collateralAmountUsd u64, marginUsd u64, time i64ev-borrow_from_custody_eventowner base58 string, pool base58 string, positionKey base58 string, positionMint base58 string, positionCustody base58 string, sizeCustodyToken u64, collateralAmount u64, collateralAmountUsd u64, marginUsd u64, updateTime i64ev-repay_to_custody_eventowner base58 string, pool base58 string, positionKey base58 string, positionMint base58 string, positionCustody base58 string, sizeCustodyToken u64, updateTime i64, interest decimal stringev-liquidate_borrow_position_eventpositionKey base58 string, positionCustody base58 string, positionSizeUsd u64, owner base58 string, pool base58 string, collateralLockedInUsd u64, collateralLockedInLp u64, remainingCollateralInLp u64, custodyTokenPrice u64, totalBorrowsInUsd u64, liquidationFeeUsd u64, liquidationTime i64ev-redeem_stake_eventcustody base58 string, stakeAccount base58 string, stakeInfo base58 string, stakeRewards u64, custodyTotalStakedAmount u64, currentStakedAmount u64, totalStakingRewards u64, redeemTime i64ev-withdraw_stake_eventcustody base58 string, stakeAccount base58 string, stakeInfo base58 string, stakeRewards u64, custodyTotalStakedAmount u64, totalStakingRewards u64, withdrawAmount u64, withdrawTime i64ev-delegate_stake_eventcustody base58 string, stakeAccount base58 string, stakeInfo base58 string, custodyTotalStakedAmount u64, stakeAmount u64, validatorVoteAccount base58 string, delegateTime i64ev-withdraw_fees_eventpool base58 string, custody base58 string, custodyMint base58 string, receivingTokenAccount base58 string, totalTradeSwapFees u64, poolTradeSwapFees u64, protocolTradeSwapFees u64, totalBorrowLendingFees u64, poolBorrowLendingFees u64, protocolBorrowLendingFees u64, poolTotalFeesUsd u64, aprBpsBefore u64, aprBpsAfter u64, aprBpsUpdatedAt i64, poolRealizedFeeUsdBefore u64, poolRealizedFeeUsdAfter u64, curtime i64Instruction tables
One table for each instruction in the IDL: the named accounts, then the arguments. Each row also has the context
columns: slot, tx_index, signature, success, fee, program_id, ix_index, is_inner, inner_index, stack_height, accounts. What each one
holds.
ix-initupgradeAuthority, admin, transferAuthority, perpetuals, perpetualsProgram, perpetualsProgramData, systemProgram, tokenProgramargs:
params JSON stringix-add_pooladmin, transferAuthority, perpetuals, pool, lpTokenMint, systemProgram, tokenProgram, rentargs:
params JSON stringix-add_custodyadmin, transferAuthority, perpetuals, pool, custody, custodyTokenAccount, custodyTokenMint, systemProgram, tokenProgram, rentargs:
params JSON stringix-set_custody_configadmin, perpetuals, custodyargs:
params JSON stringix-set_pool_configadmin, perpetuals, poolargs:
params JSON stringix-set_perpetuals_configadmin, perpetualsargs:
params JSON stringix-transfer_adminadmin, newAdmin, perpetualsargs:
params JSON stringix-withdraw_fees2keeper, transferAuthority, perpetuals, pool, custody, custodyTokenAccount, custodyDovesPriceAccount, custodyPythnetPriceAccount, receivingTokenAccount, tokenProgramargs:
params JSON stringix-create_token_metadataadmin, perpetuals, pool, transferAuthority, metadata, lpTokenMint, tokenMetadataProgram, systemProgram, rentargs:
params JSON stringix-create_token_ledgertokenLedger, payer, systemProgramix-realloc_custodykeeper, custody, systemProgram, rentix-realloc_poolkeeper, pool, systemProgram, rentix-create_and_delegate_stake_accountkeeper, perpetuals, pool, custody, custodyTokenAccount, transferAuthority, stakeAccount, stakeInfo, validatorVoteAccount, stakeConfig, wsolMint, tempWsolAccount, rent, clock, stakeHistory, stakeProgram, systemProgram, tokenProgramargs:
params JSON stringix-unstakeoperator, perpetuals, pool, custody, transferAuthority, stakeAccount, stakeInfo, clock, stakeProgramix-withdraw_stakekeeper, perpetuals, pool, custody, custodyTokenAccount, transferAuthority, stakeAccount, stakeInfo, clock, stakeHistory, stakeProgram, systemProgram, tokenProgramix-redeem_stakekeeper, perpetuals, pool, custody, stakeAccount, stakeInfoix-operator_set_custody_configoperator, custodyargs:
params JSON stringix-operator_set_pool_configoperator, poolargs:
params JSON stringix-test_initupgradeAuthority, admin, transferAuthority, perpetuals, systemProgram, tokenProgramargs:
params JSON stringix-set_test_timeadmin, perpetualsargs:
params JSON stringix-set_token_ledgertokenLedger, tokenAccount, tokenProgramix-swap2owner, fundingAccount, receivingAccount, transferAuthority, perpetuals, pool, receivingCustody, receivingCustodyDovesPriceAccount, receivingCustodyPythnetPriceAccount, receivingCustodyTokenAccount, dispensingCustody, dispensingCustodyDovesPriceAccount, dispensingCustodyPythnetPriceAccount, dispensingCustodyTokenAccount, tokenProgram, eventAuthority, programargs:
params JSON stringix-swap_with_token_ledgerowner, fundingAccount, receivingAccount, transferAuthority, perpetuals, pool, receivingCustody, receivingCustodyDovesPriceAccount, receivingCustodyTokenAccount, dispensingCustody, dispensingCustodyDovesPriceAccount, dispensingCustodyTokenAccount, tokenLedger, tokenProgram, instruction, eventAuthority, programargs:
params JSON stringix-instant_increase_position_pre_swapowner, fundingAccount, receivingAccount, transferAuthority, perpetuals, pool, receivingCustody, receivingCustodyDovesPriceAccount, receivingCustodyTokenAccount, dispensingCustody, dispensingCustodyDovesPriceAccount, dispensingCustodyTokenAccount, tokenProgram, instruction, eventAuthority, programargs:
params JSON stringix-add_liquidity2owner, fundingAccount, lpTokenAccount, transferAuthority, perpetuals, pool, custody, custodyDovesPriceAccount, custodyPythnetPriceAccount, custodyTokenAccount, lpTokenMint, tokenProgram, eventAuthority, programargs:
params JSON stringix-remove_liquidity2owner, receivingAccount, lpTokenAccount, transferAuthority, perpetuals, pool, custody, custodyDovesPriceAccount, custodyPythnetPriceAccount, custodyTokenAccount, lpTokenMint, tokenProgram, eventAuthority, programargs:
params JSON stringix-create_increase_position_market_requestowner, fundingAccount, perpetuals, pool, position, positionRequest, positionRequestAta, custody, collateralCustody, inputMint, referral, tokenProgram, associatedTokenProgram, systemProgram, eventAuthority, programargs:
params JSON stringix-create_decrease_position_request2owner, receivingAccount, perpetuals, pool, position, positionRequest, positionRequestAta, custody, custodyDovesPriceAccount, custodyPythnetPriceAccount, collateralCustody, desiredMint, referral, tokenProgram, associatedTokenProgram, systemProgram, eventAuthority, programargs:
params JSON stringix-create_decrease_position_market_requestowner, receivingAccount, perpetuals, pool, position, positionRequest, positionRequestAta, custody, collateralCustody, desiredMint, referral, tokenProgram, associatedTokenProgram, systemProgram, eventAuthority, programargs:
params JSON stringix-update_decrease_position_request2owner, perpetuals, pool, position, positionRequest, custody, custodyDovesPriceAccount, custodyPythnetPriceAccountargs:
params JSON stringix-close_position_request2keeper, owner, ownerAta, pool, positionRequest, positionRequestAta, position, mint, tokenProgram, systemProgram, associatedTokenProgram, eventAuthority, programix-close_position_request3keeper, owner, ownerAta, pool, positionRequest, positionRequestAta, position, custody, mint, tokenProgram, systemProgram, associatedTokenProgram, eventAuthority, programix-increase_position4keeper, perpetuals, pool, positionRequest, positionRequestAta, position, custody, custodyDovesPriceAccount, custodyPythnetPriceAccount, collateralCustody, collateralCustodyDovesPriceAccount, collateralCustodyPythnetPriceAccount, collateralCustodyTokenAccount, tokenProgram, eventAuthority, programargs:
params JSON stringix-increase_position_pre_swapkeeper, keeperAta, positionRequest, positionRequestAta, position, collateralCustody, collateralCustodyTokenAccount, instruction, tokenProgram, eventAuthority, programargs:
params JSON stringix-increase_position_with_internal_swapkeeper, perpetuals, pool, positionRequest, positionRequestAta, position, custody, custodyDovesPriceAccount, custodyPythnetPriceAccount, collateralCustody, collateralCustodyDovesPriceAccount, collateralCustodyPythnetPriceAccount, collateralCustodyTokenAccount, receivingCustody, receivingCustodyDovesPriceAccount, receivingCustodyPythnetPriceAccount, receivingCustodyTokenAccount, tokenProgram, eventAuthority, programargs:
params JSON stringix-decrease_position4keeper, owner, transferAuthority, perpetuals, pool, positionRequest, positionRequestAta, position, custody, custodyDovesPriceAccount, custodyPythnetPriceAccount, collateralCustody, collateralCustodyDovesPriceAccount, collateralCustodyPythnetPriceAccount, collateralCustodyTokenAccount, tokenProgram, eventAuthority, programargs:
params JSON stringix-decrease_position_with_internal_swapkeeper, owner, transferAuthority, perpetuals, pool, positionRequest, positionRequestAta, position, custody, custodyDovesPriceAccount, custodyPythnetPriceAccount, collateralCustody, collateralCustodyDovesPriceAccount, collateralCustodyPythnetPriceAccount, collateralCustodyTokenAccount, dispensingCustody, dispensingCustodyDovesPriceAccount, dispensingCustodyPythnetPriceAccount, dispensingCustodyTokenAccount, tokenProgram, eventAuthority, programargs:
params JSON stringix-decrease_position_with_tpslkeeper, owner, transferAuthority, perpetuals, pool, positionRequest, positionRequestAta, position, custody, custodyDovesPriceAccount, collateralCustody, collateralCustodyDovesPriceAccount, collateralCustodyTokenAccount, tokenProgram, eventAuthority, programargs:
params JSON stringix-decrease_position_with_tpsl_and_internal_swapkeeper, owner, transferAuthority, perpetuals, pool, positionRequest, positionRequestAta, position, custody, custodyDovesPriceAccount, collateralCustody, collateralCustodyDovesPriceAccount, collateralCustodyTokenAccount, dispensingCustody, dispensingCustodyDovesPriceAccount, dispensingCustodyTokenAccount, tokenProgram, eventAuthority, programargs:
params JSON stringix-liquidate_full_position4signer, perpetuals, pool, position, custody, custodyDovesPriceAccount, custodyPythnetPriceAccount, collateralCustody, collateralCustodyDovesPriceAccount, collateralCustodyPythnetPriceAccount, collateralCustodyTokenAccount, eventAuthority, programargs:
params JSON stringix-refresh_assets_under_managementkeeper, perpetuals, pool, lpTokenMintargs:
params JSON stringix-set_max_global_sizeskeeper, custody, poolargs:
params JSON stringix-instant_create_tpslkeeper, apiKeeper, owner, receivingAccount, perpetuals, pool, position, positionRequest, positionRequestAta, custody, custodyDovesPriceAccount, custodyPythnetPriceAccount, collateralCustody, desiredMint, referral, tokenProgram, associatedTokenProgram, systemProgram, eventAuthority, programargs:
params JSON stringix-instant_create_limit_orderkeeper, apiKeeper, owner, fundingAccount, perpetuals, pool, position, positionRequest, positionRequestAta, custody, custodyDovesPriceAccount, custodyPythnetPriceAccount, collateralCustody, inputMint, referral, tokenProgram, associatedTokenProgram, systemProgram, eventAuthority, programargs:
params JSON stringix-instant_increase_positionkeeper, apiKeeper, owner, fundingAccount, perpetuals, pool, position, custody, custodyDovesPriceAccount, custodyPythnetPriceAccount, collateralCustody, collateralCustodyDovesPriceAccount, collateralCustodyPythnetPriceAccount, collateralCustodyTokenAccount, tokenLedger, referral, tokenProgram, systemProgram, eventAuthority, programargs:
params JSON stringix-instant_decrease_positionkeeper, apiKeeper, owner, receivingAccount, transferAuthority, perpetuals, pool, position, custody, custodyDovesPriceAccount, custodyPythnetPriceAccount, collateralCustody, collateralCustodyDovesPriceAccount, collateralCustodyPythnetPriceAccount, collateralCustodyTokenAccount, desiredMint, referral, tokenProgram, associatedTokenProgram, systemProgram, eventAuthority, programargs:
params JSON stringix-instant_decrease_position2keeper, apiKeeper, owner, receivingAccount, transferAuthority, perpetuals, pool, position, custody, custodyDovesPriceAccount, collateralCustody, collateralCustodyDovesPriceAccount, collateralCustodyTokenAccount, desiredMint, referral, positionRequest, positionRequestAta, tokenProgram, associatedTokenProgram, systemProgram, eventAuthority, programargs:
params JSON stringix-instant_update_limit_orderkeeper, apiKeeper, owner, perpetuals, pool, position, positionRequest, custody, custodyDovesPriceAccount, custodyPythnetPriceAccountargs:
params JSON stringix-instant_update_tpslkeeper, apiKeeper, owner, perpetuals, pool, position, positionRequest, custody, custodyDovesPriceAccount, custodyPythnetPriceAccount, eventAuthority, programargs:
params JSON stringix-get_add_liquidity_amount_and_fee2perpetuals, pool, custody, custodyDovesPriceAccount, custodyPythnetPriceAccount, lpTokenMintargs:
params JSON stringix-get_remove_liquidity_amount_and_fee2perpetuals, pool, custody, custodyDovesPriceAccount, custodyPythnetPriceAccount, lpTokenMintargs:
params JSON stringix-get_assets_under_management2perpetuals, poolargs:
params JSON stringix-borrow_from_custodyowner, perpetuals, pool, custody, transferAuthority, borrowPosition, custodyTokenAccount, userTokenAccount, lpTokenMint, tokenProgram, eventAuthority, programargs:
params JSON stringix-repay_to_custodyowner, perpetuals, pool, custody, borrowPosition, custodyTokenAccount, userTokenAccount, tokenProgram, eventAuthority, programargs:
params JSON stringix-deposit_collateral_for_borrowsowner, perpetuals, pool, custody, transferAuthority, borrowPosition, collateralTokenAccount, userTokenAccount, lpTokenMint, tokenProgram, systemProgram, eventAuthority, programargs:
params JSON stringix-withdraw_collateral_for_borrowsowner, perpetuals, pool, custody, transferAuthority, borrowPosition, collateralTokenAccount, userTokenAccount, lpTokenMint, tokenProgram, eventAuthority, programargs:
params JSON stringix-liquidate_borrow_positionsigner, perpetuals, pool, custody, transferAuthority, borrowPosition, collateralTokenAccount, lpTokenMint, tokenProgram, eventAuthority, programargs:
params JSON stringix-partial_liquidate_borrow_positionsigner, perpetuals, pool, custody, transferAuthority, borrowPosition, collateralTokenAccount, lpTokenMint, tokenProgram, eventAuthority, programargs:
params JSON stringix-close_borrow_positionowner, borrowPosition, systemProgram, eventAuthority, programargs:
params JSON stringFiles are split at 2 GB: ix-<name>-tNN-SSSS.parquet. Large integers stay
exact: u128 is a decimal string. All decoded types.
Get Jupiter Perpetuals data for your range.
Select an epoch range and get a firm price. You pay only when you send the job.