Zeta Markets decoder

Decode Zeta Markets instructions, accounts and events in Rust with carbon-zeta-decoder 2.0.0. Program ID ZETAxsqBRek56DhiGXrn75yj2NHU3aYUnxvHXpkf3aD.

On this page

carbon-zeta-decoder decodes the instructions, accounts and events of the Zeta Markets program (ZETAxsqBRek56DhiGXrn75yj2NHU3aYUnxvHXpkf3aD): 107 instructions, 23 account types, 8 events. It is generated with Codama from the program's IDL; see decoders for how decoders plug into a pipeline.

Cratecarbon-zeta-decoder 2.0.0
Installcargo add carbon-zeta-decoder@2.0.0
Program IDZETAxsqBRek56DhiGXrn75yj2NHU3aYUnxvHXpkf3aD (carbon_zeta_decoder::PROGRAM_ID)
CategoryPerpetuals & derivatives
Decodercarbon_zeta_decoder::ZetaDecoder
Instruction enuminstructions::ZetaInstruction
Account enumaccounts::ZetaAccount
Event enuminstructions::CpiEvent
Featuresserde, postgres, graphql (none enabled by default)
API docsdocs.rs/carbon-zeta-decoder/2.0.0
Sourcedecoders/zeta-decoder

Other perpetuals and derivatives decoders: Drift v2, Jupiter Perpetuals. To decode several in one pipeline, see perpetuals and derivatives decoders.

The serde feature derives Serialize/Deserialize on every type, postgres adds tables and processors for Postgres, and graphql adds a schema for the GraphQL server.

Usage#

This program crawls recent Zeta Markets transactions from the public RPC and prints every decoded PlacePerpOrderV3 instruction. Add the dependencies:

Terminal
cargo add carbon-core@2.0.0 carbon-zeta-decoder@2.0.0 carbon-rpc-transaction-crawler-datasource@2.0.0 carbon-log-metrics@2.0.0 env_logger tokio --features tokio/full
src/main.rs
use {
    carbon_core::{
        error::CarbonResult, instruction::InstructionProcessorInputType, pipeline::Pipeline,
        processor::Processor,
    },
    carbon_log_metrics::LogMetrics,
    carbon_zeta_decoder::{instructions::ZetaInstruction, ZetaDecoder, PROGRAM_ID},
    carbon_rpc_transaction_crawler_datasource::{ConnectionConfig, Filters, RpcTransactionCrawler},
    std::sync::Arc,
};

#[tokio::main]
async fn main() -> CarbonResult<()> {
    env_logger::init();

    // Fetches the program's recent transactions over JSON-RPC, newest first.
    let datasource = RpcTransactionCrawler::new(
        "https://api.mainnet-beta.solana.com".to_string(),
        PROGRAM_ID,
        ConnectionConfig::default(),
        Filters::new(None, None, None),
        None,
    );

    Pipeline::builder()
        .datasource(datasource)
        .metrics(Arc::new(LogMetrics::new()))
        .instruction(ZetaDecoder, InstructionLogger)
        .build()?
        .run()
        .await
}

struct InstructionLogger;

impl Processor<InstructionProcessorInputType<'_, ZetaInstruction>> for InstructionLogger {
    async fn process(
        &mut self,
        input: &InstructionProcessorInputType<'_, ZetaInstruction>,
    ) -> CarbonResult<()> {
        let signature = input.metadata.transaction_metadata.signature;
        if let ZetaInstruction::PlacePerpOrderV3 { data, accounts, .. } = input.decoded_instruction {
            println!("place_perp_order_v3 {signature}: {data:?} state={}", accounts.state);
        }
        Ok(())
    }
}
Terminal
RUST_LOG=info cargo run

Each PlacePerpOrderV3 instruction prints one line with the transaction signature and the decoded PlacePerpOrderV3 data. The public endpoint rate-limits requests, so the first lines can take a while; use your own RPC URL for anything beyond a test. See stream with RPC for the crawler options.

Events published with Anchor's emit_cpi! arrive as the CpiEvent instruction. Match them with ZetaInstruction::CpiEvent { data: CpiEvent::TradeEvent(event), .. } (import instructions::CpiEvent); see Events. If CpiEvent never arrives, the program logs its events with emit! instead: decode them with decode_log_events.

Decode accounts#

The transaction crawler emits transactions only. To decode accounts, use a datasource that emits account updates. This program subscribes to the program's accounts with programSubscribe on the public WebSocket endpoint and prints every decoded CrossMarginAccount account as it changes. Add the datasource and the Solana RPC types it takes:

Terminal
cargo add carbon-rpc-program-subscribe-datasource@2.0.0 solana-client@4.2.2
src/main.rs
use {
    carbon_core::{
        account::AccountProcessorInputType, error::CarbonResult, pipeline::Pipeline,
        processor::Processor,
    },
    carbon_log_metrics::LogMetrics,
    carbon_zeta_decoder::{accounts::ZetaAccount, ZetaDecoder, PROGRAM_ID},
    carbon_rpc_program_subscribe_datasource::{Filters, RpcProgramSubscribe},
    solana_client::rpc_config::{RpcAccountInfoConfig, RpcProgramAccountsConfig, UiAccountEncoding},
    std::sync::Arc,
};

#[tokio::main]
async fn main() -> CarbonResult<()> {
    env_logger::init();

    // Streams every change to an account owned by the program (programSubscribe).
    let config = RpcProgramAccountsConfig {
        account_config: RpcAccountInfoConfig {
            encoding: Some(UiAccountEncoding::Base64),
            ..Default::default()
        },
        ..Default::default()
    };
    let datasource = RpcProgramSubscribe::new(
        "wss://api.mainnet-beta.solana.com".to_string(),
        Filters::new(PROGRAM_ID, Some(config)),
    );

    Pipeline::builder()
        .datasource(datasource)
        .metrics(Arc::new(LogMetrics::new()))
        .account(ZetaDecoder, AccountLogger)
        .build()?
        .run()
        .await
}

struct AccountLogger;

impl Processor<AccountProcessorInputType<'_, ZetaAccount>> for AccountLogger {
    async fn process(
        &mut self,
        input: &AccountProcessorInputType<'_, ZetaAccount>,
    ) -> CarbonResult<()> {
        if let ZetaAccount::CrossMarginAccount(cross_margin_account) = &input.decoded_account.data {
            println!("cross_margin_account {}: {cross_margin_account:?}", input.metadata.pubkey);
        }
        Ok(())
    }
}
Terminal
RUST_LOG=info cargo run

Each update to a CrossMarginAccount account prints its address and decoded fields; the program runs until you stop it. Cargo resolves solana-client to 4.2.2, the exact version the datasource pins, so both use the same RpcProgramAccountsConfig type. To load every existing account once instead of streaming changes, see load account state.

Instructions#

Variants of ZetaInstruction. Each is ZetaInstruction::<Variant> { program_id, data, accounts }, where data and accounts are the types listed under the variant, exported from carbon_zeta_decoder::instructions. Discriminators are the leading bytes of the instruction data, in hex.

How an instruction decodes. The decoder returns a variant only when all of these hold; otherwise the instruction is skipped and no processor is called:

  1. The instruction's program ID is ZETAxsqBRek56DhiGXrn75yj2NHU3aYUnxvHXpkf3aD.
  2. The data starts with the variant's discriminator, and the rest deserializes into its data type.
  3. The instruction has at least as many accounts as the variant requires (the "Required accounts" count under each variant).

Accounts. They are matched by position, in the order listed. An account marked optional is None only when the instruction ends before it; Anchor programs pass the program ID as a placeholder for an omitted optional account, so check for Some(PROGRAM_ID) too. Accounts after the listed ones are in accounts.remaining as AccountMetas. The decoder doesn't record whether an account signed or was writable: read that from input.raw_instruction.accounts[i].is_signer and .is_writable, which follow the same order. It doesn't check signer, writable, owner or PDA constraints either; the program enforced those when the transaction executed, so a decoded instruction from a successful transaction already satisfied them.

AddMarketIndexes#

Discriminator 5ef690af04a4e9fc · data AddMarketIndexes · accounts AddMarketIndexesInstructionAccounts.

No data fields.

Required accounts: 2; extras go to remaining.

Fields of AddMarketIndexesInstructionAccounts, in account order:

#FieldType
0market_indexesPubkey
1zeta_groupPubkey
2…remainingVec<AccountMeta>

AddPerpMarketIndex#

Discriminator 7a280e40a912e788 · data AddPerpMarketIndex · accounts AddPerpMarketIndexInstructionAccounts.

FieldType
assetAsset

Required accounts: 2; extras go to remaining.

Fields of AddPerpMarketIndexInstructionAccounts, in account order:

#FieldType
0market_indexesPubkey
1pricingPubkey
2…remainingVec<AccountMeta>

ApplyPerpFunding#

Discriminator 1752e1dedb7ae6fb · data ApplyPerpFunding · accounts ApplyPerpFundingInstructionAccounts.

FieldType
assetAsset

Required accounts: 2; extras go to remaining.

Fields of ApplyPerpFundingInstructionAccounts, in account order:

#FieldType
0statePubkey
1pricingPubkey
2…remainingVec<AccountMeta>

BurnVaultTokens#

Discriminator e9cba5c9af2bbc9f · data BurnVaultTokens · accounts BurnVaultTokensInstructionAccounts.

No data fields.

Required accounts: 5; extras go to remaining.

Fields of BurnVaultTokensInstructionAccounts, in account order:

#FieldType
0statePubkey
1mintPubkey
2vaultPubkey
3serum_authorityPubkey
4token_programPubkey
5…remainingVec<AccountMeta>

CancelAllMarketOrders#

Discriminator 8bbee6f94da0ce04 · data CancelAllMarketOrders · accounts CancelAllMarketOrdersInstructionAccounts.

FieldType
assetAsset

Required accounts: 10; extras go to remaining.

Fields of CancelAllMarketOrdersInstructionAccounts, in account order:

#FieldType
0authorityPubkey
1statePubkey
2margin_accountPubkey
3dex_programPubkey
4serum_authorityPubkey
5open_ordersPubkey
6marketPubkey
7bidsPubkey
8asksPubkey
9event_queuePubkey
10…remainingVec<AccountMeta>

CancelOrder#

Discriminator 5f81edf00831df84 · data CancelOrder · accounts CancelOrderInstructionAccounts.

FieldType
sideSide
order_idu128
assetAsset

Required accounts: 10; extras go to remaining.

Fields of CancelOrderInstructionAccounts, in account order:

#FieldType
0authorityPubkey
1statePubkey
2margin_accountPubkey
3dex_programPubkey
4serum_authorityPubkey
5open_ordersPubkey
6marketPubkey
7bidsPubkey
8asksPubkey
9event_queuePubkey
10…remainingVec<AccountMeta>

CancelOrderByClientOrderId#

Discriminator 73b2c908afb77b77 · data CancelOrderByClientOrderId · accounts CancelOrderByClientOrderIdInstructionAccounts.

FieldType
client_order_idu64
assetAsset

Required accounts: 10; extras go to remaining.

Fields of CancelOrderByClientOrderIdInstructionAccounts, in account order:

