Phoenix: Eternal
Lineagei
Frameworki
What's Pinocchio?
Zero-dependency, no-std entrypoint. No codegen, no IDL — the developer hand-writes account parsing against the raw C ABI (sol_invoke_signed_c).
Tiny binary and low compute-unit cost, at the price of manual safety and no self-description. The choice for a hot path — routing, MEV, high-frequency — where every CU and lamport of rent is optimized.
Built by Anza (the Agave client team).
What it is
A drop-in replacement for the solana-program crate — not an Anchor-style framework. Its core innovation is zero-copy AccountInfo: instead of deserializing account data into an owned struct, it returns a pointer directly into the input buffer, eliminating a major class of memory copies and cutting CU usage on hot instructions. It has zero external dependencies and is no_std. It's completely unopinionated — no IDL, no account-validation helpers, no standard layout — so you bring Shank + Codama to generate IDLs and clients yourself. Still unaudited and not at full feature parity with solana-program.
When to pick it
Programs that process enormous volume where CU cost is the bottleneck — token programs, AMM hot paths, Ore-style mining. Not beginner-friendly.
How it looks on-chain
No enforced discriminator or account layout, and no on-chain IDL — so it can't be positively identified from account data. The tiny, dependency-free binary is the main tell, which is why we label it 'inferred'.
Others in the wild: Steel (Ore team — near-native performance on solana-program), Seahorse (Python → Anchor), and Poseidon & Quasar (TypeScript → Rust). Transpilers inherit their lowering target's fingerprint: a Quasar or Poseidon program that compiles down to Anchor will look like Anchor on-chain — discriminators and all.
Pinocchio docsFootprinti
Recovered architecturei
Reachi
Controli
What's upgrade authority?
The upgrade authority is the account allowed to replace a program's code after it's deployed.
If it's set (mutable), that key can push new bytecode at any time — including malicious code, the classic "rug" vector. If it's null (immutable / frozen), the code can never change; what 's on-chain is final. A Squads multisig sits in between — upgrades are possible but need M-of-N signers, not one hot wallet. So mutable + single hot-wallet = highest risk; immutable or multisig = stronger guarantees.
What's a verified build?
A verified build proves the program running on-chain was compiled from the public source you can read — nothing hidden.
Someone re-compiles the source in a deterministic (Docker) environment and checks the resulting bytecode is byte-for-byte identical to what's deployed; tools like solana-verify do this and record it with a verification service. "Not verified" isn't a red flag by itself — most programs simply never submit one. It just means you're trusting the deployed bytecode as-is, with no source cross-check.
Security.txti
What's a security.txt?
A block of contact info a developer embeds directly in the program binary — the Neodyme convention — so whitehats know how to report a vulnerability.
It carries contacts, a disclosure policy, auditors, and a source link. It's self-declared, so treat it as a claim, not proof — but its presence signals a team that expects scrutiny and wants to be reachable.
Convictioni
Interface — the on-chain IDLi
8 of 80 instructions used · 72 never called in this window
Phoenix Eternal: a perpetual futures exchange
Instructions 80
PlaceMarketOrder
Places an immediate-or-cancel order that consumes resting liquidity on the specified market.
- phoenixProgram
- phoenixLogAuthority
- globalConfigurationwritable
- traderWalletsigner
- traderAccountwritable
- perpAssetMapwritable
- globalTraderIndexwritable
- activeTraderBufferwritable
- orderbookwritable
- splineswritable
- orderPacketOrderPacket
PlaceLimitOrder
Places a limit order that may rest on the orderbook or take liquidity depending on matching conditions.
- phoenixProgram
- phoenixLogAuthority
- globalConfigurationwritable
- traderWalletsigner
- traderAccountwritable
- perpAssetMapwritable
- globalTraderIndexwritable
- activeTraderBufferwritable
- orderbookwritable
- splineswritable
- orderPacketOrderPacket
PlaceMultiLimitOrder
Places multiple post-only limit orders in a single transaction, allowing batch order placement for market making.
- phoenixProgram
- phoenixLogAuthority
- globalConfigurationwritable
- traderWalletsigner
- traderAccountwritable
- perpAssetMapwritable
- globalTraderIndexwritable
- activeTraderBufferwritable
- orderbookwritable
- splineswritable
- orderPacketMultipleOrderPacket
CancelOrdersById
Cancels a specific set of resting orders identified by their FIFO order ids.
- phoenixProgram
- phoenixLogAuthority
- globalConfigurationwritable
- traderWalletsigner
- traderAccountwritable
- perpAssetMapwritable
- globalTraderIndexwritable
- activeTraderBufferwritable
- orderbookwritable
- splineswritable
- orderIdsOrderIds
CancelUpTo
Cancels resting orders on the specified side up to an optional order or price threshold.
- phoenixProgram
- phoenixLogAuthority
- globalConfigurationwritable
- traderWalletsigner
- traderAccountwritable
- perpAssetMapwritable
- globalTraderIndexwritable
- activeTraderBufferwritable
- orderbookwritable
- splineswritable
- paramsCancelUpToInstruction
CancelAll
Cancels every resting order owned by the connected trader on the specified market.
- phoenixProgram
- phoenixLogAuthority
- globalConfigurationwritable
- traderWalletsigner
- traderAccountwritable
- perpAssetMapwritable
- globalTraderIndexwritable
- activeTraderBufferwritable
- orderbookwritable
- splineswritable
UpdateOraclePricesWithOrdering
Updates oracle-provided spot and perp prices for one or more perpetual markets with monotonic timestamp ordering.
- phoenixProgram
- phoenixLogAuthority
- globalConfiguration
- authoritysigner
- permissionAccountwritable
- perpAssetMapwritable
- paramsUpdateOraclePricesWithOrderingInstruction
UpdateSplinePrice
Updates the mid-price for a spline market-making program on the specified market.
- phoenixProgram
- phoenixLogAuthority
- signerAccountsigner
- traderAccount
- splineAccountwritable
- orderbookoptional
- paramsUpdateSplinePriceParamsWithOrdering
DepositFunds
Deposits collateral tokens from a trader's token account into the global vault, crediting the trader's account.
- phoenixProgram
- phoenixLogAuthority
- globalConfigurationwritable
- traderWalletsigner
- traderTokenAccountwritable
- traderAccountwritable
- globalVaultwritable
- tokenProgram
- globalTraderIndexwritable
- activeTraderBufferwritable
- paramsDepositFundsInstruction
RegisterTrader
Registers a new trader account with the specified configuration and position capacity.
- phoenixProgram
- phoenixLogAuthority
- globalConfiguration
- payersignerwritable
- traderWallet
- traderAccountwritable
- systemProgram
- paramsRegisterTraderParams
LiquidateViaMarketOrder
Liquidates a trader's position by executing an immediate-or-cancel market order to reduce their exposure.
- phoenixProgram
- phoenixLogAuthority
- globalConfigurationwritable
- liquidatorWalletsigner
- liquidatedTraderwritable
- traderAccountwritable
- perpAssetMapwritable
- globalTraderIndexwritable
- activeTraderBufferwritable
- orderbookwritable
- splineswritable
- paramsLiquidationParams
LiquidationTransfer
Transfers positions directly between a liquidator and liquidatee once the liquidatee is flagged as unhealthy.
- phoenixProgram
- phoenixLogAuthority
- globalConfigurationwritable
- perpAssetMapwritable
- liquidatorsigner
- liquidatorAccountwritable
- liquidateeAccountwritable
- globalTraderIndexwritable
- activeTraderBufferwritable
- paramsLiquidationTransferParams
CloseMatchedPositions
Closes offsetting positions between an at-loss trader and an in-profit trader during ADL.
- phoenixProgram
- phoenixLogAuthority
- globalConfiguration
- perpAssetMapwritable
- callersigner
- globalTraderIndexwritable
- activeTraderBufferwritable
- atLossAccountwritable
- inProfitAccountwritable
- paramsClosePositionsParams
Log
Internal instruction used by the Phoenix log authority to emit events on-chain. This instruction is called via CPI and should not be invoked directly.
- phoenixLogAuthoritysigner
- eventBatchOffChainMarketEventBorsh event batch containing the batch index and MarketEvent vector.
LogEventLengths
Internal instruction used by the Phoenix log authority to emit per-event byte lengths on-chain. This instruction is called via CPI and should not be invoked directly.
- phoenixLogAuthoritysigner
- eventLengthsOffChainMarketEventLengthsBorsh event-length batch containing the batch index and serialized event lengths.
WithdrawFunds
Withdraws collateral tokens from the global vault to a trader's token account, debiting the trader's account balance.
- phoenixProgram
- phoenixLogAuthority
- globalConfigurationwritable
- traderWalletsigner
- traderAccountwritable
- perpAssetMapwritable
- globalVaultwritable
- destinationTokenAccountwritable
- tokenProgram
- globalTraderIndexwritable
- activeTraderBufferwritable
- withdrawQueuewritable
- paramsWithdrawFundsInstruction
UpdateSplineParameters
Updates spline curve parameters for automated market making on bid and ask sides.
- phoenixProgram
- phoenixLogAuthority
- signerAccountsigner
- traderAccount
- splineAccountwritable
- orderbookoptional
- paramsUpdateSplineParametersParamsWithOrdering
PlaceStopLoss
Places a stop-loss order that triggers when the market price reaches the specified trigger price.
- phoenixProgram
- phoenixLogAuthority
- globalConfiguration
- payersignerwritable
- traderAccountwritable
- perpAssetMapwritable
- globalTraderIndexwritable
- activeTraderBufferwritable
- orderbookwritable
- splineswritable
- traderWalletsigner
- stopLossAccountwritable
- systemProgram
- paramsPlaceStopLossInstruction
ExecuteStopLoss
Executes a stop-loss order when the trigger conditions are met.
- phoenixProgram
- phoenixLogAuthority
- signersigner
- permissionAccountwritable
- traderAccountwritable
- perpAssetMapwritable
- globalTraderIndexwritable
- activeTraderBufferwritable
- orderbookwritable
- splineswritable
- globalConfigurationwritable
- funderwritable
- stopLossAccountwritable
- paramsExecuteStopLossInstruction
CancelStopLoss
Cancels a pending stop-loss order and closes the stop loss account.
- phoenixProgram
- phoenixLogAuthority
- globalConfigurationwritable
- funderwritable
- traderAccount
- traderWalletsigner
- stopLossAccountwritable
- systemProgram
- paramsCancelStopLossInstruction
ForceCancelAll
Force cancels all open orders for a trader account. Requires authority authorization.
- phoenixProgram
- phoenixLogAuthority
- globalConfigurationwritable
- authoritysigner
- traderAccountwritable
- perpAssetMapwritable
- globalTraderIndexwritable
- activeTraderBufferwritable
- orderbookwritable
- splineswritable
ForceCancelRiskIncreasing
Force cancels risk-increasing orders for a trader to reduce margin exposure.
- phoenixProgram
- phoenixLogAuthority
- globalConfigurationwritable
- traderAccountwritable
- perpAssetMapwritable
- globalTraderIndexwritable
- activeTraderBufferwritable
- orderbookwritable
- splineswritable
- paramsForceCancelRiskIncreasingParams
UpdateTraderState
Settles funding for a trader and evicts them from the active trader buffer when they no longer have resting orders.
- phoenixProgram
- phoenixLogAuthority
- globalConfiguration
- traderAccountwritable
- perpAssetMap
- globalTraderIndexwritable
- activeTraderBufferwritable
ConsumeWithdrawQueue
Processes pending withdrawals from the withdraw queue.
- phoenixProgram
- phoenixLogAuthority
- globalConfigurationwritable
- perpAssetMapwritable
- globalVaultwritable
- globalTraderIndexwritable
- activeTraderBufferwritable
- withdrawQueuewritable
- tokenProgram
- traderWallet
- destinationTokenAccountwritable
- traderAccountwritable
CreatePermission
Creates a new permission account PDA for delegating authority.
- phoenixProgram
- phoenixLogAuthority
- payersignerwritable
- permissionwritable
- authority
- user
- systemProgram
DelegateTrader
Delegates position authority of a trader account to another address.
- phoenixProgram
- phoenixLogAuthority
- globalConfiguration
- traderWalletsigner
- traderAccountwritable
- newPositionAuthority
RevokePermission
Revokes permission flags from a permission account.
- phoenixProgram
- phoenixLogAuthority
- globalConfiguration
- authoritysigner
- maybePermissionAccountwritable
- targetPermissionwritable
- paramsRevokePermissionParams
SetPermission
Sets permission flags on a permission account.
- phoenixProgram
- phoenixLogAuthority
- permissionwritable
- authoritysigner
- user
- paramsSetPermissionInstruction
SetTraderCapabilitiesDelegated
Sets trader capability flags via a delegated permission.
- phoenixProgram
- phoenixLogAuthority
- globalConfiguration
- authoritysigner
- maybePermissionAccountwritable
- traderAccountwritable
- globalTraderIndexwritable
- activeTraderBufferwritable
- paramsTraderCapabilityUpdate
SetTraderCapability
Sets trader capability flags via risk authority.
- phoenixProgram
- phoenixLogAuthority
- globalConfiguration
- authoritysigner
- maybePermissionAccountwritable
- traderAccountwritable
- globalTraderIndexwritable
- activeTraderBufferwritable
- paramsTraderCapabilityUpdate
SyncParentToChild
Syncs capabilities from a parent trader account to a child (isolated margin) account.
- phoenixProgram
- phoenixLogAuthority
- globalConfiguration
- traderWallet
- parentTraderAccount
- childTraderAccountwritable
- globalTraderIndexwritable
TransferCollateral
Transfers collateral between two trader accounts owned by the same wallet.
- phoenixProgram
- phoenixLogAuthority
- globalConfiguration
- traderWalletsigner
- srcTraderAccountwritable
- dstTraderAccountwritable
- perpAssetMap
- globalTraderIndexwritable
- activeTraderBufferwritable
- paramsTransferCollateralInstruction
TransferCollateralChildToParent
Transfers collateral from a child (isolated margin) account to its parent (cross margin) account.
- phoenixProgram
- phoenixLogAuthority
- globalConfiguration
- traderWallet
- childTraderAccountwritable
- parentTraderAccountwritable
- perpAssetMap
- globalTraderIndexwritable
- activeTraderBufferwritable
UncrossCrank
Cranks the orderbook to uncross any crossed orders.
- phoenixProgram
- phoenixLogAuthority
- globalConfigurationwritable
- perpAssetMapwritable
- globalTraderIndexwritable
- activeTraderBufferwritable
- orderbookwritable
- splineswritable
- paramsUncrossCrankParams
ClearExpiredOrders
Clears expired orders from the orderbook as a maintenance crank operation.
- phoenixProgram
- phoenixLogAuthority
- globalConfigurationwritable
- perpAssetMapwritable
- globalTraderIndexwritable
- activeTraderBufferwritable
- orderbookwritable
- splineswritable
- paramsClearExpiredOrdersParams
CreateConditionalOrdersAccount
Allocates the trader's conditional-orders PDA so further conditional-order placements can store entries.
- phoenixProgram
- phoenixLogAuthority
- globalConfiguration
- payersignerwritable
- traderWallet
- traderAccount
- traderConditionalOrderswritable
- systemProgram
- paramsCreateConditionalOrdersAccountInstruction
PlacePositionConditionalOrder
Places a position-based conditional order that fires when mark price crosses the configured trigger.
- phoenixProgram
- phoenixLogAuthority
- globalConfiguration
- payersignerwritable
- traderAccountwritable
- perpAssetMapwritable
- globalTraderIndexwritable
- activeTraderBufferwritable
- orderbookwritable
- splineswritable
- traderWalletsigner
- traderConditionalOrderswritable
- systemProgram
- paramsPlacePositionConditionalOrderInstruction
CancelConditionalOrder
Cancels one or both trigger-order halves of a conditional-order entry.
- phoenixProgram
- phoenixLogAuthority
- globalConfiguration
- traderAccountwritable
- traderWalletsigner
- orderbookwritable
- traderConditionalOrderswritable
- paramsCancelConditionalOrderInstruction
PlaceAttachedConditionalOrder
Attaches a conditional order to an existing resting limit order so it fires when that order is filled.
- phoenixProgram
- phoenixLogAuthority
- globalConfiguration
- traderAccountwritable
- traderWalletsigner
- orderbookwritable
- traderConditionalOrderswritable
- payersignerwritable
- globalTraderIndexwritable
- activeTraderBufferwritable
- systemProgram
- paramsPlaceAttachedConditionalOrderInstruction
PlaceLimitOrderWithConditionals
Places a limit order and atomically attaches greater/less-than trigger orders to the resulting resting order.
- phoenixProgram
- phoenixLogAuthority
- globalConfigurationwritable
- traderWalletsigner
- traderAccountwritable
- perpAssetMapwritable
- globalTraderIndexwritable
- activeTraderBufferwritable
- orderbookwritable
- splineswritable
- payersignerwritable
- traderConditionalOrderswritable
- systemProgram
- paramsPlaceLimitOrderWithConditionalsInstruction
ExecuteConditionalOrders
Authority-driven execution of a triggered conditional order.
- phoenixProgram
- phoenixLogAuthority
- globalConfigurationwritable
- authoritysigner
- maybePermissionAccountwritable
- traderAccountwritable
- perpAssetMapwritable
- globalTraderIndexwritable
- activeTraderBufferwritable
- orderbookwritable
- splineswritable
- traderConditionalOrderswritable
- paramsExecuteConditionalOrderInstruction
PingConditionalOrders
Authority-driven sweep that activates or invalidates a trader's conditional orders based on current state.
- phoenixProgram
- phoenixLogAuthority
- globalConfigurationwritable
- authoritysigner
- maybePermissionAccountwritable
- orderbookwritable
- traderAccountwritable
- globalTraderIndexwritable
- activeTraderBufferwritable
- traderConditionalOrderswritable
CancelAllPlusConditional
Cancels every resting order for a trader on a market and clears the matching conditional orders.
- phoenixProgram
- phoenixLogAuthority
- globalConfigurationwritable
- traderWalletsigner
- traderAccountwritable
- perpAssetMapwritable
- globalTraderIndexwritable
- activeTraderBufferwritable
- orderbookwritable
- splineswritable
- traderConditionalOrderswritable
MarketClosedForceCancelAll
Force cancels all open orders and conditional orders for a trader after a market has closed.
- phoenixProgram
- phoenixLogAuthority
- globalConfiguration
- authoritysigner
- maybePermissionAccountwritable
- traderAccountwritable
- perpAssetMapwritable
- globalTraderIndexwritable
- activeTraderBufferwritable
- orderbookwritable
- splineswritable
- traderConditionalOrderswritable
ForceCancelAfterHours
Force cancels orders that are invalid during commodity after-hours trading.
- phoenixProgram
- phoenixLogAuthority
- globalConfigurationwritable
- traderAccountwritable
- perpAssetMapwritable
- globalTraderIndexwritable
- activeTraderBufferwritable
- orderbookwritable
- splineswritable
AuthorizedForceCancel
Force cancels orders under the configured cancel authority until the requested side sizes remain.
- phoenixProgram
- phoenixLogAuthority
- globalConfigurationwritable
- cancelAuthoritysigner
- traderAccountwritable
- perpAssetMapwritable
- globalTraderIndexwritable
- activeTraderBufferwritable
- orderbookwritable
- splineswritable
- paramsAuthorizedForceCancelParams
AuthorizedForceCancelById
Force cancels specific bid and ask orders under the configured cancel authority.
- phoenixProgram
- phoenixLogAuthority
- globalConfigurationwritable
- cancelAuthoritysigner
- traderAccountwritable
- perpAssetMapwritable
- globalTraderIndexwritable
- activeTraderBufferwritable
- orderbookwritable
- splineswritable
- paramsAuthorizedForceCancelByIdParams
ChangeMarketStatus
Changes an orderbook market status through the market authority path.
- phoenixProgram
- phoenixLogAuthority
- globalConfiguration
- authoritysigner
- maybePermissionAccountwritable
- orderbookwritable
- perpAssetMapwritable
- paramsChangeMarketStatusParams
CreateEscrowAccount
Creates or initializes the escrow PDA for a trader wallet.
- phoenixProgram
- phoenixLogAuthority
- globalConfiguration
- payersignerwritable
- traderWallet
- traderEscrowwritable
- systemProgram
- paramsCreateEscrowAccountParams
CreateEscrowRequest
Creates an escrow request between sender and receiver trader accounts.
- phoenixProgram
- phoenixLogAuthority
- globalConfiguration
- senderWalletsigner
- senderTraderAccount
- permissionAccountwritable
- receiverWallet
- receiverTraderAccount
- receiverEscrowwritable
- perpAssetMap
- globalTraderIndexwritable
- activeTraderBufferwritable
- paramsCreateEscrowRequestParams
AcceptEscrowRequest
Accepts a pending escrow request and applies its transfer actions.
- phoenixProgram
- phoenixLogAuthority
- globalConfiguration
- senderWallet
- senderTraderAccountwritable
- receiverWalletsigner
- receiverTraderAccountwritable
- receiverEscrowwritable
- perpAssetMap
- globalTraderIndexwritable
- activeTraderBufferwritable
CancelEscrowRequest
Cancels a pending escrow request by sequence number.
- phoenixProgram
- phoenixLogAuthority
- globalConfiguration
- signerWalletsigner
- receiverWallet
- receiverEscrowwritable
- paramsCancelEscrowRequestParams
UpsertEscrowRequest
Creates or increments a cash escrow request for a sender and receiver pair.
- phoenixProgram
- phoenixLogAuthority
- globalConfiguration
- senderWalletsigner
- senderTraderAccount
- permissionAccountwritable
- receiverWallet
- receiverTraderAccount
- receiverEscrowwritable
- perpAssetMap
- globalTraderIndexwritable
- activeTraderBufferwritable
- paramsUpsertEscrowRequestParams
RegisterSpline
Registers a trader as an active spline participant for a market.
- phoenixProgram
- phoenixLogAuthority
- globalConfiguration
- authoritysigner
- maybePermissionAccountwritable
- payerAccountsignerwritable
- splineAccountwritable
- marketAccount
- globalTraderIndexwritable
- activeTraderBufferwritable
- traderAccountwritable
- perpAssetMap
- systemProgram
- paramsRegisterSplineParams
UpdateCommodityMarketState
Updates commodity market state and related mark price inputs.
- phoenixProgram
- phoenixLogAuthority
- globalConfiguration
- authoritysigner
- maybePermissionAccountwritable
- perpAssetMapwritable
- globalTraderIndexwritable
- activeTraderBufferwritable
- orderbookwritable
- splineswritable
- paramsUpdateCommodityMarketStateInstruction
UpdatePerpIsolatedOnly
Updates the isolated-only flag for a perp asset.
- phoenixProgram
- phoenixLogAuthority
- globalConfiguration
- authoritysigner
- maybePermissionAccountwritable
- perpAssetMapwritable
- paramsUpdatePerpIsolatedOnlyInstruction
UpdatePerpLeverageTiers
Updates leverage tiers for a perp asset.
- phoenixProgram
- phoenixLogAuthority
- globalConfiguration
- authoritysigner
- maybePermissionAccountwritable
- perpAssetMapwritable
- paramsUpdatePerpLeverageTiersInstruction
UpdatePerpOpenInterestCap
Updates open interest cap for a perp asset.
- phoenixProgram
- phoenixLogAuthority
- globalConfiguration
- authoritysigner
- maybePermissionAccountwritable
- perpAssetMapwritable
- paramsUpdatePerpOpenInterestCapInstruction
UpdatePerpUPnlRiskFactor
Updates uPnL risk factor for a perp asset.
- phoenixProgram
- phoenixLogAuthority
- globalConfiguration
- authoritysigner
- maybePermissionAccountwritable
- perpAssetMapwritable
- paramsUpdatePerpUPnlRiskFactorInstruction
UpdatePerpUPnlRiskFactorForWithdrawals
Updates withdrawal uPnL risk factor for a perp asset.
- phoenixProgram
- phoenixLogAuthority
- globalConfiguration
- authoritysigner
- maybePermissionAccountwritable
- perpAssetMapwritable
- paramsUpdatePerpUPnlRiskFactorForWithdrawalsInstruction
UpdatePerpCancelRiskFactor
Updates cancel-order risk factor for a perp asset.
- phoenixProgram
- phoenixLogAuthority
- globalConfiguration
- authoritysigner
- maybePermissionAccountwritable
- perpAssetMapwritable
- paramsUpdatePerpCancelRiskFactorInstruction
UpdatePerpMarkPriceParameters
Updates mark price calculation parameters for a perp asset.
- phoenixProgram
- phoenixLogAuthority
- globalConfiguration
- authoritysigner
- maybePermissionAccountwritable
- perpAssetMapwritable
- paramsUpdatePerpMarkPriceParametersInstruction
UpdateTraderFees
Updates fee override multipliers for a trader.
- phoenixProgram
- phoenixLogAuthority
- globalConfiguration
- authoritysigner
- maybePermissionAccountwritable
- traderAccountwritable
- globalTraderIndexwritable
- paramsUpdateTraderFeesParams
UpdateMarketFees
Updates default fee parameters for a market orderbook.
- phoenixProgram
- phoenixLogAuthority
- globalConfiguration
- authoritysigner
- maybePermissionAccountwritable
- orderbookAccountwritable
- paramsUpdateMarketFeesParams
UpdateWithdrawRateLimits
Updates withdrawal throttle budget and replenishment parameters.
- phoenixProgram
- phoenixLogAuthority
- globalConfiguration
- authoritysigner
- maybePermissionAccountwritable
- withdrawQueueAccountwritable
- paramsUpdateWithdrawRateLimitsParams
UpdateWithdrawParameters
Updates withdraw cooldown and fee parameters.
- phoenixProgram
- phoenixLogAuthority
- globalConfigurationwritable
- authoritysigner
- maybePermissionAccountwritable
- withdrawQueueAccountwritable
- paramsUpdateWithdrawParametersParams
UpdateAuthorities
Updates subordinate authorities stored in global configuration.
- phoenixProgram
- phoenixLogAuthority
- globalConfigurationwritable
- authoritysigner
- maybePermissionAccountwritable
- paramsUpdateAuthoritiesParams
InitializeArena
Initializes a new global trader index or active trader buffer arena account.
- phoenixProgram
- phoenixLogAuthority
- globalConfiguration
- authoritysigner
- maybePermissionAccountwritable
- headerAccountwritable
- newArenaAccountwritable
- systemProgram
- paramsInitializeArenaParams
RemoveEmptyArena
Removes an empty active trader buffer arena account.
- phoenixProgram
- phoenixLogAuthority
- globalConfiguration
- authoritysigner
- maybePermissionAccountwritable
- headerAccountwritable
- removedAccountwritable
- systemProgram
RemoveOracle
Removes one or more oracle public keys from the perp asset map.
- phoenixProgram
- phoenixLogAuthority
- globalConfiguration
- authoritysigner
- maybePermissionAccountwritable
- perpAssetMapwritable
- paramsRemoveOracleInstruction
RemoveAllOracles
Removes all oracle public keys for a perp asset.
- phoenixProgram
- phoenixLogAuthority
- globalConfiguration
- authoritysigner
- maybePermissionAccountwritable
- perpAssetMapwritable
- paramsRemoveAllOraclesInstruction
SetPermissionDelegated
Sets a whitelisted permission on a target permission account through delegated authority.
- phoenixProgram
- phoenixLogAuthority
- globalConfiguration
- authoritysigner
- maybePermissionAccountwritable
- targetPermissionwritable
- from
- to
- paramsSetPermissionInstruction
DeactivateSpline
Deactivates a trader spline for a market.
- phoenixProgram
- phoenixLogAuthority
- globalConfiguration
- authoritysigner
- maybePermissionAccountwritable
- splineAccountwritable
- marketAccount
- globalTraderIndexwritable
- activeTraderBufferwritable
- traderAccountwritable
- perpAssetMap
- systemProgram
ForceCancelStopLoss
Force cancels stop loss state for a trader after market closure.
- phoenixProgram
- phoenixLogAuthority
- globalConfiguration
- authoritysigner
- maybePermissionAccountwritable
- orderbook
- funderwritable
- traderAccount
- stopLossAccountwritable
- systemProgram
UpdateFundingParameters
Updates funding parameters for a perp asset.
- phoenixProgram
- phoenixLogAuthority
- globalConfiguration
- authoritysigner
- maybePermissionAccountwritable
- perpAssetMapwritable
- paramsUpdateFundingParametersInstruction
CloseMarket
Closes a market and records its finalized mark price.
- phoenixProgram
- phoenixLogAuthority
- globalConfiguration
- authoritysigner
- maybePermissionAccountwritable
- perpAssetMapwritable
- orderbookwritable
TombstoneMarket
Tombstones a closed market after open interest, orders, and splines are cleared.
- phoenixProgram
- phoenixLogAuthority
- globalConfiguration
- authoritysigner
- maybePermissionAccountwritable
- orderbookwritable
- perpAssetMap
- splineCollection
- globalTraderIndexwritable
- activeTraderBufferwritable
SettleClosedMarketPosition
Settles matching long and short trader positions in a closed market.
- phoenixProgram
- phoenixLogAuthority
- globalConfiguration
- authoritysigner
- maybePermissionAccountwritable
- perpAssetMapwritable
- orderbookwritable
- globalTraderIndexwritable
- activeTraderBufferwritable
- longTraderwritable
- shortTraderwritable
DeleteTombstonedMarket
Deletes a tombstoned market and reclaims orderbook and spline rent.
- phoenixProgram
- phoenixLogAuthority
- globalConfiguration
- authoritysigner
- maybePermissionAccountwritable
- lamportRecipientwritable
- perpAssetMapwritable
- orderbookwritable
- splineCollectionwritable
UpdateSplinePositionLimitsConfig
Updates position-size limits and leverage decrease configuration for a spline trader.
- phoenixProgram
- phoenixLogAuthority
- signerAccountsigner
- traderAccount
- splineAccountwritable
- paramsUpdateSplinePositionLimitsConfigParams
Accounts 14
GlobalConfiguration
no fields
OrderbookHeader
no fields
SplineCollectionHeader
no fields
Trader
no fields
ActiveTraderBufferHeader
no fields
ActiveTraderBufferArenaHeader
no fields
GlobalTraderIndexHeader
no fields
GlobalTraderIndexArenaHeader
no fields
PerpAssetMap
no fields
WithdrawQueueHeader
no fields
PermissionAccount
no fields
StopLosses
no fields
EscrowHeader
no fields
ConditionalOrderHeader
no fields
Types 212
OrderPacketstruct
- kindOrderPacketKind
OrderPacketKindenum
- PostOnly
- Limit
- ImmediateOrCancel
Sideenum
- Bid
- Ask
SelfTradeBehaviorenum
- Abort
- CancelProvide
- DecrementTake
BaseLotsstruct
- inneru64
QuoteLotsstruct
- inneru64
Ticksstruct
- inneru64
BaseLotsPerTickstruct
- inneru64
OrderFlagsstruct
- flagsu8
OrderIdsstruct
- orderIdsVec<CancelId>
CancelUpToInstructionstruct
- sideSide
- numOrdersToCancelOption<u64>
- tickLimitOption<u64>
CancelIdstruct
- nodePointerNodePointer
- orderIdFIFOOrderId
FIFOOrderIdstruct
- priceInTicksTicks
- orderSequenceNumberu64
NodePointerstruct
- valueu32
Symbolstruct
- symbolBytes[u8; 16]
Pricestruct
- valueu64
- expou8
OraclePriceUpdatestruct
- perpAssetIdSymbol
- newExchangePerpPriceOption<Price>
- newExchangeSpotPricePrice
UpdateOraclePricesWithOrderingInstructionstruct
- updateTimestampu64
- updatesVec<OraclePriceUpdate>
- shouldResetTimestampbool
UpdateSplinePriceParamsstruct
- newMidPriceu64
- userUpdateSlotOption<u64>
- refreshRegionsbool
UpdateSplinePriceParamsWithOrderingstruct
- newMidPriceu64
- userUpdateSlotOption<u64>
- refreshRegionsbool
- userSequenceNumberu64
- clientOrderId[u8; 16]
- overrideSequenceNumberbool
DepositFundsInstructionstruct
- amountu64
RegisterTraderParamsstruct
- maxPositionsu64
- traderPdaIndexu8
- traderSubaccountIndexu8
LiquidationParamsstruct
- assetMintpubkey
- liquidationSizeBaseLots
- liquidationPriceTicks
- fillOrKillbool
TransferRequeststruct
- assetIdu64
- amountBaseLots
LiquidationTransferParamsstruct
- transferRequestsVec<TransferRequest>
- executeAllTransfersbool
ClosePositionsParamsstruct
- assetIdu64
- amountBaseLots
- atLossCloseValueOption<QuoteLots>
- inProfitCloseValueOption<QuoteLots>
MultipleOrderPacketstruct
- bidsVec<CondensedOrder>
- asksVec<CondensedOrder>
- clientOrderIdOption<[u8; 16]>
- slidebool
CondensedOrderstruct
- priceInTicksu64
- sizeInBaseLotsu64
- lastValidSlotOption<u64>
WithdrawFundsInstructionstruct
- amountu64Amount in quote lots to withdraw.
UpdateSplineParametersParamsstruct
- bidRegionsVec<TickRegionParams>
- askRegionsVec<TickRegionParams>
- refreshRegionsbool
UpdateSplineParametersParamsWithOrderingstruct
- bidRegionsVec<TickRegionParams>
- askRegionsVec<TickRegionParams>
- refreshRegionsbool
- userSequenceNumberu64
- clientOrderId[u8; 16]
- overrideSequenceNumberbool
TickRegionParamsstruct
- startOffsetTicks
- endOffsetTicks
- densityBaseLotsPerTick
- lifespanu64
PlaceStopLossInstructionstruct
- triggerPriceu64
- executionPriceu64
- tradeSizeu64
- tradeSideSide
- executionDirectionDirection
- orderKindStopLossOrderKind
ExecuteStopLossInstructionstruct
- executionDirectionDirection
CancelStopLossInstructionstruct
- executionDirectionDirection
ForceCancelRiskIncreasingParamsstruct
no fields
Directionenum
- GreaterThan
- LessThan
StopLossOrderKindenum
- IOC
- Limit
LogHeaderstruct
- logBatchIndexu32Index of this log batch for tracking event sequences.
- totalEventsu32Number of events serialized in this log batch.
OrderbookHeaderstruct
- discriminantu64
- marketStatusu8
- baseLotsDecimalsi8
- padding0[u8; 6]
- sequenceNumberSequenceNumber
- assetIdu32
- assetIdPadding[u8; 4]
- assetSymbolSymbol
- tickSizeInQuoteLotsPerBaseLotu64
- orderSequenceNumberSequenceNumber
- tradeSequenceNumberSequenceNumber
- defaultTakerFeeMicrou32
- defaultMakerFeeMicroi32
- totalMakerQuoteLotFeesSignedQuoteLots
- totalTakerQuoteLotFeesQuoteLots
SplineCollectionHeaderstruct
- discriminantu64
- marketpubkey
- assetSymbolSymbol
- sequenceNumberSequenceNumber
- numSplinesu32
- numActiveu32
- padding[u8; 32]
TraderStatestruct
- quoteLotCollaterali64
- flagsu32
- padding[u8; 1]
- globalPositionSequenceNumberu8
- makerFeeOverrideMultiplieri8
- takerFeeOverrideMultiplieri8
Traderstruct
- discriminantu64
- sequenceNumberSequenceNumber
- keypubkey
- authoritypubkey
- traderStateTraderState
- padding0[u8; 4]
- withdrawQueueNodeu32
- maxPositionsu64
- positionAuthoritypubkey
- numMarketsWithSplinesu16
- traderPdaIndexu8
- traderSubaccountIndexu8
- fundingKeypubkey
- padding1[u8; 4]
- lastDepositSlotu64
- conditionalOrderBits[u8; 24]
ActiveTraderBufferHeaderstruct
no fields
ActiveTraderBufferArenaHeaderstruct
no fields
GlobalTraderIndexHeaderstruct
no fields
GlobalTraderIndexArenaHeaderstruct
no fields
GlobalConfigurationstruct
- discriminantu64
- accountKeypubkey
- rootAuthoritypubkey
- riskAuthoritypubkey
- marketAuthoritypubkey
- oracleAuthoritypubkey
- successorAuthoritypubkey
- adlAuthoritypubkey
- cancelAuthoritypubkey
- backstopAuthoritypubkey
- canonicalTokenMintKeypubkey
- globalVaultKeypubkey
- perpAssetMapKeypubkey
- globalTraderIndexHeaderKeypubkey
- activeTraderBufferHeaderKeypubkey
- totalQuoteLotFeesQuoteLots
- unclaimedQuoteLotFeesQuoteLots
- withdrawQueueKeypubkey
- exchangeStatusu8
- quoteDecimalsu8
- withdrawalMarginFactorBpsu16
- padding0[u8; 4]
- padding1[u64; 32]
- padding2[u64; 32]
- padding3[u64; 32]
- padding4[u64; 32]
- padding5[u64; 32]
- padding6[u64; 32]
- padding7[u64; 32]
- padding8[u64; 32]
SequenceNumberstruct
- sequenceNumberu64
- lastUpdateSlotu64
PerpAssetMetadatastruct
- raw[u8; 1568]
PerpAssetMapEntrystruct
- keySymbol
- valuePerpAssetMetadata
PerpAssetMetadataShortMapV2struct
- slotsUsedu32
- tombstonesu32
- capacityu64
- data[PerpAssetMapEntry; 1024]
PerpAssetMapstruct
- discriminantu64
- sequenceNumberSequenceNumber
- numAssetsu16
- padding0[u8; 6]
- metadatasPerpAssetMetadataShortMapV2
WithdrawThrottlestruct
- maxBudgetQuoteLots
- remainingBudgetQuoteLots
- replenishAmountPerSlotQuoteLots
- lastUpdateSlotu64
WithdrawQueueHeaderstruct
- discriminantu64
- sequenceNumberSequenceNumber
- withdrawThrottleWithdrawThrottle
- totalQueuedAmountQuoteLots
- withdrawalFeeQuoteLots
- enqueueingFeeQuoteLots
- reserved[u64; 5]
PermissionAccountstruct
- discriminantu64
- authoritypubkey
- userpubkey
- bumpu8
- padding1[u8; 7]
- permissionu64
- expiresAtTimestampi64
- numSignerActionsRemainingi64
- padding2[u8; 64]
StopLossstruct
- sequenceNumberu64
- triggerPriceTicks
- executionPriceTicks
- tradeSizeBaseLots
- slotu64
- positionSequenceNumberu8
- flagsu8
- padding[u8; 6]
- padding2[u8; 32]
StopLossesstruct
- discriminantu64
- stopLosses[StopLoss; 2]
- initializedu64
- sequenceNumberSequenceNumber
- fundingKeypubkey
- traderKeypubkey
- assetIdu32
- assetIdPadding[u8; 4]
- padding[u64; 8]
EscrowHeaderstruct
- discriminantu64
- authoritypubkey
- funderKeypubkey
- sequenceNumberSequenceNumber
- lenu64
- capacityu64
ConditionalOrderHeaderstruct
- discriminantu64
- traderKeypubkey
- fundingKeypubkey
- sequenceNumberSequenceNumber
- lenu8
- capacityu8
- padding[u8; 6]
RevokePermissionParamsstruct
- permissionFlagsToRevokeu64
SetPermissionInstructionstruct
- permissionu64
- expiresAtTimestampOption<i64>
- allowedSignerActionsOption<i64>
TraderCapabilityToggleTargetenum
- PlaceLimitOrder
- PlaceMarketOrder
- RiskIncreasingTrade
- RiskReducingTrade
- DepositCollateral
- WithdrawCollateral
TraderCapabilityTogglestruct
- targetTraderCapabilityToggleTarget
- enablebool
TraderCapabilityUpdatestruct
- togglesVec<TraderCapabilityToggle>
TransferCollateralInstructionstruct
- amountu64
TransferCollateralChildToParentInstructionstruct
- amountu64
UncrossCrankParamsstruct
- matchLimitu64
ClearExpiredOrdersParamsstruct
- maxOrdersPerSideOption<u64>
TriggerOrderParamsstruct
- triggerDirectionDirection
- tradeSideSide
- orderKindStopLossOrderKind
- triggerPriceu64
- executionPriceu64
CreateConditionalOrdersAccountInstructionstruct
- capacityu8
PlacePositionConditionalOrderInstructionstruct
- assetIdu32
- greaterTriggerOrderOption<TriggerOrderParams>
- lessTriggerOrderOption<TriggerOrderParams>
- sizeBaseLotsOption<u64>
- sizePercentOption<u8>
CancelConditionalOrderInstructionstruct
- indexu8
- disableFirstbool
- disableSecondbool
PlaceAttachedConditionalOrderInstructionstruct
- orderIdFIFOOrderId
- assetIdu32
- greaterTriggerOrderOption<TriggerOrderParams>
- lessTriggerOrderOption<TriggerOrderParams>
PlaceLimitOrderWithConditionalsInstructionstruct
- orderPacketOrderPacket
- slotu64
- greaterTriggerOrderOption<TriggerOrderParams>
- lessTriggerOrderOption<TriggerOrderParams>
ExecuteConditionalOrderInstructionstruct
- indexu8
- triggerDirectionDirection
OffChainMarketEventstruct
- batchIndexu32
- eventsVec<MarketEvent>
OffChainMarketEventLengthsstruct
- batchIndexu32
- lengthsVec<u16>
SignedBaseLotsstruct
- inneri64
SignedQuoteLotsstruct
- inneri64
SignedFeeRateMicrostruct
- inneri32
SignedQuoteLotsPerBaseLotstruct
- inneri64
SignedQuoteLotsPerBaseLotUpcastedstruct
- inneri128
SignedTicksstruct
- inneri64
FundingRateUnitInSecondsstruct
- inneru64
BaseLotsU32struct
- inneru32
BaseLotsPerTickU32struct
- inneru32
BasisPointsstruct
- inneru64
Constantstruct
- inneru64
OptionalNonZeroU64struct
- inneru64
OptionalFIFOOrderIdstruct
- priceInTicksTicks
- orderSequenceNumberu64
TraderCapabilityFlagsstruct
- bitsu32
MarketStatusenum
- Uninitialized
- Active
- PostOnly
- Paused
- Closed
- Tombstoned
CommodityMarketStateenum
- Active
- AfterHours
- Reopen
AuthorityTypeenum
- Root
- Risk
- Market
- Oracle
- Cancel
- Backstop
- ADL
ValidationRuleenum
- Ignore
- Require
- Forbid
LeverageTierstruct
- upperBoundSizeBaseLots
- maxLeverageConstant
- limitOrderRiskFactorBasisPoints
LeverageTiersstruct
- tiers[LeverageTier; 4]
PositionSizeLimitsstruct
- longu32
- shortu32
PositionSizeLimitenum
- Disabled
- Limit
TickRegionstruct
- startOffsetTicks
- endOffsetTicks
- densityBaseLotsPerTickU32
- topLevelHiddenTakeSizeBaseLotsPerTickU32
- totalSizeBaseLots
- filledSizeBaseLotsU32
- hiddenFilledSizeBaseLotsU32
- lifespanu64
OrderRejectionReasonenum
- TooManyLimitOrders
- PostOnlyCross
- InvalidOrderPacket
- TiFInvalid
- OutsideExecutionPriceBand
OrderResidualDiscardReasonenum
- OutsideExecutionPriceBand
OrderModificationReasonenum
- UserRequested
- AuthorityForced
- SelfTradeCancelProvide
- SelfTradeDecrementTake
- Expired
- ReduceOnlyInvalidated
- RiskCapacityExceeded
- BookCapacityEvicted
- Tombstone
- TopOfBookOutOfBounds
- StopLossCascade
ConditionalOrderPingStateSnapshotstruct
- valueu8
ConditionalOrderPingSnapshotstruct
- stateConditionalOrderPingStateSnapshot
- attachedOrderIdOptionalFIFOOrderId
- maxSizeBaseLots
- fillableSizeBaseLots
- filledSizeBaseLots
- coPositionSequenceNumberOption<u8>
MarkPriceConfigstruct
- emaPeriodSlotsu64
- emaDiffRadiusu64
- bookPriceRadiusu64
- commoditiesAfterHoursRadiusu64
- spotPriceWeightu64
- bookPriceWeightu64
- perpPriceWeightu64
- spotPriceStaleThresholdu64
- bookPriceStaleThresholdu64
- perpPriceStaleThresholdu64
- riskActionPriceValidityRules[[[ValidationRule; 8]; 4]; 8]
- oracleDivergenceRadiusu16
- minOracleResponsesu8
- commoditiesAfterHoursRadiusBpsu64
WithdrawConfigstruct
- depositCooldownPeriodInSlotsu64
- withdrawalFeeu64
- enqueueingFeeu64
WithdrawRateLimitConfigstruct
- maxBudgetu64
- replenishAmountPerSlotu64
FundingConfigstruct
- fundingIntervalSecondsu64
- fundingPeriodSecondsu64
- maxFundingRatei64
CommodityMarketStateConfigstruct
- marketStateCommodityMarketState
- isCommoditybool
- lastKnownIndexPriceOption<Ticks>
- lastIndexExpiryTimestampu64
- commoditiesAfterHoursRadiusTicks
MarketFeeConfigstruct
- defaultTakerFeeMicrou32
- defaultMakerFeeMicroi32
AdminParameterUpdateKindenum
- CancelRiskFactor
- IsolatedOnly
- LeverageTiers
- MarkPriceParameters
- OpenInterestCap
- UpnlRiskFactor
- UpnlRiskFactorForWithdrawals
- WithdrawParameters
- WithdrawRateLimits
- TraderCapability
- FundingParameters
- MarketFees
- OpenInterestAdjustment
- CommodityMarketState
EscrowActionenum
- Noop
- Cash
EscrowRequestCancelReasonenum
- Expiration
- CancelledBySender
- CancelledByReceiver
MarketEventenum
- SlotContext
- Header
- OrderPlaced
- OrderFilled
- OrderRejected
- SplineFilled
- TradeSummary
- OrderModified
- MarketSummary
- TraderRegistered
- TraderCollateralTransferred
- TraderActivated
- TraderDeactivated
- TraderFundsDeposited
- TraderFundsWithdrawn
- TraderFundsWithdrawnEnqueued
- TraderFundsWithdrawnDropped
- TraderWithdrawCancelled
- TraderFundingSettled
- SplineRegistered
- SplineActivated
- SplineDeactivated
- SplinePriceUpdated
- SplineParametersUpdated
- MarketAdded
- MarketStatusChanged
- MarketParametersUpdated
- FundingParametersUpdated
- FeesClaimed
- PricesUpdated
- LiquidationTransferSummary
- LiquidationTransfer
- Liquidation
- CloseMatchedPositions
- NameSuccessor
- ClaimAuthority
- WithdrawStateTransition
- PnL
- StopLossPlaced
- StopLossCancelled
- StopLossExecuted
- ExchangeStatusChanged
- TraderCapabilitiesEnabled
- TraderFundsWithdrawnFeePayment
- OrderPacket
- SetPermission
- AuthorityChanged
- TraderDelegated
- AdminParameterUpdated
- TraderFeesUpdated
- MarketClosed
- MarketDeleted
- EscrowAccountCreated
- EscrowRequestCreated
- EscrowRequestAccepted
- EscrowRequestCancelled
- SplinePriceUpdatedWithOrdering
- SplineParametersUpdatedWithOrdering
- TriggerOrderPlaced
- TriggerOrderCancelled
- TriggerOrderExecuted
- PingInvalidated
- PingActivated
- SplinePositionLimitsConfigUpdated
- MarketTombstoned
- ShutdownClosePositions
- OrderResidualDiscarded
SlotContextEventstruct
- timestampu64
- slotu64
MarketEventHeaderstruct
- sequenceNumberu64
- prevSequenceNumberSlotu64
- assetSymbolSymbol
- assetIdu32
- tickSizeu32
- baseLotDecimalsi8
- quoteLotDecimalsu8
- signerpubkey
- traderAccountpubkey
OrderPlacedEventstruct
- orderIdu32
- orderFlagsOrderFlags
- orderSequenceNumberu64
- prevOrderSequenceNumberSlotu64
- clientOrderId[u8; 16]
- priceTicks
- quantitySignedBaseLots
- lastValidSlotOptionalNonZeroU64
- initialSlotu64
OrderPacketEventstruct
- orderPacketOrderPacket
- traderpubkey
- nextOrderSequenceNumberu64
OrderRejectedEventstruct
- orderIndexu32
- clientOrderId[u8; 16]
- priceTicks
- sideSide
- numBaseLotsBaseLots
- reason[u8; 32]
OrderResidualDiscardedEventstruct
- clientOrderId[u8; 16]
- priceTicks
- sideSide
- baseLotsDiscardedBaseLots
- reasonOrderResidualDiscardReason
OrderFilledEventstruct
- orderSequenceNumberu64
- sideSide
- priceTicks
- baseLotsFilledBaseLots
- quoteLotsFilledQuoteLots
- quantityRemainingBaseLots
- makerpubkey
- makerFeeRateSignedFeeRateMicro
- makerBaseLotPositionSignedBaseLots
- makerVirtualQuoteLotPositionSignedQuoteLots
- makerQuoteLotCollateralSignedQuoteLots
- makerCumulativeFundingSnapshotSignedQuoteLotsPerBaseLot
SplineFilledEventstruct
- splineSequenceNumberu64
- sideSide
- priceTicks
- baseLotsFilledBaseLots
- quoteLotsFilledQuoteLots
- makerpubkey
- makerFeeRateSignedFeeRateMicro
- makerBaseLotPositionSignedBaseLots
- makerVirtualQuoteLotPositionSignedQuoteLots
- makerQuoteLotCollateralSignedQuoteLots
- makerCumulativeFundingSnapshotSignedQuoteLotsPerBaseLot
OrderModifiedEventstruct
- orderSequenceNumberu64
- priceTicks
- baseLotsReleasedSignedBaseLots
- quoteLotsReleasedSignedQuoteLots
- baseLotsRemainingBaseLots
- reasonOrderModificationReason
TradeSummaryEventstruct
- traderpubkey
- tradeSequenceNumberu64
- prevTradeSequenceNumberSlotu64
- sideSide
- baseLotsFilledBaseLots
- quoteLotsFilledQuoteLots
- feeInQuoteLotsQuoteLots
- baseLotPositionSignedBaseLots
- virtualQuoteLotPositionSignedQuoteLots
- quoteLotCollateralSignedQuoteLots
- cumulativeFundingSnapshotSignedQuoteLotsPerBaseLot
MarketSummaryEventstruct
- assetSymbolSymbol
- assetIdu32
- openInterestBaseLots
- totalMakerQuoteLotFeesOption<SignedQuoteLots>
- totalTakerQuoteLotFeesOption<QuoteLots>
- markPriceTicks
- spotPriceTicks
TraderRegisteredEventstruct
- traderSequenceNumberu64
- traderpubkey
- authoritypubkey
- maxPositionsu64
- traderPdaIndexu8
- traderSubaccountIndexu8
TraderDelegatedEventstruct
- traderpubkey
- authoritypubkey
- oldPositionAuthoritypubkey
- newPositionAuthoritypubkey
TraderFeesUpdatedEventstruct
- traderpubkey
- authoritypubkey
- previousMakerFeeOverrideMultiplieri8
- newMakerFeeOverrideMultiplieri8
- previousTakerFeeOverrideMultiplieri8
- newTakerFeeOverrideMultiplieri8
- isHotTraderbool
TraderCapabilitiesEnabledEventstruct
- traderpubkey
- authoritypubkey
- previousFlagsTraderCapabilityFlags
- newFlagsTraderCapabilityFlags
- globalTraderIndexu32
TraderActivatedEventstruct
- globalTraderIndexu32
- authoritypubkey
TraderDeactivatedEventstruct
- prevGlobalTraderIndexu32
- authoritypubkey
TraderFundsDepositedEventstruct
- traderpubkey
- authoritypubkey
- amountQuoteLots
- traderFlagsTraderCapabilityFlags
- newCollateralBalanceSignedQuoteLots
- traderSequenceNumberu64
- prevSequenceNumberSlotu64
TraderFundsWithdrawnEventstruct
- traderpubkey
- authoritypubkey
- amountu64
- traderSequenceNumberu64
- traderPrevSequenceNumberSlotu64
- postWithdrawalBudgetu64
- postQueueSizeu64
- totalQueuedAmountu64
- withdrawQueueSequenceNumberu64
- withdrawQueuePrevSequenceNumberSlotu64
TraderFundsWithdrawnFeePaymentEventstruct
- traderpubkey
- authoritypubkey
- feeu64
- traderSequenceNumberu64
- traderPrevSequenceNumberSlotu64
- withdrawQueueSequenceNumberu64
- withdrawQueuePrevSequenceNumberSlotu64
TraderWithdrawCancelledEventstruct
- traderpubkey
- authoritypubkey
- amountu64
- traderSequenceNumberu64
- traderPrevSequenceNumberSlotu64
- withdrawQueueSequenceNumberu64
- withdrawQueuePrevSequenceNumberSlotu64
TraderCollateralTransferredEventstruct
- authoritypubkey
- amountQuoteLots
- srcTraderpubkey
- srcTraderSequenceNumberu64
- srcTraderPrevSequenceNumberSlotu64
- srcTraderNewCollateralBalanceSignedQuoteLots
- dstTraderpubkey
- dstTraderSequenceNumberu64
- dstTraderPrevSequenceNumberSlotu64
- dstTraderNewCollateralBalanceSignedQuoteLots
TraderFundingSettledEventstruct
- traderpubkey
- assetSymbolSymbol
- assetIdu32
- fundingPaymentSignedQuoteLots
- cumulativeFundingSnapshotSignedQuoteLotsPerBaseLot
- newCollateralBalanceSignedQuoteLots
SplineRegisteredEventstruct
- traderpubkey
- sequenceNumberu64
- prevSequenceNumberSlotu64
- marketpubkey
- symbolSymbol
SplineActivatedEventstruct
- traderpubkey
- sequenceNumberu64
- prevSequenceNumberSlotu64
- authoritypubkey
- marketpubkey
- symbolSymbol
- midPriceu64
SplineDeactivatedEventstruct
- traderpubkey
- sequenceNumberu64
- prevSequenceNumberSlotu64
- authoritypubkey
- marketpubkey
- symbolSymbol
SplinePositionLimitsConfigUpdatedEventstruct
- traderpubkey
- sequenceNumberu64
- prevSequenceNumberSlotu64
- authoritypubkey
- marketpubkey
- symbolSymbol
- maxPositionSizeOption<PositionSizeLimit>
- prevMaxPositionSizePositionSizeLimit
- leverageDecreaseInBpsOption<u32>
- prevLeverageDecreaseInBpsu32
SplinePriceUpdatedEventstruct
- traderpubkey
- sequenceNumberu64
- prevSequenceNumberSlotu64
- authoritypubkey
- marketpubkey
- symbolSymbol
- priceInTicksu64
- userUpdateSlotu64
- refreshRegionsbool
SplineParametersUpdatedEventstruct
- traderpubkey
- sequenceNumberu64
- prevSequenceNumberSlotu64
- authoritypubkey
- marketpubkey
- symbolSymbol
- midPriceu64
- bidRegions[TickRegion; 10]
- askRegions[TickRegion; 10]
SplinePriceUpdatedWithOrderingEventstruct
- traderpubkey
- sequenceNumberu64
- prevSequenceNumberSlotu64
- authoritypubkey
- marketpubkey
- symbolSymbol
- priceInTicksu64
- userUpdateSlotu64
- refreshRegionsbool
- userSequenceNumberu64
- clientOrderId[u8; 16]
SplineParametersUpdatedWithOrderingEventstruct
- traderpubkey
- sequenceNumberu64
- prevSequenceNumberSlotu64
- authoritypubkey
- marketpubkey
- symbolSymbol
- midPriceu64
- bidRegions[TickRegion; 10]
- askRegions[TickRegion; 10]
- userSequenceNumberu64
- clientOrderId[u8; 16]
StopLossPlacedEventstruct
- traderpubkey
- sequenceNumberu64
- prevSequenceNumberSlotu64
- assetIdu64
- triggerPriceTicks
- executionPriceTicks
- tradeSizeBaseLots
- tradeSideSide
- executionDirectionDirection
- positionSequenceNumberu8
- placeSlotu64
- fundingKeypubkey
- orderKindStopLossOrderKind
StopLossCancelledEventstruct
- traderpubkey
- sequenceNumberu64
- prevSequenceNumberSlotu64
- assetIdu64
- executionDirectionDirection
StopLossExecutedEventstruct
- traderpubkey
- sequenceNumberu64
- prevSequenceNumberSlotu64
- assetIdu64
- executionDirectionDirection
- orderSequenceNumberu64
TriggerOrderPlacedEventstruct
- traderpubkey
- sequenceNumberu64
- prevSequenceNumberSlotu64
- assetIdu64
- conditionalOrderIndexu8
- triggerPriceTicks
- executionPriceTicks
- tradeSideSide
- triggerDirectionDirection
- orderKindStopLossOrderKind
- maxSizeBaseLots
- fillableSizeBaseLots
- filledSizeBaseLots
- usePercentbool
- percentu8
- positionSequenceNumberu8
- attachedOrderIdOptionalFIFOOrderId
TriggerOrderCancelledEventstruct
- traderpubkey
- sequenceNumberu64
- prevSequenceNumberSlotu64
- assetIdu64
- conditionalOrderIndexu8
- triggerDirectionDirection
TriggerOrderExecutedEventstruct
- traderpubkey
- sequenceNumberu64
- prevSequenceNumberSlotu64
- assetIdu64
- conditionalOrderIndexu8
- triggerDirectionDirection
- orderSequenceNumberu64
PingInvalidatedEventstruct
- traderpubkey
- sequenceNumberu64
- prevSequenceNumberSlotu64
- assetIdu64
- conditionalOrderIndexu8
- preConditionalOrderPingSnapshot
- postConditionalOrderPingSnapshot
- currentPositionSequenceNumberu8
PingActivatedEventstruct
- traderpubkey
- sequenceNumberu64
- prevSequenceNumberSlotu64
- assetIdu64
- conditionalOrderIndexu8
- preConditionalOrderPingSnapshot
- postConditionalOrderPingSnapshot
- bookOrderRemainingBaseLotsOption<BaseLots>
MarketAddedEventstruct
no fields
MarketStatusChangedEventstruct
- previousMarketStatusMarketStatus
- newMarketStatusMarketStatus
MarketClosedEventstruct
- previousMarketStatusMarketStatus
- finalizedMarkPriceTicks
MarketTombstonedEventstruct
- previousMarketStatusMarketStatus
- finalSequenceNumberu64
- finalTradeSequenceNumberu64
- finalOrderSequenceNumberu64
ShutdownClosePositionsEventstruct
- longTraderpubkey
- shortTraderpubkey
- assetIdu32
- baseLotsClosedBaseLots
- settlementPriceTicks
- tradeSequenceNumberu64
- sequenceNumberu64
MarketDeletedEventstruct
- assetIdu32
- lamportsReclaimedu64
ExchangeStatusChangedEventstruct
- previousBitsu8
- newBitsu8
- authoritypubkey
MarketParametersUpdatedEventstruct
no fields
FundingParametersUpdatedEventstruct
- symbolSymbol
- newFundingIntervalSecondsOption<FundingRateUnitInSeconds>
- newFundingPeriodSecondsOption<FundingRateUnitInSeconds>
- newMaxFundingRateOption<SignedQuoteLotsPerBaseLot>
FeesClaimedEventstruct
- amountu64
SetPermissionEventstruct
- authoritypubkey
- userpubkey
- previousPermissionu64
- newPermissionu64
- previousExpiresAtTimestampi64
- newExpiresAtTimestampi64
- previousNumSignerActionsRemainingi64
- newNumSignerActionsRemainingi64
- createdbool
PricesUpdatedEventstruct
- oracleSignerOption<pubkey>
- assetSymbolSymbol
- assetIdu32
- newBestBidOption<Ticks>
- newBestAskOption<Ticks>
- newLastTradeOption<Ticks>
- newExchangeSpotPriceOption<Ticks>
- newExchangePerpPriceOption<Ticks>
- newMidSpotDiffEmaTicksOption<SignedTicks>
- newMarkPriceTicks
- cumulativeFundingRateOption<SignedQuoteLotsPerBaseLot>
- settledContributionOption<SignedQuoteLotsPerBaseLot>
- intervalAccumulatorOption<SignedQuoteLotsPerBaseLotUpcasted>
- assetSequenceNumberu64
- prevAssetSequenceNumberSlotu64
LiquidationEventstruct
- liquidatorpubkey
- liquidatedTraderpubkey
- assetIdu32
- liquidationSizeBaseLots
- markPriceTicks
- baseLotsFilledBaseLots
- quoteLotsFilledQuoteLots
- positionClosedbool
LiquidationTransferSummaryEventstruct
- liquidateepubkey
- liquidatorpubkey
- totalTransfersu32
- liquidateeCollateralChangeSignedQuoteLots
- liquidatorCollateralChangeSignedQuoteLots
- haircutCollectedQuoteLots
LiquidationTransferEventstruct
- liquidateepubkey
- liquidatorpubkey
- assetIdu64
- baseLotsTransferredSignedBaseLots
- virtualQuoteLotsTransferredSignedQuoteLots
- haircutRateu16
- liquidateeCollateralChangeSignedQuoteLots
- liquidatorCollateralChangeSignedQuoteLots
CloseMatchedPositionsEventstruct
- callerpubkey
- closedShortpubkey
- closedLongpubkey
- inProfitAccountpubkey
- assetIdu64
- baseLotsClosedSignedBaseLots
- atLossCloseValueSignedQuoteLots
- inProfitCloseValueSignedQuoteLots
- atLossCollateralChangeSignedQuoteLots
- inProfitCollateralChangeSignedQuoteLots
NameSuccessorEventstruct
- authoritypubkey
- newAuthoritypubkey
ClaimAuthorityEventstruct
- previousAuthoritypubkey
- newAuthoritypubkey
AuthorityChangedEventstruct
- previousAuthoritypubkey
- newAuthoritypubkey
- authorityTypeAuthorityType
WithdrawStateTransitionEventstruct
- traderpubkey
- amountQuoteLots
- fromStateu8
- toStateu8
- reasonu8
- transitionCountu16
- nodeIndexNodePointer
PnLEventstruct
- traderpubkey
- assetIdu32
- assetSymbolSymbol
- realizedPnlSignedQuoteLots
- fundingPaymentSignedQuoteLots
- baseLotsBeforeSignedBaseLots
- baseLotsAfterSignedBaseLots
- virtualQuoteLotsBeforeSignedQuoteLots
- virtualQuoteLotsAfterSignedQuoteLots
AdminParameterUpdatedEventstruct
- authoritypubkey
- assetSymbolOption<Symbol>
- assetIdOption<u32>
- updateKindAdminParameterUpdateKind
EscrowAccountCreatedEventstruct
- authoritypubkey
- capacityu64
EscrowRequestCreatedEventstruct
- receiverAuthoritypubkey
- senderAuthoritypubkey
- sequenceNumberu64
- senderPdaIndexu8
- senderSubaccountIndexu8
- receiverPdaIndexu8
- receiverSubaccountIndexu8
- expirationOffsetu32
- initialSlotu64
- actions[EscrowAction; 4]
EscrowRequestAcceptedEventstruct
- receiverAuthoritypubkey
- sequenceNumberu64
EscrowRequestCancelledEventstruct
- receiverAuthoritypubkey
- sequenceNumberu64
- reasonEscrowRequestCancelReason
ChangeMarketStatusParamsstruct
- nextMarketStatusMarketStatus
AuthorizedForceCancelParamsstruct
- remainingBidBaseLotsBaseLots
- remainingAskBaseLotsBaseLots
AuthorizedForceCancelByIdParamsstruct
- bidOrderIdsVec<CancelId>
- askOrderIdsVec<CancelId>
CreateEscrowAccountParamsstruct
- capacityu64
EscrowParticipantMetadatastruct
- senderPdaIndexu8
- senderSubaccountIndexu8
- receiverPdaIndexu8
- receiverSubaccountIndexu8
CreateEscrowRequestParamsstruct
- participantMetadataEscrowParticipantMetadata
- lastValidSlotOption<u64>
- actionsVec<EscrowAction>
CancelEscrowRequestParamsstruct
- sequenceNumberu64
UpsertEscrowRequestParamsstruct
- participantMetadataEscrowParticipantMetadata
- actionEscrowAction
RegisterSplineParamsstruct
no fields
UpdateCommodityMarketStateInstructionstruct
- marketStateCommodityMarketState
- lastKnownIndexPriceOption<Ticks>
- lastIndexExpiryTimestampu64
- emaPeriodSlotsOption<u64>
UpdatePerpIsolatedOnlyInstructionstruct
- perpAssetSymbolSymbol
- isolatedOnlyu8
UpdatePerpLeverageTiersInstructionstruct
- perpAssetSymbolSymbol
- leverageTiersLeverageTiers
UpdatePerpOpenInterestCapInstructionstruct
- perpAssetSymbolSymbol
- openInterestCapBaseLots
UPnlRiskFactorstruct
- inneru64
UpdatePerpUPnlRiskFactorInstructionstruct
- perpAssetSymbolSymbol
- upnlRiskFactorUPnlRiskFactor
UpdatePerpUPnlRiskFactorForWithdrawalsInstructionstruct
- perpAssetSymbolSymbol
- upnlRiskFactorForWithdrawalsUPnlRiskFactor
UpdatePerpCancelRiskFactorInstructionstruct
- perpAssetSymbolSymbol
- cancelOrderRiskFactoru16
UpdatePerpMarkPriceParametersInstructionstruct
- perpAssetSymbolSymbol
- emaPeriodSlotsOption<u64>
- emaDiffRadiusOption<u64>
- bookPriceRadiusOption<u64>
- commoditiesAfterHoursRadiusBpsOption<u64>
- adjustedExchangeSpotPriceWeightOption<u64>
- bookPriceWeightOption<u64>
- exchangePerpPriceWeightOption<u64>
- spotPriceStaleThresholdOption<u64>
- bookPriceStaleThresholdOption<u64>
- perpPriceStaleThresholdOption<u64>
- riskActionPriceValidityRulesOption<[[[ValidationRule; 8]; 4]; 8]>
- oracleDivergenceRadiusOption<u16>
- minOracleResponsesOption<u8>
UpdateTraderFeesParamsstruct
- makerFeeOverrideMultiplieri8
- takerFeeOverrideMultiplieri8
UpdateMarketFeesParamsstruct
- defaultTakerFeeMicroOption<u32>
- defaultMakerFeeMicroOption<i32>
UpdateWithdrawRateLimitsParamsstruct
- maxBudgetOption<u64>
- replenishAmountPerSlotOption<u64>
UpdateWithdrawParametersParamsstruct
- depositCooldownPeriodInSlotsOption<u64>
- withdrawalFeeOption<u64>
- enqueueingFeeOption<u64>
UpdateAuthoritiesParamsstruct
- newRiskAuthorityOption<pubkey>
- newMarketAuthorityOption<pubkey>
- newOracleAuthorityOption<pubkey>
- newCancelAuthorityOption<pubkey>
- newBackstopAuthorityOption<pubkey>
- newAdlAuthorityOption<pubkey>
ArenaTypeenum
- GlobalTraderIndex
- ActiveTraderBuffer
InitializeArenaParamsstruct
- arenaTypeArenaType
RemoveOracleInstructionstruct
- oracleKeysVec<pubkey>
RemoveAllOraclesInstructionstruct
- perpAssetSymbolSymbol
UpdateFundingParametersInstructionstruct
- perpAssetSymbolSymbol
- fundingIntervalSecondsOption<FundingRateUnitInSeconds>
- fundingPeriodSecondsOption<FundingRateUnitInSeconds>
- maxFundingRateOption<SignedQuoteLotsPerBaseLot>
UpdateSplinePositionLimitsConfigParamsstruct
- maxPositionSizeOption<PositionSizeLimit>
- leverageDecreaseInBpsOption<u32>
TraderFundsWithdrawnEnqueuedEventstruct
- traderpubkey
- authoritypubkey
- amountu64
- traderSequenceNumberu64
- traderPrevSequenceNumberSlotu64
- postWithdrawalBudgetu64
- postQueueSizeu64
- totalQueuedAmountu64
- withdrawQueueSequenceNumberu64
- withdrawQueuePrevSequenceNumberSlotu64
TraderFundsWithdrawnDroppedEventstruct
- traderpubkey
- authoritypubkey
- amountu64
- traderSequenceNumberu64
- traderPrevSequenceNumberSlotu64
- postWithdrawalBudgetu64
- postQueueSizeu64
- totalQueuedAmountu64
- withdrawQueueSequenceNumberu64
- withdrawQueuePrevSequenceNumberSlotu64
Events 67
SlotContextEvent
no fields
MarketEventHeader
no fields
OrderPlacedEvent
no fields
OrderFilledEvent
no fields
OrderRejectedEvent
no fields
SplineFilledEvent
no fields
TradeSummaryEvent
no fields
OrderModifiedEvent
no fields
MarketSummaryEvent
no fields
TraderRegisteredEvent
no fields
TraderCollateralTransferredEvent
no fields
TraderActivatedEvent
no fields
TraderDeactivatedEvent
no fields
TraderFundsDepositedEvent
no fields
TraderFundsWithdrawnEvent
no fields
TraderFundsWithdrawnEnqueuedEvent
no fields
TraderFundsWithdrawnDroppedEvent
no fields
TraderWithdrawCancelledEvent
no fields
TraderFundingSettledEvent
no fields
SplineRegisteredEvent
no fields
SplineActivatedEvent
no fields
SplineDeactivatedEvent
no fields
SplinePriceUpdatedEvent
no fields
SplineParametersUpdatedEvent
no fields
MarketAddedEvent
no fields
MarketStatusChangedEvent
no fields
MarketParametersUpdatedEvent
no fields
FundingParametersUpdatedEvent
no fields
FeesClaimedEvent
no fields
PricesUpdatedEvent
no fields
LiquidationTransferSummaryEvent
no fields
LiquidationTransferEvent
no fields
LiquidationEvent
no fields
CloseMatchedPositionsEvent
no fields
NameSuccessorEvent
no fields
ClaimAuthorityEvent
no fields
WithdrawStateTransitionEvent
no fields
PnLEvent
no fields
StopLossPlacedEvent
no fields
StopLossCancelledEvent
no fields
StopLossExecutedEvent
no fields
ExchangeStatusChangedEvent
no fields
TraderCapabilitiesEnabledEvent
no fields
TraderFundsWithdrawnFeePaymentEvent
no fields
OrderPacketEvent
no fields
SetPermissionEvent
no fields
AuthorityChangedEvent
no fields
TraderDelegatedEvent
no fields
AdminParameterUpdatedEvent
no fields
TraderFeesUpdatedEvent
no fields
MarketClosedEvent
no fields
MarketDeletedEvent
no fields
EscrowAccountCreatedEvent
no fields
EscrowRequestCreatedEvent
no fields
EscrowRequestAcceptedEvent
no fields
EscrowRequestCancelledEvent
no fields
SplinePriceUpdatedWithOrderingEvent
no fields
SplineParametersUpdatedWithOrderingEvent
no fields
TriggerOrderPlacedEvent
no fields
TriggerOrderCancelledEvent
no fields
TriggerOrderExecutedEvent
no fields
PingInvalidatedEvent
no fields
PingActivatedEvent
no fields
SplinePositionLimitsConfigUpdatedEvent
no fields
MarketTombstonedEvent
no fields
ShutdownClosePositionsEvent
no fields
OrderResidualDiscardedEvent
no fields
What's an IDL?
An IDL — Interface Description Language — is a JSON spec that describes how to talk to a program: its instructions, the accounts each one needs, argument and account types, events, and errors.
Anchor auto-generates it at build time. A program can publish it on-chain at a PDA derived from its id, so any client or explorer can decode the program's transactions without its source code.
Why it's often missing
Publishing is opt-in — a courtesy, not a requirement. Many programs never do, and non-Anchor frameworks (Pinocchio, native, Steel) don't produce one at all; their interface lives in an off-chain Shank/Codama artifact, or nowhere public. Absence means you can't auto-decode it — not that anything is wrong.
8 of 80 instructions used · 72 never called in this window · +5 more