#FieldType
0authorityPubkey
1statePubkey
2margin_accountPubkey
3dex_programPubkey
4serum_authorityPubkey
5open_ordersPubkey
6marketPubkey
7bidsPubkey
8asksPubkey
9event_queuePubkey
10…remainingVec<AccountMeta>

CancelOrderByClientOrderIdNoError#

Discriminator 354da79daf8390ab · data CancelOrderByClientOrderIdNoError · accounts CancelOrderByClientOrderIdNoErrorInstructionAccounts.

FieldType
client_order_idu64
assetAsset

Required accounts: 10; extras go to remaining.

Fields of CancelOrderByClientOrderIdNoErrorInstructionAccounts, in account order:

#FieldType
0authorityPubkey
1statePubkey
2margin_accountPubkey
3dex_programPubkey
4serum_authorityPubkey
5open_ordersPubkey
6marketPubkey
7bidsPubkey
8asksPubkey
9event_queuePubkey
10…remainingVec<AccountMeta>

CancelOrderHalted#

Discriminator 00c0e902fcfb82a9 · data CancelOrderHalted · accounts CancelOrderHaltedInstructionAccounts.

FieldType
sideSide
order_idu128
assetAsset

Required accounts: 9; extras go to remaining.

Fields of CancelOrderHaltedInstructionAccounts, in account order:

#FieldType
0statePubkey
1margin_accountPubkey
2dex_programPubkey
3serum_authorityPubkey
4open_ordersPubkey
5marketPubkey
6bidsPubkey
7asksPubkey
8event_queuePubkey
9…remainingVec<AccountMeta>

CancelOrderNoError#

Discriminator 5f61d7cc6f33ccb8 · data CancelOrderNoError · accounts CancelOrderNoErrorInstructionAccounts.

FieldType
sideSide
order_idu128
assetAsset

Required accounts: 10; extras go to remaining.

Fields of CancelOrderNoErrorInstructionAccounts, in account order:

#FieldType
0authorityPubkey
1statePubkey
2margin_accountPubkey
3dex_programPubkey
4serum_authorityPubkey
5open_ordersPubkey
6marketPubkey
7bidsPubkey
8asksPubkey
9event_queuePubkey
10…remainingVec<AccountMeta>

ClaimReferralsRewards#

Discriminator 799c6d9f9edbd98f · data ClaimReferralsRewards · accounts ClaimReferralsRewardsInstructionAccounts.

No data fields.

Required accounts: 6; extras go to remaining.

Fields of ClaimReferralsRewardsInstructionAccounts, in account order:

#FieldType
0statePubkey
1referrals_rewards_walletPubkey
2user_referrals_accountPubkey
3user_token_accountPubkey
4token_programPubkey
5userPubkey
6…remainingVec<AccountMeta>

CleanZetaMarketHalted#

Discriminator 898c5e12e7e8d9cc · data CleanZetaMarketHalted · accounts CleanZetaMarketHaltedInstructionAccounts.

FieldType
assetAsset

Required accounts: 4; extras go to remaining.

Fields of CleanZetaMarketHaltedInstructionAccounts, in account order:

#FieldType
0statePubkey
1marketPubkey
2bidsPubkey
3asksPubkey
4…remainingVec<AccountMeta>

CleanZetaMarkets#

Discriminator 7a7f315944e4559d · data CleanZetaMarkets · accounts CleanZetaMarketsInstructionAccounts.

No data fields.

Required accounts: 2; extras go to remaining.

Fields of CleanZetaMarketsInstructionAccounts, in account order:

#FieldType
0statePubkey
1zeta_groupPubkey
2…remainingVec<AccountMeta>

CloseCrossMarginAccount#

Discriminator cbc4bb3c0daabe45 · data CloseCrossMarginAccount · accounts CloseCrossMarginAccountInstructionAccounts.

FieldType
subaccount_indexu8

Required accounts: 3; extras go to remaining.

Fields of CloseCrossMarginAccountInstructionAccounts, in account order:

#FieldType
0cross_margin_accountPubkey
1cross_margin_account_managerPubkey
2authorityPubkey
3…remainingVec<AccountMeta>

CloseCrossMarginAccountManager#

Discriminator e8b6b689565876fc · data CloseCrossMarginAccountManager · accounts CloseCrossMarginAccountManagerInstructionAccounts.

No data fields.

Required accounts: 2; extras go to remaining.

Fields of CloseCrossMarginAccountManagerInstructionAccounts, in account order:

#FieldType
0cross_margin_account_managerPubkey
1authorityPubkey
2…remainingVec<AccountMeta>

CloseMarginAccount#

Discriminator 69d729efa6cf0167 · data CloseMarginAccount · accounts CloseMarginAccountInstructionAccounts.

No data fields.

Required accounts: 3; extras go to remaining.

Fields of CloseMarginAccountInstructionAccounts, in account order:

#FieldType
0margin_accountPubkey
1authorityPubkey
2zeta_groupPubkey
3…remainingVec<AccountMeta>

CloseOpenOrders#

Discriminator c8d83fef07e6ff14 · data CloseOpenOrders · accounts CloseOpenOrdersInstructionAccounts.

FieldType
map_nonceu8

Required accounts: 9; extras go to remaining.

Fields of CloseOpenOrdersInstructionAccounts, in account order:

#FieldType
0statePubkey
1zeta_groupPubkey
2dex_programPubkey
3open_ordersPubkey
4margin_accountPubkey
5authorityPubkey
6marketPubkey
7serum_authorityPubkey
8open_orders_mapPubkey
9…remainingVec<AccountMeta>

CloseOpenOrdersV2#

Discriminator 4e98c4a344b37948 · data CloseOpenOrdersV2 · accounts CloseOpenOrdersV2InstructionAccounts.

FieldType
map_nonceu8

Required accounts: 8; extras go to remaining.

Fields of CloseOpenOrdersV2InstructionAccounts, in account order:

#FieldType
0statePubkey
1dex_programPubkey
2open_ordersPubkey
3margin_accountPubkey
4authorityPubkey
5marketPubkey
6serum_authorityPubkey
7open_orders_mapPubkey
8…remainingVec<AccountMeta>

CloseOpenOrdersV3#

Discriminator cf0fc64ac5e4b01e · data CloseOpenOrdersV3 · accounts CloseOpenOrdersV3InstructionAccounts.

FieldType
map_nonceu8
assetAsset

Required accounts: 9; extras go to remaining.

Fields of CloseOpenOrdersV3InstructionAccounts, in account order:

#FieldType
0statePubkey
1pricingPubkey
2dex_programPubkey
3open_ordersPubkey
4cross_margin_accountPubkey
5authorityPubkey
6marketPubkey
7serum_authorityPubkey
8open_orders_mapPubkey
9…remainingVec<AccountMeta>

CloseSpreadAccount#

Discriminator bee4fd10c994a1f0 · data CloseSpreadAccount · accounts CloseSpreadAccountInstructionAccounts.

No data fields.

Required accounts: 3; extras go to remaining.

Fields of CloseSpreadAccountInstructionAccounts, in account order:

#FieldType
0spread_accountPubkey
1authorityPubkey
2zeta_groupPubkey
3…remainingVec<AccountMeta>

CollectTreasuryFunds#

Discriminator f3d504ec1af6b4ae · data CollectTreasuryFunds · accounts CollectTreasuryFundsInstructionAccounts.

FieldType
amountu64

Required accounts: 5; extras go to remaining.

Fields of CollectTreasuryFundsInstructionAccounts, in account order:

#FieldType
0statePubkey
1treasury_walletPubkey
2collection_token_accountPubkey
3token_programPubkey
4adminPubkey
5…remainingVec<AccountMeta>

CrankEventQueue#

From the program's IDL:

The only events that need to be cranked are maker fills.

Discriminator 438561dfb2bcebb5 · data CrankEventQueue · accounts CrankEventQueueInstructionAccounts.

FieldType
assetAsset

Required accounts: 7; extras go to remaining.

Fields of CrankEventQueueInstructionAccounts, in account order:

#FieldType
0statePubkey
1pricingPubkey
2marketPubkey
3event_queuePubkey
4dex_programPubkey
5serum_authorityPubkey
6perp_sync_queuePubkey
7…remainingVec<AccountMeta>

Deposit#

Discriminator f223c68952e1f2b6 · data Deposit · accounts DepositInstructionAccounts.

FieldType
amountu64

Required accounts: 9; extras go to remaining.

Fields of DepositInstructionAccounts, in account order:

#FieldType
0zeta_groupPubkey
1margin_accountPubkey
2vaultPubkey
3user_token_accountPubkey
4socialized_loss_accountPubkey
5authorityPubkey
6token_programPubkey
7statePubkey
8greeksPubkey
9…remainingVec<AccountMeta>

DepositInsuranceVault#

Discriminator 2f35192f6d7a1616 · data DepositInsuranceVault · accounts DepositInsuranceVaultInstructionAccounts.

FieldType
amountu64

Required accounts: 8; extras go to remaining.

Fields of DepositInsuranceVaultInstructionAccounts, in account order:

#FieldType
0statePubkey
1insurance_vaultPubkey
2insurance_deposit_accountPubkey
3user_token_accountPubkey
4zeta_vaultPubkey
5socialized_loss_accountPubkey
6authorityPubkey
7token_programPubkey
8…remainingVec<AccountMeta>

DepositInsuranceVaultV2#

Discriminator f22c18135b3b07c9 · data DepositInsuranceVaultV2 · accounts DepositInsuranceVaultV2InstructionAccounts.

FieldType
amountu64

Required accounts: 9; extras go to remaining.

Fields of DepositInsuranceVaultV2InstructionAccounts, in account order:

#FieldType
0statePubkey
1pricingPubkey
2insurance_vaultPubkey
3insurance_deposit_accountPubkey
4user_token_accountPubkey
5zeta_vaultPubkey
6socialized_loss_accountPubkey
7authorityPubkey
8token_programPubkey
9…remainingVec<AccountMeta>

DepositV2#

Discriminator 6d4b4599acda9213 · data DepositV2 · accounts DepositV2InstructionAccounts.

FieldType
amountu64

Required accounts: 8; extras go to remaining.

Fields of DepositV2InstructionAccounts, in account order:

#FieldType
0margin_accountPubkey
1vaultPubkey
2user_token_accountPubkey
3socialized_loss_accountPubkey
4authorityPubkey
5token_programPubkey
6statePubkey
7pricingPubkey
8…remainingVec<AccountMeta>

EditDelegatedPubkey#

Discriminator 89f547592ef91635 · data EditDelegatedPubkey · accounts EditDelegatedPubkeyInstructionAccounts.

FieldType
new_keyPubkey

Required accounts: 2; extras go to remaining.

Fields of EditDelegatedPubkeyInstructionAccounts, in account order:

#FieldType
0margin_accountPubkey
1authorityPubkey
2…remainingVec<AccountMeta>

ExpireSeries#

Discriminator 2da269622c15ab7f · data ExpireSeries · accounts ExpireSeriesInstructionAccounts.

FieldType
settlement_nonceu8

No named accounts.

ExpireSeriesOverride#

Discriminator 6816227b56e08246 · data ExpireSeriesOverride · accounts ExpireSeriesOverrideInstructionAccounts.

No named accounts.

ForceCancelOrderByOrderId#

Discriminator b6eb30b3f885d2f0 · data ForceCancelOrderByOrderId · accounts ForceCancelOrderByOrderIdInstructionAccounts.

FieldType
sideSide
order_idu128
assetAsset

Required accounts: 14; extras go to remaining.

Fields of ForceCancelOrderByOrderIdInstructionAccounts, in account order:

#FieldType
0zeta_groupPubkey
1greeksPubkey
2oraclePubkey
3oracle_backup_feedPubkey
4oracle_backup_programPubkey
5statePubkey
6margin_accountPubkey
7dex_programPubkey
8serum_authorityPubkey
9open_ordersPubkey
10marketPubkey
11bidsPubkey
12asksPubkey
13event_queuePubkey
14…remainingVec<AccountMeta>

ForceCancelOrderByOrderIdV2#

Discriminator 51f33c5adec929de · data ForceCancelOrderByOrderIdV2 · accounts ForceCancelOrderByOrderIdV2InstructionAccounts.

FieldType
sideSide
order_idu128
assetAsset

Required accounts: 13; extras go to remaining.

Fields of ForceCancelOrderByOrderIdV2InstructionAccounts, in account order:

#FieldType
0pricingPubkey
1oraclePubkey
2oracle_backup_feedPubkey
3oracle_backup_programPubkey
4statePubkey
5margin_accountPubkey
6dex_programPubkey
7serum_authorityPubkey
8open_ordersPubkey
9marketPubkey
10bidsPubkey
11asksPubkey
12event_queuePubkey
13…remainingVec<AccountMeta>

ForceCancelOrders#

Discriminator 40b5c43fde4840e8 · data ForceCancelOrders · accounts ForceCancelOrdersInstructionAccounts.

FieldType
assetAsset

Required accounts: 14; extras go to remaining.

Fields of ForceCancelOrdersInstructionAccounts, in account order:

#FieldType
0zeta_groupPubkey
1greeksPubkey
2oraclePubkey
3oracle_backup_feedPubkey
4oracle_backup_programPubkey
5statePubkey
6margin_accountPubkey
7dex_programPubkey
8serum_authorityPubkey
9open_ordersPubkey
10marketPubkey
11bidsPubkey
12asksPubkey
13event_queuePubkey
14…remainingVec<AccountMeta>

ForceCancelOrdersV2#

Discriminator 0e3e95ca8f113873 · data ForceCancelOrdersV2 · accounts ForceCancelOrdersV2InstructionAccounts.

FieldType
assetAsset

Required accounts: 13; extras go to remaining.

Fields of ForceCancelOrdersV2InstructionAccounts, in account order:

#FieldType
0pricingPubkey
1oraclePubkey
2oracle_backup_feedPubkey
3oracle_backup_programPubkey
4statePubkey
5margin_accountPubkey
6dex_programPubkey
7serum_authorityPubkey
8open_ordersPubkey
9marketPubkey
10bidsPubkey
11asksPubkey
12event_queuePubkey
13…remainingVec<AccountMeta>

Halt#

Discriminator 189c087941030552 · data Halt · accounts HaltInstructionAccounts.

FieldType
assetAsset

Required accounts: 3; extras go to remaining.

Fields of HaltInstructionAccounts, in account order:

#FieldType
0statePubkey
1pricingPubkey
2adminPubkey
3…remainingVec<AccountMeta>

InitializeCombinedInsuranceVault#

Discriminator 4d12b590db54066a · data InitializeCombinedInsuranceVault · accounts InitializeCombinedInsuranceVaultInstructionAccounts.

FieldType
nonceu8

Required accounts: 6; extras go to remaining.

Fields of InitializeCombinedInsuranceVaultInstructionAccounts, in account order:

#FieldType
0statePubkey
1insurance_vaultPubkey
2token_programPubkey
3usdc_mintPubkey
4adminPubkey
5system_programPubkey
6…remainingVec<AccountMeta>

InitializeCombinedSocializedLossAccount#

Discriminator 886c58f5e6e06552 · data InitializeCombinedSocializedLossAccount · accounts InitializeCombinedSocializedLossAccountInstructionAccounts.

FieldType
nonceu8

Required accounts: 6; extras go to remaining.

Fields of InitializeCombinedSocializedLossAccountInstructionAccounts, in account order:

#FieldType
0statePubkey
1socialized_loss_accountPubkey
2token_programPubkey
3usdc_mintPubkey
4adminPubkey
5system_programPubkey
6…remainingVec<AccountMeta>

InitializeCombinedVault#

Discriminator 3b6369114977e5fc · data InitializeCombinedVault · accounts InitializeCombinedVaultInstructionAccounts.

FieldType
nonceu8

Required accounts: 6; extras go to remaining.

Fields of InitializeCombinedVaultInstructionAccounts, in account order:

#FieldType
0statePubkey
1vaultPubkey
2token_programPubkey
3usdc_mintPubkey
4adminPubkey
5system_programPubkey
6…remainingVec<AccountMeta>

InitializeCrossMarginAccount#

Discriminator 1b1ae432d2d3cd5e · data InitializeCrossMarginAccount · accounts InitializeCrossMarginAccountInstructionAccounts.

FieldType
subaccount_indexu8

Required accounts: 6; extras go to remaining.

Fields of InitializeCrossMarginAccountInstructionAccounts, in account order:

#FieldType
0cross_margin_accountPubkey
1cross_margin_account_managerPubkey
2authorityPubkey
3payerPubkey
4zeta_programPubkey
5system_programPubkey
6…remainingVec<AccountMeta>

InitializeCrossMarginAccountManager#

Discriminator 489a0f1ca5d7d1c7 · data InitializeCrossMarginAccountManager · accounts InitializeCrossMarginAccountManagerInstructionAccounts.

No data fields.

Required accounts: 5; extras go to remaining.

Fields of InitializeCrossMarginAccountManagerInstructionAccounts, in account order:

#FieldType
0cross_margin_account_managerPubkey
1authorityPubkey
2payerPubkey
3zeta_programPubkey
4system_programPubkey
5…remainingVec<AccountMeta>

InitializeInsuranceDepositAccount#

Discriminator 55a372798ba72925 · data InitializeInsuranceDepositAccount · accounts InitializeInsuranceDepositAccountInstructionAccounts.

FieldType
nonceu8

Required accounts: 5; extras go to remaining.

Fields of InitializeInsuranceDepositAccountInstructionAccounts, in account order:

#FieldType
0insurance_deposit_accountPubkey
1authorityPubkey
2payerPubkey
3system_programPubkey
4whitelist_insurance_accountPubkey
5…remainingVec<AccountMeta>

InitializeMarginAccount#

Discriminator 43eb4266a7ab78c5 · data InitializeMarginAccount · accounts InitializeMarginAccountInstructionAccounts.

No data fields.

Required accounts: 6; extras go to remaining.

Fields of InitializeMarginAccountInstructionAccounts, in account order:

#FieldType
0margin_accountPubkey
1authorityPubkey
2payerPubkey
3zeta_programPubkey
4system_programPubkey
5zeta_groupPubkey
6…remainingVec<AccountMeta>

InitializeMarketIndexes#

Discriminator 5b3fcd901453b178 · data InitializeMarketIndexes · accounts InitializeMarketIndexesInstructionAccounts.

FieldType
nonceu8
assetAsset

Required accounts: 5; extras go to remaining.

Fields of InitializeMarketIndexesInstructionAccounts, in account order:

#FieldType
0statePubkey
1market_indexesPubkey
2adminPubkey
3system_programPubkey
4pricingPubkey
5…remainingVec<AccountMeta>

InitializeMarketNode#

Discriminator 32761515b3f81780 · data InitializeMarketNode · accounts InitializeMarketNodeInstructionAccounts.

Required accounts: 5; extras go to remaining.

Fields of InitializeMarketNodeInstructionAccounts, in account order:

#FieldType
0zeta_groupPubkey
1market_nodePubkey
2greeksPubkey
3payerPubkey
4system_programPubkey
5…remainingVec<AccountMeta>

InitializeMarketStrikes#

Discriminator bd2eff217e852bab · data InitializeMarketStrikes · accounts InitializeMarketStrikesInstructionAccounts.

No data fields.

Required accounts: 5; extras go to remaining.

Fields of InitializeMarketStrikesInstructionAccounts, in account order:

#FieldType
0statePubkey
1zeta_groupPubkey
2oraclePubkey
3oracle_backup_feedPubkey
4oracle_backup_programPubkey
5…remainingVec<AccountMeta>

InitializeMarketTifEpochCycle#

Discriminator c78fad93cacc40cc · data InitializeMarketTifEpochCycle · accounts InitializeMarketTifEpochCycleInstructionAccounts.

FieldType
epoch_lengthu16

Required accounts: 5; extras go to remaining.

Fields of InitializeMarketTifEpochCycleInstructionAccounts, in account order:

#FieldType
0statePubkey
1adminPubkey
2marketPubkey
3serum_authorityPubkey
4dex_programPubkey
5…remainingVec<AccountMeta>

InitializeOpenOrders#

Discriminator 37ea1052642a7ec0 · data InitializeOpenOrders · accounts InitializeOpenOrdersInstructionAccounts.

No data fields.

Required accounts: 12; extras go to remaining.

Fields of InitializeOpenOrdersInstructionAccounts, in account order:

#FieldType
0statePubkey
1zeta_groupPubkey
2dex_programPubkey
3system_programPubkey
4open_ordersPubkey
5margin_accountPubkey
6authorityPubkey
7payerPubkey
8marketPubkey
9serum_authorityPubkey
10open_orders_mapPubkey
11rentPubkey
12…remainingVec<AccountMeta>

InitializeOpenOrdersV2#

Discriminator dc11551470ae94e3 · data InitializeOpenOrdersV2 · accounts InitializeOpenOrdersV2InstructionAccounts.

No data fields.

Required accounts: 11; extras go to remaining.

Fields of InitializeOpenOrdersV2InstructionAccounts, in account order:

#FieldType
0statePubkey
1dex_programPubkey
2system_programPubkey
3open_ordersPubkey
4margin_accountPubkey
5authorityPubkey
6payerPubkey
7marketPubkey
8serum_authorityPubkey
9open_orders_mapPubkey
10rentPubkey
11…remainingVec<AccountMeta>

InitializeOpenOrdersV3#

Discriminator 16bf8b88792754ca · data InitializeOpenOrdersV3 · accounts InitializeOpenOrdersV3InstructionAccounts.

FieldType
assetAsset

Required accounts: 11; extras go to remaining.

Fields of InitializeOpenOrdersV3InstructionAccounts, in account order:

#FieldType
0statePubkey
1dex_programPubkey
2system_programPubkey
3open_ordersPubkey
4cross_margin_accountPubkey
5authorityPubkey
6payerPubkey
7marketPubkey
8serum_authorityPubkey
9open_orders_mapPubkey
10rentPubkey
11…remainingVec<AccountMeta>

InitializePerpSyncQueue#

Discriminator 0a379ae081aea108 · data InitializePerpSyncQueue · accounts InitializePerpSyncQueueInstructionAccounts.

FieldType
nonceu8
assetAsset

Required accounts: 6; extras go to remaining.

Fields of InitializePerpSyncQueueInstructionAccounts, in account order:

#FieldType
0adminPubkey
1zeta_programPubkey
2statePubkey
3perp_sync_queuePubkey
4pricingPubkey
5system_programPubkey
6…remainingVec<AccountMeta>

InitializeReferrerAccount#

Discriminator 2d5cca4447433304 · data InitializeReferrerAccount · accounts InitializeReferrerAccountInstructionAccounts.

No data fields.

Required accounts: 3; extras go to remaining.

Fields of InitializeReferrerAccountInstructionAccounts, in account order:

#FieldType
0referrerPubkey
1referrer_accountPubkey
2system_programPubkey
3…remainingVec<AccountMeta>

InitializeReferrerAlias#

Discriminator 431c034e8c6c148a · data InitializeReferrerAlias · accounts InitializeReferrerAliasInstructionAccounts.

FieldType
aliasString

Required accounts: 4; extras go to remaining.

Fields of InitializeReferrerAliasInstructionAccounts, in account order:

#FieldType
0referrerPubkey
1referrer_aliasPubkey
2referrer_accountPubkey
3system_programPubkey
4…remainingVec<AccountMeta>

InitializeSpreadAccount#

Discriminator ce56fb1b5b6f17d3 · data InitializeSpreadAccount · accounts InitializeSpreadAccountInstructionAccounts.

No data fields.

Required accounts: 6; extras go to remaining.

Fields of InitializeSpreadAccountInstructionAccounts, in account order:

#FieldType
0spread_accountPubkey
1authorityPubkey
2payerPubkey
3zeta_programPubkey
4system_programPubkey
5zeta_groupPubkey
6…remainingVec<AccountMeta>

InitializeUnderlying#

Discriminator 726cd55caf7c2b13 · data InitializeUnderlying · accounts InitializeUnderlyingInstructionAccounts.

FieldType
flex_underlyingbool

Required accounts: 6; extras go to remaining.

Fields of InitializeUnderlyingInstructionAccounts, in account order:

#FieldType
0adminPubkey
1zeta_programPubkey
2statePubkey
3system_programPubkey
4underlyingPubkey
5underlying_mintPubkey
6…remainingVec<AccountMeta>

InitializeWhitelistDepositAccount#

Discriminator 3de773db51f39e8a · data InitializeWhitelistDepositAccount · accounts InitializeWhitelistDepositAccountInstructionAccounts.

FieldType
nonceu8

Required accounts: 5; extras go to remaining.

Fields of InitializeWhitelistDepositAccountInstructionAccounts, in account order:

#FieldType
0whitelist_deposit_accountPubkey
1adminPubkey
2userPubkey
3system_programPubkey
4statePubkey
5…remainingVec<AccountMeta>

InitializeWhitelistInsuranceAccount#

Discriminator 2b2ef09b50045666 · data InitializeWhitelistInsuranceAccount · accounts InitializeWhitelistInsuranceAccountInstructionAccounts.

FieldType
nonceu8

Required accounts: 5; extras go to remaining.

Fields of InitializeWhitelistInsuranceAccountInstructionAccounts, in account order:

#FieldType
0whitelist_insurance_accountPubkey
1adminPubkey
2userPubkey
3system_programPubkey
4statePubkey
5…remainingVec<AccountMeta>

InitializeWhitelistTradingFeesAccount#

Discriminator c681d8b9f71d69be · data InitializeWhitelistTradingFeesAccount · accounts InitializeWhitelistTradingFeesAccountInstructionAccounts.

FieldType
nonceu8

Required accounts: 5; extras go to remaining.

Fields of InitializeWhitelistTradingFeesAccountInstructionAccounts, in account order:

#FieldType
0whitelist_trading_fees_accountPubkey
1adminPubkey
2userPubkey
3system_programPubkey
4statePubkey
5…remainingVec<AccountMeta>

InitializeZetaGroup#

Discriminator 068724e82327fa47 · data InitializeZetaGroup · accounts InitializeZetaGroupInstructionAccounts.

Required accounts: 18; extras go to remaining.

Fields of InitializeZetaGroupInstructionAccounts, in account order:

#FieldType
0statePubkey
1adminPubkey
2system_programPubkey
3underlying_mintPubkey
4zeta_programPubkey
5oraclePubkey
6oracle_backup_feedPubkey
7oracle_backup_programPubkey
8zeta_groupPubkey
9greeksPubkey
10perp_sync_queuePubkey
11underlyingPubkey
12vaultPubkey
13insurance_vaultPubkey
14socialized_loss_accountPubkey
15token_programPubkey
16usdc_mintPubkey
17rentPubkey
18…remainingVec<AccountMeta>

InitializeZetaMarket#

Discriminator 74efe2952ea3dd03 · data InitializeZetaMarket · accounts InitializeZetaMarketInstructionAccounts.

Required accounts: 22; extras go to remaining.

Fields of InitializeZetaMarketInstructionAccounts, in account order:

#FieldType
0statePubkey
1market_indexesPubkey
2pricingPubkey
3adminPubkey
4marketPubkey
5request_queuePubkey
6event_queuePubkey
7bidsPubkey
8asksPubkey
9base_mintPubkey
10quote_mintPubkey
11zeta_base_vaultPubkey
12zeta_quote_vaultPubkey
13dex_base_vaultPubkey
14dex_quote_vaultPubkey
15vault_ownerPubkey
16mint_authorityPubkey
17serum_authorityPubkey
18dex_programPubkey
19system_programPubkey
20token_programPubkey
21rentPubkey
22…remainingVec<AccountMeta>

InitializeZetaPricing#

Discriminator 23d1b41df5c77d10 · data InitializeZetaPricing · accounts InitializeZetaPricingInstructionAccounts.

Required accounts: 6; extras go to remaining.

Fields of InitializeZetaPricingInstructionAccounts, in account order:

#FieldType
0statePubkey
1pricingPubkey
2rentPubkey
3system_programPubkey
4token_programPubkey
5adminPubkey
6…remainingVec<AccountMeta>

InitializeZetaReferralsRewardsWallet#

Discriminator f5e5df780786f7f8 · data InitializeZetaReferralsRewardsWallet · accounts InitializeZetaReferralsRewardsWalletInstructionAccounts.

No data fields.

Required accounts: 7; extras go to remaining.

Fields of InitializeZetaReferralsRewardsWalletInstructionAccounts, in account order:

#FieldType
0statePubkey
1referrals_rewards_walletPubkey
2rentPubkey
3system_programPubkey
4token_programPubkey
5usdc_mintPubkey
6adminPubkey
7…remainingVec<AccountMeta>

InitializeZetaState#

Discriminator 44274b8ebf925ede · data InitializeZetaState · accounts InitializeZetaStateInstructionAccounts.

FieldType
argsInitializeStateArgs

Required accounts: 12; extras go to remaining.

Fields of InitializeZetaStateInstructionAccounts, in account order:

#FieldType
0statePubkey
1mint_authorityPubkey
2serum_authorityPubkey
3treasury_walletPubkey
4referrals_adminPubkey
5referrals_rewards_walletPubkey
6rentPubkey
7system_programPubkey
8token_programPubkey
9usdc_mintPubkey
10adminPubkey
11secondary_adminPubkey
12…remainingVec<AccountMeta>

InitializeZetaTreasuryWallet#

Discriminator f939bb66b86825e7 · data InitializeZetaTreasuryWallet · accounts InitializeZetaTreasuryWalletInstructionAccounts.

No data fields.

Required accounts: 7; extras go to remaining.

Fields of InitializeZetaTreasuryWalletInstructionAccounts, in account order:

#FieldType
0statePubkey
1treasury_walletPubkey
2rentPubkey
3system_programPubkey
4token_programPubkey
5usdc_mintPubkey
6adminPubkey
7…remainingVec<AccountMeta>

Liquidate#

Discriminator dfb3e27d302e274a · data Liquidate · accounts LiquidateInstructionAccounts.

FieldType
sizeu64

Required accounts: 10; extras go to remaining.

Fields of LiquidateInstructionAccounts, in account order:

#FieldType
0statePubkey
1liquidatorPubkey
2liquidator_margin_accountPubkey
3greeksPubkey
4oraclePubkey
5oracle_backup_feedPubkey
6oracle_backup_programPubkey
7marketPubkey
8zeta_groupPubkey
9liquidated_margin_accountPubkey
10…remainingVec<AccountMeta>

LiquidateV2#

Discriminator 0f56553702e1a1eb · data LiquidateV2 · accounts LiquidateV2InstructionAccounts.

FieldType
sizeu64
assetAsset

Required accounts: 9; extras go to remaining.

Fields of LiquidateV2InstructionAccounts, in account order:

#FieldType
0statePubkey
1liquidatorPubkey
2liquidator_accountPubkey
3pricingPubkey
4oraclePubkey
5oracle_backup_feedPubkey
6oracle_backup_programPubkey
7marketPubkey
8liquidated_accountPubkey
9…remainingVec<AccountMeta>

MigrateToCrossMarginAccount#

Discriminator 9d356b68b8bd64dc · data MigrateToCrossMarginAccount · accounts MigrateToCrossMarginAccountInstructionAccounts.

No data fields.

Required accounts: 3; extras go to remaining.

Fields of MigrateToCrossMarginAccountInstructionAccounts, in account order:

#FieldType
0cross_margin_accountPubkey
1pricingPubkey
2authorityPubkey
3…remainingVec<AccountMeta>

OverrideExpiry#

Discriminator 81c575726c77cf88 · data OverrideExpiry · accounts OverrideExpiryInstructionAccounts.

FieldType
argsOverrideExpiryArgs

Required accounts: 3; extras go to remaining.

Fields of OverrideExpiryInstructionAccounts, in account order:

#FieldType
0statePubkey
1adminPubkey
2zeta_groupPubkey
3…remainingVec<AccountMeta>

PlaceOrder#

Discriminator 33c29baf6d82606a · data PlaceOrder · accounts PlaceOrderInstructionAccounts.

FieldType
priceu64
sizeu64
sideSide
client_order_idOption<u64>

Required accounts: 26; extras go to remaining.

Fields of PlaceOrderInstructionAccounts, in account order:

#FieldType
0statePubkey
1zeta_groupPubkey
2margin_accountPubkey
3authorityPubkey
4dex_programPubkey
5token_programPubkey
6serum_authorityPubkey
7greeksPubkey
8open_ordersPubkey
9rentPubkey
10marketPubkey
11request_queuePubkey
12event_queuePubkey
13bidsPubkey
14asksPubkey
15order_payer_token_accountPubkey
16coin_vaultPubkey
17pc_vaultPubkey
18coin_walletPubkey
19pc_walletPubkey
20oraclePubkey
21oracle_backup_feedPubkey
22oracle_backup_programPubkey
23market_nodePubkey
24market_mintPubkey
25mint_authorityPubkey
26…remainingVec<AccountMeta>

PlaceOrderV2#

Discriminator e86f73c4ed8f3ecc · data PlaceOrderV2 · accounts PlaceOrderV2InstructionAccounts.

FieldType
priceu64
sizeu64
sideSide
order_typeOrderType
client_order_idOption<u64>

Required accounts: 26; extras go to remaining.

Fields of PlaceOrderV2InstructionAccounts, in account order:

#FieldType
0statePubkey
1zeta_groupPubkey
2margin_accountPubkey
3authorityPubkey
4dex_programPubkey
5token_programPubkey
6serum_authorityPubkey
7greeksPubkey
8open_ordersPubkey
9rentPubkey
10marketPubkey
11request_queuePubkey
12event_queuePubkey
13bidsPubkey
14asksPubkey
15order_payer_token_accountPubkey
16coin_vaultPubkey
17pc_vaultPubkey
18coin_walletPubkey
19pc_walletPubkey
20oraclePubkey
21oracle_backup_feedPubkey
22oracle_backup_programPubkey
23market_nodePubkey
24market_mintPubkey
25mint_authorityPubkey
26…remainingVec<AccountMeta>

PlaceOrderV3#

Discriminator 925d0ea79f14063a · data PlaceOrderV3 · accounts PlaceOrderV3InstructionAccounts.

FieldType
priceu64
sizeu64
sideSide
order_typeOrderType
client_order_idOption<u64>
tagOption<String>

Required accounts: 26; extras go to remaining.

Fields of PlaceOrderV3InstructionAccounts, in account order:

#FieldType
0statePubkey
1zeta_groupPubkey
2margin_accountPubkey
3authorityPubkey
4dex_programPubkey
5token_programPubkey
6serum_authorityPubkey
7greeksPubkey
8open_ordersPubkey
9rentPubkey
10marketPubkey
11request_queuePubkey
12event_queuePubkey
13bidsPubkey
14asksPubkey
15order_payer_token_accountPubkey
16coin_vaultPubkey
17pc_vaultPubkey
18coin_walletPubkey
19pc_walletPubkey
20oraclePubkey
21oracle_backup_feedPubkey
22oracle_backup_programPubkey
23market_nodePubkey
24market_mintPubkey
25mint_authorityPubkey
26…remainingVec<AccountMeta>

PlaceOrderV4#

Discriminator f3f8d58fb84f2949 · data PlaceOrderV4 · accounts PlaceOrderV4InstructionAccounts.

FieldType
priceu64
sizeu64
sideSide
order_typeOrderType
client_order_idOption<u64>
tagOption<String>
tif_offsetOption<u16>

Required accounts: 26; extras go to remaining.

Fields of PlaceOrderV4InstructionAccounts, in account order:

#FieldType
0statePubkey
1zeta_groupPubkey
2margin_accountPubkey
3authorityPubkey
4dex_programPubkey
5token_programPubkey
6serum_authorityPubkey
7greeksPubkey
8open_ordersPubkey
9rentPubkey
10marketPubkey
11request_queuePubkey
12event_queuePubkey
13bidsPubkey
14asksPubkey
15order_payer_token_accountPubkey
16coin_vaultPubkey
17pc_vaultPubkey
18coin_walletPubkey
19pc_walletPubkey
20oraclePubkey
21oracle_backup_feedPubkey
22oracle_backup_programPubkey
23market_nodePubkey
24market_mintPubkey
25mint_authorityPubkey
26…remainingVec<AccountMeta>

PlacePerpOrder#

Discriminator 45a15dca787e4cb9 · data PlacePerpOrder · accounts PlacePerpOrderInstructionAccounts.

FieldType
priceu64
sizeu64
sideSide
order_typeOrderType
client_order_idOption<u64>
tagOption<String>

Required accounts: 26; extras go to remaining.

Fields of PlacePerpOrderInstructionAccounts, in account order:

#FieldType
0statePubkey
1zeta_groupPubkey
2margin_accountPubkey
3authorityPubkey
4dex_programPubkey
5token_programPubkey
6serum_authorityPubkey
7greeksPubkey
8open_ordersPubkey
9rentPubkey
10marketPubkey
11request_queuePubkey
12event_queuePubkey
13bidsPubkey
14asksPubkey
15order_payer_token_accountPubkey
16coin_vaultPubkey
17pc_vaultPubkey
18coin_walletPubkey
19pc_walletPubkey
20oraclePubkey
21oracle_backup_feedPubkey
22oracle_backup_programPubkey
23market_mintPubkey
24mint_authorityPubkey
25perp_sync_queuePubkey
26…remainingVec<AccountMeta>

PlacePerpOrderV2#

Discriminator cd5482b43f760acf · data PlacePerpOrderV2 · accounts PlacePerpOrderV2InstructionAccounts.

FieldType
priceu64
sizeu64
sideSide
order_typeOrderType
client_order_idOption<u64>
tagOption<String>
tif_offsetOption<u16>

Required accounts: 26; extras go to remaining.

Fields of PlacePerpOrderV2InstructionAccounts, in account order:

#FieldType
0statePubkey
1zeta_groupPubkey
2margin_accountPubkey
3authorityPubkey
4dex_programPubkey
5token_programPubkey
6serum_authorityPubkey
7greeksPubkey
8open_ordersPubkey
9rentPubkey
10marketPubkey
11request_queuePubkey
12event_queuePubkey
13bidsPubkey
14asksPubkey
15order_payer_token_accountPubkey
16coin_vaultPubkey
17pc_vaultPubkey
18coin_walletPubkey
19pc_walletPubkey
20oraclePubkey
21oracle_backup_feedPubkey
22oracle_backup_programPubkey
23market_mintPubkey
24mint_authorityPubkey
25perp_sync_queuePubkey
26…remainingVec<AccountMeta>

PlacePerpOrderV3#

Discriminator 5bf660073516eae1 · data PlacePerpOrderV3 · accounts PlacePerpOrderV3InstructionAccounts.

FieldType
priceu64
sizeu64
sideSide
order_typeOrderType
client_order_idOption<u64>
tagOption<String>
tif_offsetOption<u16>
assetAsset

Required accounts: 25; extras go to remaining.

Fields of PlacePerpOrderV3InstructionAccounts, in account order:

#FieldType
0statePubkey
1pricingPubkey
2margin_accountPubkey
3authorityPubkey
4dex_programPubkey
5token_programPubkey
6serum_authorityPubkey
7open_ordersPubkey
8rentPubkey
9marketPubkey
10request_queuePubkey
11event_queuePubkey
12bidsPubkey
13asksPubkey
14order_payer_token_accountPubkey
15coin_vaultPubkey
16pc_vaultPubkey
17coin_walletPubkey
18pc_walletPubkey
19oraclePubkey
20oracle_backup_feedPubkey
21oracle_backup_programPubkey
22market_mintPubkey
23mint_authorityPubkey
24perp_sync_queuePubkey
25…remainingVec<AccountMeta>

PositionMovement#

Discriminator 75104bf9b37fab93 · data PositionMovement · accounts PositionMovementInstructionAccounts.

FieldType
movement_typeMovementType
movementsVec<PositionMovementArg>

Required accounts: 9; extras go to remaining.

Fields of PositionMovementInstructionAccounts, in account order:

#FieldType
0statePubkey
1zeta_groupPubkey
2margin_accountPubkey
3spread_accountPubkey
4authorityPubkey
5greeksPubkey
6oraclePubkey
7oracle_backup_feedPubkey
8oracle_backup_programPubkey
9…remainingVec<AccountMeta>

PruneExpiredTifOrders#

Discriminator 18e3e2d45d1af2e6 · data PruneExpiredTifOrders · accounts PruneExpiredTifOrdersInstructionAccounts.

No data fields.

Required accounts: 7; extras go to remaining.

Fields of PruneExpiredTifOrdersInstructionAccounts, in account order:

#FieldType
0dex_programPubkey
1statePubkey
2serum_authorityPubkey
3marketPubkey
4bidsPubkey
5asksPubkey
6event_queuePubkey
7…remainingVec<AccountMeta>

RebalanceInsuranceVault#

Discriminator 0bc442eb3beddf6f · data RebalanceInsuranceVault · accounts RebalanceInsuranceVaultInstructionAccounts.

No data fields.

Required accounts: 6; extras go to remaining.

Fields of RebalanceInsuranceVaultInstructionAccounts, in account order:

#FieldType
0statePubkey
1zeta_vaultPubkey
2insurance_vaultPubkey
3treasury_walletPubkey
4socialized_loss_accountPubkey
5token_programPubkey
6…remainingVec<AccountMeta>

ReferUser#

Discriminator 39729accb921aa88 · data ReferUser · accounts ReferUserInstructionAccounts.

No data fields.

Required accounts: 4; extras go to remaining.

Fields of ReferUserInstructionAccounts, in account order:

#FieldType
0userPubkey
1referrer_accountPubkey
2referral_accountPubkey
3system_programPubkey
4…remainingVec<AccountMeta>

ResetNumFlexUnderlyings#

Discriminator 3013fed1c8d3313d · data ResetNumFlexUnderlyings · accounts ResetNumFlexUnderlyingsInstructionAccounts.

No data fields.

Required accounts: 2; extras go to remaining.

Fields of ResetNumFlexUnderlyingsInstructionAccounts, in account order:

#FieldType
0statePubkey
1adminPubkey
2…remainingVec<AccountMeta>

SetReferralsRewards#

Discriminator 3ee801124b074d9e · data SetReferralsRewards · accounts SetReferralsRewardsInstructionAccounts.

Required accounts: 2; extras go to remaining.

Fields of SetReferralsRewardsInstructionAccounts, in account order:

#FieldType
0statePubkey
1referrals_adminPubkey
2…remainingVec<AccountMeta>

SettleDexFunds#

Discriminator a5678e26d3a60ee2 · data SettleDexFunds · accounts SettleDexFundsInstructionAccounts.

No data fields.

Required accounts: 11; extras go to remaining.

Fields of SettleDexFundsInstructionAccounts, in account order:

#FieldType
0statePubkey
1marketPubkey
2zeta_base_vaultPubkey
3zeta_quote_vaultPubkey
4dex_base_vaultPubkey
5dex_quote_vaultPubkey
6vault_ownerPubkey
7mint_authorityPubkey
8serum_authorityPubkey
9dex_programPubkey
10token_programPubkey
11…remainingVec<AccountMeta>

SettlePositionsHalted#

Discriminator aa938ba31368a74d · data SettlePositionsHalted · accounts SettlePositionsHaltedInstructionAccounts.

FieldType
assetAsset

Required accounts: 3; extras go to remaining.

Fields of SettlePositionsHaltedInstructionAccounts, in account order:

#FieldType
0statePubkey
1pricingPubkey
2adminPubkey
3…remainingVec<AccountMeta>

ToggleMarketMaker#

Discriminator cbf7549f68fd9450 · data ToggleMarketMaker · accounts ToggleMarketMakerInstructionAccounts.

FieldType
is_market_makerbool

Required accounts: 3; extras go to remaining.

Fields of ToggleMarketMakerInstructionAccounts, in account order:

#FieldType
0statePubkey
1adminPubkey
2margin_accountPubkey
3…remainingVec<AccountMeta>

ToggleZetaGroupPerpsOnly#

Discriminator aa734d0ba19df7a9 · data ToggleZetaGroupPerpsOnly · accounts ToggleZetaGroupPerpsOnlyInstructionAccounts.

No data fields.

Required accounts: 3; extras go to remaining.

Fields of ToggleZetaGroupPerpsOnlyInstructionAccounts, in account order:

#FieldType
0statePubkey
1zeta_groupPubkey
2adminPubkey
3…remainingVec<AccountMeta>

TransferExcessSpreadBalance#

Discriminator acb80c0a346940d5 · data TransferExcessSpreadBalance · accounts TransferExcessSpreadBalanceInstructionAccounts.

No data fields.

Required accounts: 4; extras go to remaining.

Fields of TransferExcessSpreadBalanceInstructionAccounts, in account order:

#FieldType
0zeta_groupPubkey
1margin_accountPubkey
2spread_accountPubkey
3authorityPubkey
4…remainingVec<AccountMeta>

TreasuryMovement#

Discriminator 0122f269d7d39d12 · data TreasuryMovement · accounts TreasuryMovementInstructionAccounts.

FieldType
treasury_movement_typeTreasuryMovementType
amountu64

Required accounts: 6; extras go to remaining.

Fields of TreasuryMovementInstructionAccounts, in account order:

#FieldType
0statePubkey
1insurance_vaultPubkey
2treasury_walletPubkey
3referrals_rewards_walletPubkey
4token_programPubkey
5adminPubkey
6…remainingVec<AccountMeta>

Unhalt#

Discriminator f98c1bd58082cf71 · data Unhalt · accounts UnhaltInstructionAccounts.

FieldType
assetAsset

Required accounts: 3; extras go to remaining.

Fields of UnhaltInstructionAccounts, in account order:

#FieldType
0statePubkey
1pricingPubkey
2adminPubkey
3…remainingVec<AccountMeta>

UpdateAdmin#

Discriminator a1b028d53cb8b3e4 · data UpdateAdmin · accounts UpdateAdminInstructionAccounts.

No data fields.

Required accounts: 3; extras go to remaining.

Fields of UpdateAdminInstructionAccounts, in account order:

#FieldType
0statePubkey
1adminPubkey
2new_adminPubkey
3…remainingVec<AccountMeta>

UpdateHaltState#

Discriminator d72d35a2958a053f · data UpdateHaltState · accounts UpdateHaltStateInstructionAccounts.

FieldType
argsHaltStateArgs

Required accounts: 2; extras go to remaining.

Fields of UpdateHaltStateInstructionAccounts, in account order:

#FieldType
0statePubkey
1adminPubkey
2…remainingVec<AccountMeta>

UpdateInterestRate#

Discriminator 4b08ff297b3b87ee · data UpdateInterestRate · accounts UpdateInterestRateInstructionAccounts.

Required accounts: 4; extras go to remaining.

Fields of UpdateInterestRateInstructionAccounts, in account order:

#FieldType
0statePubkey
1greeksPubkey
2zeta_groupPubkey
3adminPubkey
4…remainingVec<AccountMeta>

UpdateMarginParameters#

Discriminator 4532aec57bc448ec · data UpdateMarginParameters · accounts UpdateMarginParametersInstructionAccounts.

Required accounts: 3; extras go to remaining.

Fields of UpdateMarginParametersInstructionAccounts, in account order:

#FieldType
0statePubkey
1pricingPubkey
2adminPubkey
3…remainingVec<AccountMeta>

UpdateOracle#

Discriminator 7029d112f8e2fcbc · data UpdateOracle · accounts UpdateOracleInstructionAccounts.

No data fields.

Required accounts: 4; extras go to remaining.

Fields of UpdateOracleInstructionAccounts, in account order:

#FieldType
0statePubkey
1zeta_groupPubkey
2adminPubkey
3oraclePubkey
4…remainingVec<AccountMeta>

UpdateOracleBackupFeed#

Discriminator e60921cae4d1b462 · data UpdateOracleBackupFeed · accounts UpdateOracleBackupFeedInstructionAccounts.

No data fields.

Required accounts: 4; extras go to remaining.

Fields of UpdateOracleBackupFeedInstructionAccounts, in account order:

#FieldType
0statePubkey
1zeta_groupPubkey
2adminPubkey
3oraclePubkey
4…remainingVec<AccountMeta>

UpdatePerpParameters#

Discriminator 5a87db2aa48661ae · data UpdatePerpParameters · accounts UpdatePerpParametersInstructionAccounts.

Required accounts: 3; extras go to remaining.

Fields of UpdatePerpParametersInstructionAccounts, in account order:

#FieldType
0statePubkey
1pricingPubkey
2adminPubkey
3…remainingVec<AccountMeta>

UpdatePricingParameters#

Discriminator 697fd0863d3d71f7 · data UpdatePricingParameters · accounts UpdatePricingParametersInstructionAccounts.

Required accounts: 3; extras go to remaining.

Fields of UpdatePricingParametersInstructionAccounts, in account order:

#FieldType
0statePubkey
1zeta_groupPubkey
2adminPubkey
3…remainingVec<AccountMeta>

UpdatePricingV2#

Discriminator eb6d8aad0f2533f4 · data UpdatePricingV2 · accounts UpdatePricingV2InstructionAccounts.

FieldType
assetAsset

Required accounts: 8; extras go to remaining.

Fields of UpdatePricingV2InstructionAccounts, in account order:

#FieldType
0statePubkey
1pricingPubkey
2oraclePubkey
3oracle_backup_feedPubkey
4oracle_backup_programPubkey
5perp_marketPubkey
6perp_bidsPubkey
7perp_asksPubkey
8…remainingVec<AccountMeta>

UpdateReferralsAdmin#

Discriminator 49905c774a6a10c8 · data UpdateReferralsAdmin · accounts UpdateReferralsAdminInstructionAccounts.

No data fields.

Required accounts: 3; extras go to remaining.

Fields of UpdateReferralsAdminInstructionAccounts, in account order:

#FieldType
0statePubkey
1adminPubkey
2new_adminPubkey
3…remainingVec<AccountMeta>

UpdateSecondaryAdmin#

Discriminator 54e61a4b02b3afea · data UpdateSecondaryAdmin · accounts UpdateSecondaryAdminInstructionAccounts.

No data fields.

Required accounts: 3; extras go to remaining.

Fields of UpdateSecondaryAdminInstructionAccounts, in account order:

#FieldType
0statePubkey
1adminPubkey
2new_adminPubkey
3…remainingVec<AccountMeta>

UpdateVolatility#

Discriminator be6974dde5c6d053 · data UpdateVolatility · accounts UpdateVolatilityInstructionAccounts.

Required accounts: 4; extras go to remaining.

Fields of UpdateVolatilityInstructionAccounts, in account order:

#FieldType
0statePubkey
1greeksPubkey
2zeta_groupPubkey
3adminPubkey
4…remainingVec<AccountMeta>

UpdateZetaGroupExpiryParameters#

Discriminator 11457968e1ce8cd7 · data UpdateZetaGroupExpiryParameters · accounts UpdateZetaGroupExpiryParametersInstructionAccounts.

Required accounts: 3; extras go to remaining.

Fields of UpdateZetaGroupExpiryParametersInstructionAccounts, in account order:

#FieldType
0statePubkey
1zeta_groupPubkey
2adminPubkey
3…remainingVec<AccountMeta>

UpdateZetaGroupMarginParameters#

Discriminator 3cd07993f26a0bfe · data UpdateZetaGroupMarginParameters · accounts UpdateZetaGroupMarginParametersInstructionAccounts.

Required accounts: 3; extras go to remaining.

Fields of UpdateZetaGroupMarginParametersInstructionAccounts, in account order:

#FieldType
0statePubkey
1zeta_groupPubkey
2adminPubkey
3…remainingVec<AccountMeta>

UpdateZetaGroupPerpParameters#

Discriminator 48988c9ec35df71f · data UpdateZetaGroupPerpParameters · accounts UpdateZetaGroupPerpParametersInstructionAccounts.

Required accounts: 3; extras go to remaining.

Fields of UpdateZetaGroupPerpParametersInstructionAccounts, in account order:

#FieldType
0statePubkey
1zeta_groupPubkey
2adminPubkey
3…remainingVec<AccountMeta>

UpdateZetaPricingPubkeys#

Discriminator a9dd17f8db7a8e9e · data UpdateZetaPricingPubkeys · accounts UpdateZetaPricingPubkeysInstructionAccounts.

Required accounts: 3; extras go to remaining.

Fields of UpdateZetaPricingPubkeysInstructionAccounts, in account order:

#FieldType
0statePubkey
1pricingPubkey
2adminPubkey
3…remainingVec<AccountMeta>

UpdateZetaState#

Discriminator 68b614bb03a43c03 · data UpdateZetaState · accounts UpdateZetaStateInstructionAccounts.

FieldType
argsUpdateStateArgs

Required accounts: 2; extras go to remaining.

Fields of UpdateZetaStateInstructionAccounts, in account order:

#FieldType
0statePubkey
1adminPubkey
2…remainingVec<AccountMeta>

Withdraw#

Discriminator b712469c946da122 · data Withdraw · accounts WithdrawInstructionAccounts.

FieldType
amountu64

Required accounts: 12; extras go to remaining.

Fields of WithdrawInstructionAccounts, in account order:

#FieldType
0statePubkey
1zeta_groupPubkey
2vaultPubkey
3margin_accountPubkey
4user_token_accountPubkey
5token_programPubkey
6authorityPubkey
7greeksPubkey
8oraclePubkey
9oracle_backup_feedPubkey
10oracle_backup_programPubkey
11socialized_loss_accountPubkey
12…remainingVec<AccountMeta>

WithdrawInsuranceVault#

Discriminator 11fad52dac7551e1 · data WithdrawInsuranceVault · accounts WithdrawInsuranceVaultInstructionAccounts.

FieldType
percentage_amountu64

Required accounts: 6; extras go to remaining.

Fields of WithdrawInsuranceVaultInstructionAccounts, in account order:

#FieldType
0statePubkey
1insurance_vaultPubkey
2insurance_deposit_accountPubkey
3user_token_accountPubkey
4authorityPubkey
5token_programPubkey
6…remainingVec<AccountMeta>

WithdrawInsuranceVaultV2#

Discriminator cb472c94e0f245a5 · data WithdrawInsuranceVaultV2 · accounts WithdrawInsuranceVaultV2InstructionAccounts.

FieldType
percentage_amountu64

Required accounts: 7; extras go to remaining.

Fields of WithdrawInsuranceVaultV2InstructionAccounts, in account order:

#FieldType
0statePubkey
1pricingPubkey
2insurance_vaultPubkey
3insurance_deposit_accountPubkey
4user_token_accountPubkey
5authorityPubkey
6token_programPubkey
7…remainingVec<AccountMeta>

WithdrawV2#

Discriminator f250a300c4ddc2c2 · data WithdrawV2 · accounts WithdrawV2InstructionAccounts.

FieldType
amountu64

Required accounts: 8; extras go to remaining.

Fields of WithdrawV2InstructionAccounts, in account order:

#FieldType
0statePubkey
1pricingPubkey
2vaultPubkey
3margin_accountPubkey
4user_token_accountPubkey
5token_programPubkey
6authorityPubkey
7socialized_loss_accountPubkey
8…remainingVec<AccountMeta>

CpiEvent#

Anchor self-CPI that carries one of the program's events. data is the CpiEvent enum.

Discriminator e445a52e51cb9a1d · data CpiEvent · accounts CpiEventInstructionAccounts.

Required accounts: 2; extras go to remaining.

Fields of CpiEventInstructionAccounts, in account order:

#FieldType
0programPubkey
1event_authorityPubkey
2…remainingVec<AccountMeta>

Accounts#

Variants of ZetaAccount. Each wraps a boxed struct from carbon_zeta_decoder::accounts::<module>. decode_account only considers accounts owned by PROGRAM_ID and returns the first variant that matches.

CrossMarginAccount#

Discriminator f25e8e8323f4931c · accounts::cross_margin_account::CrossMarginAccount.

FieldType
authorityPubkey
delegated_pubkeyPubkey
balanceu64
subaccount_indexu8
nonceu8
force_cancel_flagbool
account_typeMarginAccountType
open_orders_nonces[u8; 5]
open_orders_nonces_padding[u8; 20]
rebalance_amounti64
last_funding_deltas[AnchorDecimal; 5]
last_funding_deltas_padding[AnchorDecimal; 20]
product_ledgers[ProductLedger; 5]
product_ledgers_padding[ProductLedger; 20]
padding[u8; 2000]

CrossMarginAccountManager#

Discriminator 5ca21a433156fc05 · accounts::cross_margin_account_manager::CrossMarginAccountManager.

FieldType
nonceu8
authorityPubkey
accounts[CrossMarginAccountInfo; 25]

CrossOpenOrdersMap#

Discriminator c5185209520e309a · accounts::cross_open_orders_map::CrossOpenOrdersMap.

FieldType
user_keyPubkey
subaccount_indexu8

Greeks#

Discriminator f7d5aa9a2bf392fe · accounts::greeks::Greeks.

FieldType
nonceu8
mark_prices[u64; 46]
mark_prices_padding[u64; 91]
perp_mark_priceu64
product_greeks[ProductGreeks; 22]
product_greeks_padding[ProductGreeks; 44]
update_timestamp[u64; 2]
update_timestamp_padding[u64; 4]
retreat_expiration_timestamp[u64; 2]
retreat_expiration_timestamp_padding[u64; 4]
interest_rate[i64; 2]
interest_rate_padding[i64; 4]
nodes[u64; 5]
volatility[u64; 10]
volatility_padding[u64; 20]
node_keys[Pubkey; 138]
halt_force_pricing[bool; 6]
perp_update_timestampu64
perp_funding_deltaAnchorDecimal
perp_latest_funding_rateAnchorDecimal
perp_latest_midpointu64
padding[u8; 1593]

InsuranceDepositAccount#

Discriminator b6a1fc657ba1cdb8 · accounts::insurance_deposit_account::InsuranceDepositAccount.

FieldType
nonceu8
amountu64

MarginAccount#

Discriminator 85dcadd5b3d32bee · accounts::margin_account::MarginAccount.

FieldType
authorityPubkey
nonceu8
balanceu64
force_cancel_flagbool
open_orders_nonce[u8; 138]
series_expiry[u64; 5]
series_expiry_paddingu64
product_ledgers[ProductLedger; 46]
product_ledgers_padding[ProductLedger; 91]
perp_product_ledgerProductLedger
rebalance_amounti64
assetAsset
account_typeMarginAccountType
last_funding_deltaAnchorDecimal
delegated_pubkeyPubkey
padding[u8; 338]

MarketIndexes#

Discriminator 6fcd6992db895217 · accounts::market_indexes::MarketIndexes.

FieldType
nonceu8
initializedbool
indexes[u8; 138]

MarketNode#

Discriminator 1c52153b968d3c7c · accounts::market_node::MarketNode.

FieldType
indexu8
nonceu8
node_updates[i64; 5]
interest_updatei64

OpenOrdersMap#

Discriminator fa7eac0a761e03a8 · accounts::open_orders_map::OpenOrdersMap.

FieldType
user_keyPubkey

PerpSyncQueue#

Discriminator 5c37389de6b8ab42 · accounts::perp_sync_queue::PerpSyncQueue.

FieldType
nonceu8
headu16
lengthu16
queue[AnchorDecimal; 600]

Pricing#

Discriminator be7bd2b68f0b9888 · accounts::pricing::Pricing.

FieldType
nonceu8
mark_prices[u64; 5]
mark_prices_padding[u64; 20]
update_timestamps[u64; 5]
update_timestamps_padding[u64; 20]
funding_deltas[AnchorDecimal; 5]
funding_deltas_padding[AnchorDecimal; 20]
latest_funding_rates[AnchorDecimal; 5]
latest_funding_rates_padding[AnchorDecimal; 20]
latest_midpoints[u64; 5]
latest_midpoints_padding[u64; 20]
oracles[Pubkey; 5]
oracles_padding[Pubkey; 20]
oracle_backup_feeds[Pubkey; 5]
oracle_backup_feeds_padding[Pubkey; 20]
markets[Pubkey; 5]
markets_padding[Pubkey; 20]
perp_sync_queues[Pubkey; 5]
perp_sync_queues_padding[Pubkey; 20]
perp_parameters[PerpParameters; 5]
perp_parameters_padding[PerpParameters; 20]
margin_parameters[MarginParameters; 5]
margin_parameters_padding[MarginParameters; 20]
products[Product; 5]
products_padding[Product; 20]
zeta_group_keys[Pubkey; 5]
zeta_group_keys_padding[Pubkey; 20]
total_insurance_vault_depositsu64
last_withdraw_timestampu64
net_outflow_sumi64
halt_force_pricing[bool; 5]
halt_force_pricing_padding[bool; 20]
padding[u8; 2707]

ReferralAccount#

Discriminator eda2504ec4e95b02 · accounts::referral_account::ReferralAccount.

FieldType
nonceu8
referrerPubkey
userPubkey
timestampu64
pending_rewardsu64
claimed_rewardsu64

ReferrerAccount#

Discriminator 3013a0364cdc4609 · accounts::referrer_account::ReferrerAccount.

FieldType
nonceu8
has_aliasbool
referrerPubkey
pending_rewardsu64
claimed_rewardsu64

ReferrerAlias#

Discriminator 87659edc2697be3a · accounts::referrer_alias::ReferrerAlias.

FieldType
nonceu8
alias[u8; 15]
referrerPubkey

SettlementAccount#

Discriminator 512a686f7b5992b4 · accounts::settlement_account::SettlementAccount.

FieldType
settlement_priceu64
strikes[u64; 23]

SocializedLossAccount#

Discriminator 41fe8deb3c546889 · accounts::socialized_loss_account::SocializedLossAccount.

FieldType
nonceu8
overbankrupt_amountu64

SpreadAccount#

Discriminator 3982fc88a7b12fa2 · accounts::spread_account::SpreadAccount.

FieldType
authorityPubkey
nonceu8
balanceu64
series_expiry[u64; 5]
series_expiry_paddingu64
positions[Position; 46]
positions_padding[Position; 92]
assetAsset
padding[u8; 262]

State#

Discriminator d8926b5e684bb6b1 · accounts::state::State.

FieldType
adminPubkey
state_nonceu8
serum_nonceu8
mint_auth_nonceu8
num_underlyingsu8
num_flex_underlyingsu8
null[u8; 7]
strike_initialization_threshold_secondsu32
pricing_frequency_secondsu32
liquidator_liquidation_percentageu32
insurance_vault_liquidation_percentageu32
native_d1_trade_fee_percentageu64
native_d1_underlying_fee_percentageu64
native_whitelist_underlying_fee_percentageu64
native_deposit_limitu64
expiration_threshold_secondsu32
position_movement_fee_bpsu8
margin_concession_percentageu8
treasury_wallet_nonceu8
native_option_trade_fee_percentageu64
native_option_underlying_fee_percentageu64
referrals_adminPubkey
referrals_rewards_wallet_nonceu8
max_perp_delta_ageu16
secondary_adminPubkey
vault_nonceu8
insurance_vault_nonceu8
deprecated_total_insurance_vault_depositsu64
native_withdraw_limitu64
withdraw_limit_epoch_secondsu32
native_open_interest_limitu64
halt_states[HaltStateV2; 5]
halt_states_padding[HaltStateV2; 20]
padding[u8; 338]

Underlying#

Discriminator ce80984d70a40d02 · accounts::underlying::Underlying.

FieldType
mintPubkey

WhitelistDepositAccount#

Discriminator 6e02d95144ae78d9 · accounts::whitelist_deposit_account::WhitelistDepositAccount.

FieldType
nonceu8
user_keyPubkey

WhitelistInsuranceAccount#

Discriminator 0a68c0cb813c2802 · accounts::whitelist_insurance_account::WhitelistInsuranceAccount.

FieldType
nonceu8
user_keyPubkey

WhitelistTradingFeesAccount#

Discriminator db27bda689f354ef · accounts::whitelist_trading_fees_account::WhitelistTradingFeesAccount.

FieldType
nonceu8
user_keyPubkey

ZetaGroup#

Discriminator 7911d26b6deb0e0c · accounts::zeta_group::ZetaGroup.

FieldType
nonceu8
nonce_padding[u8; 2]
front_expiry_indexu8
halt_stateHaltState
underlying_mintPubkey
oraclePubkey
greeksPubkey
pricing_parametersPricingParameters
margin_parametersMarginParameters
margin_parameters_padding[u8; 104]
products[Product; 46]
products_padding[Product; 91]
perpProduct
expiry_series[ExpirySeries; 2]
expiry_series_padding[ExpirySeries; 4]
deprecated_padding[u8; 8]
assetAsset
expiry_interval_secondsu32
new_expiry_threshold_secondsu32
perp_parametersPerpParameters
perp_sync_queuePubkey
oracle_backup_feedPubkey
perps_onlybool
flex_underlyingbool
padding[u8; 964]

Events#

Variants of instructions::CpiEvent, decoded from the CpiEvent instruction. Each wraps a struct from carbon_zeta_decoder::events::<module>. The discriminator is the 8-byte event discriminator that follows the e445a52e51cb9a1d CPI-event tag.

TradeEvent#

Discriminator bddb7fd34ee661ee · events::trade_event::TradeEventEvent.

FieldType
margin_accountPubkey
indexu8
sizeu64
cost_of_tradesu64
is_bidbool
client_order_idu64
order_idu128

TradeEventV2#

Discriminator 128ed28bb27bcb75 · events::trade_event_v2::TradeEventV2Event.

FieldType
margin_accountPubkey
indexu8
sizeu64
cost_of_tradesu64
is_bidbool
client_order_idu64
order_idu128
assetu8
userPubkey
is_takerbool
sequence_numberu64

TradeEventV3#

Discriminator 72a23b2154866c3e · events::trade_event_v3::TradeEventV3Event.

FieldType
margin_accountPubkey
indexu8
sizeu64
cost_of_tradesu64
is_bidbool
client_order_idu64
order_idu128
assetAsset
userPubkey
is_takerbool
sequence_numberu64

PositionMovementEvent#

Discriminator 44b90d941ce3655f · events::position_movement_event::PositionMovementEventEvent.

FieldType
net_balance_transferi64
margin_account_balanceu64
spread_account_balanceu64
movement_feesu64

PlaceOrderEvent#

Discriminator 41bf195b1bfcc028 · events::place_order_event::PlaceOrderEventEvent.

FieldType
feeu64
oracle_priceu64
order_idu128
expiry_tsu64

LiquidationEvent#

Discriminator 030d155dad884890 · events::liquidation_event::LiquidationEventEvent.

FieldType
liquidator_rewardu64
insurance_rewardu64
cost_of_tradesu64
sizei64
remaining_liquidatee_balanceu64
remaining_liquidator_balanceu64
mark_priceu64
underlying_priceu64
liquidateePubkey
liquidatorPubkey
assetAsset

OrderCompleteEvent#

Discriminator 1a64c4ea5d799fdf · events::order_complete_event::OrderCompleteEventEvent.

FieldType
margin_accountPubkey
userPubkey
assetAsset
market_indexu8
sideSide
unfilled_sizeu64
order_idu128
client_order_idu64
order_complete_typeOrderCompleteType

ApplyFundingEvent#

Discriminator 7fca0fb7c8c0040c · events::apply_funding_event::ApplyFundingEventEvent.

FieldType
margin_accountPubkey
userPubkey
assetAsset
balance_changei64
remaining_balanceu64
funding_ratei64
oracle_priceu64

Types#

Types used by the instructions, accounts and events above, exported from carbon_zeta_decoder::types.

AnchorDecimal#

Struct types::AnchorDecimal.

FieldType
flagsu32
hiu32
lou32
midu32

ApplyFundingEvent#

Struct types::ApplyFundingEvent. Same fields as the ApplyFundingEvent event.

Asset#

Enum types::Asset.

Variant
SOL
BTC
ETH
APT
ARB
UNDEFINED

CrossMarginAccountInfo#

Struct types::CrossMarginAccountInfo.

FieldType
initializedbool
name[u8; 10]

ExpireSeriesOverrideArgs#

Struct types::ExpireSeriesOverrideArgs.

FieldType
settlement_nonceu8
settlement_priceu64

ExpirySeries#

Struct types::ExpirySeries.

FieldType
active_tsu64
expiry_tsu64
dirtybool
padding[u8; 15]

ExpirySeriesStatus#

Enum types::ExpirySeriesStatus.

Variant
Uninitialized
Initialized
Live
Expired
ExpiredDirty

HaltArgs#

Struct types::HaltArgs.

FieldType
spot_prices[u64; 5]
timestampu64

HaltState#

Struct types::HaltState.

FieldType
haltedbool
spot_priceu64
timestampu64
mark_prices_set[bool; 2]
mark_prices_set_padding[bool; 3]
perp_mark_price_setbool
market_nodes_cleaned[bool; 2]
market_nodes_cleaned_padding[bool; 4]
market_cleaned[bool; 46]
market_cleaned_padding[bool; 91]
perp_market_cleanedbool

HaltStateArgs#

Struct types::HaltStateArgs.

FieldType
assetAsset
spot_priceu64
timestampu64

HaltStateV2#

Struct types::HaltStateV2.

FieldType
haltedbool
timestampu64
spot_priceu64
market_cleanedbool

InitializeMarketArgs#

Struct types::InitializeMarketArgs.

FieldType
assetAsset
market_nonceu8
base_mint_nonceu8
quote_mint_nonceu8
zeta_base_vault_nonceu8
zeta_quote_vault_nonceu8
dex_base_vault_nonceu8
dex_quote_vault_nonceu8
vault_signer_nonceu64

InitializeMarketNodeArgs#

Struct types::InitializeMarketNodeArgs.

FieldType
nonceu8
indexu8

InitializeStateArgs#

Struct types::InitializeStateArgs.

FieldType
state_nonceu8
serum_nonceu8
mint_auth_nonceu8
strike_initialization_threshold_secondsu32
pricing_frequency_secondsu32
liquidator_liquidation_percentageu32
insurance_vault_liquidation_percentageu32
native_d1_trade_fee_percentageu64
native_d1_underlying_fee_percentageu64
native_option_trade_fee_percentageu64
native_option_underlying_fee_percentageu64
native_whitelist_underlying_fee_percentageu64
native_deposit_limitu64
expiration_threshold_secondsu32
position_movement_fee_bpsu8
margin_concession_percentageu8
max_perp_delta_age_secondsu16
native_withdraw_limitu64
withdraw_limit_epoch_secondsu32
native_open_interest_limitu64

InitializeZetaGroupArgs#

Struct types::InitializeZetaGroupArgs.

FieldType
perps_onlybool
flex_underlyingbool
asset_overrideOption<Asset>
zeta_group_nonceu8
underlying_nonceu8
greeks_nonceu8
vault_nonceu8
insurance_vault_nonceu8
socialized_loss_account_nonceu8
perp_sync_queue_nonceu8
interest_ratei64
volatility[u64; 5]
option_trade_normalizeru64
future_trade_normalizeru64
max_volatility_retreatu64
max_interest_retreatu64
max_deltau64
min_deltau64
min_interest_ratei64
max_interest_ratei64
min_volatilityu64
max_volatilityu64
future_margin_initialu64
future_margin_maintenanceu64
expiry_interval_secondsu32
new_expiry_threshold_secondsu32
min_funding_rate_percenti64
max_funding_rate_percenti64
perp_impact_cash_deltau64

InitializeZetaPricingArgs#

Struct types::InitializeZetaPricingArgs.

FieldType
min_funding_rate_percenti64
max_funding_rate_percenti64
perp_impact_cash_deltau64
margin_initialu64
margin_maintenanceu64
pricing_nonceu8

Kind#

Enum types::Kind.

Variant
Uninitialized
Call
Put
Future
Perp

LiquidationEvent#

Struct types::LiquidationEvent. Same fields as the LiquidationEvent event.

MarginAccountType#

Enum types::MarginAccountType.

Variant
Normal
MarketMaker

MarginParameters#

Struct types::MarginParameters.

FieldType
future_margin_initialu64
future_margin_maintenanceu64

MarginRequirement#

Enum types::MarginRequirement.

Variant
Initial
Maintenance
MaintenanceIncludingOrders
MarketMakerConcession

MovementType#

Enum types::MovementType.

Variant
Undefined
Lock
Unlock

OrderCompleteEvent#

Struct types::OrderCompleteEvent. Same fields as the OrderCompleteEvent event.

OrderCompleteType#

Enum types::OrderCompleteType.

Variant
Cancel
Fill
Booted

OrderState#

Struct types::OrderState.

FieldType
closing_ordersu64
opening_orders[u64; 2]

OrderType#

Enum types::OrderType.

Variant
Limit
PostOnly
FillOrKill
ImmediateOrCancel
PostOnlySlide

OverrideExpiryArgs#

Struct types::OverrideExpiryArgs.

FieldType
expiry_indexu8
active_tsu64
expiry_tsu64

PerpParameters#

Struct types::PerpParameters.

FieldType
min_funding_rate_percenti64
max_funding_rate_percenti64
impact_cash_deltau64

PlaceOrderEvent#

Struct types::PlaceOrderEvent. Same fields as the PlaceOrderEvent event.

PlaceOrderType#

Enum types::PlaceOrderType.

Variant
PlaceOrder
PlacePerpOrder

Position#

Struct types::Position.

FieldType
sizei64
cost_of_tradesu64

PositionMovementArg#

Struct types::PositionMovementArg.

FieldType
indexu8
sizei64

PositionMovementEvent#

Struct types::PositionMovementEvent. Same fields as the PositionMovementEvent event.

PricingParameters#

Struct types::PricingParameters.

FieldType
option_trade_normalizerAnchorDecimal
future_trade_normalizerAnchorDecimal
max_volatility_retreatAnchorDecimal
max_interest_retreatAnchorDecimal
max_deltau64
min_deltau64
min_volatilityu64
max_volatilityu64
min_interest_ratei64
max_interest_ratei64

Product#

Struct types::Product.

FieldType
marketPubkey
strikeStrike
dirtybool
kindKind

ProductGreeks#

Struct types::ProductGreeks.

FieldType
deltau64
vegaAnchorDecimal
volatilityAnchorDecimal

ProductLedger#

Struct types::ProductLedger.

FieldType
positionPosition
order_stateOrderState

SetReferralsRewardsArgs#

Struct types::SetReferralsRewardsArgs.

FieldType
referrals_account_keyPubkey
pending_rewardsu64
overwritebool

Side#

Enum types::Side.

Variant
Uninitialized
Bid
Ask

Strike#

Struct types::Strike.

FieldType
is_setbool
valueu64

TradeEvent#

Struct types::TradeEvent. Same fields as the TradeEvent event.

TradeEventV2#

Struct types::TradeEventV2. Same fields as the TradeEventV2 event.

TradeEventV3#

Struct types::TradeEventV3. Same fields as the TradeEventV3 event.

TraitType#

Enum types::TraitType.

Variant
MarginAccount
CrossMarginAccount

TreasuryMovementType#

Enum types::TreasuryMovementType.

Variant
Undefined
ToTreasuryFromInsurance
ToInsuranceFromTreasury
ToTreasuryFromReferralsRewards
ToReferralsRewardsFromTreasury

UpdateGreeksArgs#

Struct types::UpdateGreeksArgs.

FieldType
indexu8
theou64
deltau32
gammau32
volatilityu32

UpdateInterestRateArgs#

Struct types::UpdateInterestRateArgs.

FieldType
expiry_indexu8
interest_ratei64

UpdateMarginParametersArgs#

Struct types::UpdateMarginParametersArgs.

FieldType
future_margin_initialu64
future_margin_maintenanceu64

UpdatePerpParametersArgs#

Struct types::UpdatePerpParametersArgs.

FieldType
min_funding_rate_percenti64
max_funding_rate_percenti64
perp_impact_cash_deltau64

UpdatePricingParametersArgs#

Struct types::UpdatePricingParametersArgs.

FieldType
option_trade_normalizeru64
future_trade_normalizeru64
max_volatility_retreatu64
max_interest_retreatu64
min_deltau64
max_deltau64
min_interest_ratei64
max_interest_ratei64
min_volatilityu64
max_volatilityu64

UpdateStateArgs#

Struct types::UpdateStateArgs.

FieldType
strike_initialization_threshold_secondsu32
pricing_frequency_secondsu32
liquidator_liquidation_percentageu32
insurance_vault_liquidation_percentageu32
native_d1_trade_fee_percentageu64
native_d1_underlying_fee_percentageu64
native_option_trade_fee_percentageu64
native_option_underlying_fee_percentageu64
native_whitelist_underlying_fee_percentageu64
native_deposit_limitu64
expiration_threshold_secondsu32
position_movement_fee_bpsu8
margin_concession_percentageu8
max_perp_delta_age_secondsu16
native_withdraw_limitu64
withdraw_limit_epoch_secondsu32
native_open_interest_limitu64

UpdateVolatilityArgs#

Struct types::UpdateVolatilityArgs.

FieldType
expiry_indexu8
volatility[u64; 5]

UpdateZetaGroupExpiryArgs#

Struct types::UpdateZetaGroupExpiryArgs.

FieldType
expiry_interval_secondsu32
new_expiry_threshold_secondsu32

UpdateZetaPricingPubkeysArgs#

Struct types::UpdateZetaPricingPubkeysArgs.

FieldType
assetAsset
oraclePubkey
oracle_backup_feedPubkey
marketPubkey
perp_sync_queuePubkey
zeta_group_keyPubkey

ValidationType#

Enum types::ValidationType.

Variant
Place
Cancel
OpenOrders

Generated from the crate’s source at Carbon v2.0.0, so it always matches the published code. Spotted a problem? Report it; edits to this page itself are overwritten on the next release.

Your endpoints

Code samples use these instead of the placeholders, so you can copy and run them as they are. They’re stored only in this browser and never sent anywhere.