sol-parser-sdk 0.5.6

A lightweight Rust library for real-time event streaming from Solana DEX trading programs. Supports PumpFun, PumpSwap, Raydium LaunchLab, and Raydium protocols with Yellowstone gRPC and ShredStream.
Documentation
{
  "schema_version": 1,
  "updated_at": "2026-05-30",
  "source_of_truth": "rust",
  "notes": [
    "This file is the cross-language baseline for protocol names, program ids, event names, account event names, and priority discriminators.",
    "Shyft-to/solana-defi is used as a development oracle for IDLs, sample scenarios, and golden fixtures only; it is not a runtime dependency.",
    "Raydium LaunchLab is exposed as RaydiumLaunchlab across protocol and event names."
  ],
  "protocols": [
    {
      "protocol": "PumpFun",
      "program_ids": ["6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P"],
      "status": "stable",
      "event_types": [
        "PumpFunTrade",
        "PumpFunBuy",
        "PumpFunSell",
        "PumpFunBuyExactSolIn",
        "PumpFunCreate",
        "PumpFunCreateV2",
        "PumpFunComplete",
        "PumpFunMigrate",
        "PumpFunMigrateBondingCurveCreator"
      ],
      "account_event_types": [
        "AccountPumpFunGlobal",
        "AccountPumpFunBondingCurve",
        "AccountPumpFunGlobalVolumeAccumulator",
        "AccountPumpFunUserVolumeAccumulator"
      ]
    },
    {
      "protocol": "PumpSwap",
      "program_ids": ["pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA"],
      "status": "stable",
      "event_types": [
        "PumpSwapTrade",
        "PumpSwapBuy",
        "PumpSwapSell",
        "PumpSwapCreatePool",
        "PumpSwapLiquidityAdded",
        "PumpSwapLiquidityRemoved"
      ],
      "account_event_types": ["AccountPumpSwapGlobalConfig", "AccountPumpSwapPool"]
    },
    {
      "protocol": "PumpFees",
      "program_ids": ["pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ"],
      "status": "stable",
      "event_types": [
        "PumpFeesCreateFeeSharingConfig",
        "PumpFeesInitializeFeeConfig",
        "PumpFeesResetFeeSharingConfig",
        "PumpFeesRevokeFeeSharingAuthority",
        "PumpFeesTransferFeeSharingAuthority",
        "PumpFeesUpdateAdmin",
        "PumpFeesUpdateFeeConfig",
        "PumpFeesUpdateFeeShares",
        "PumpFeesUpsertFeeTiers"
      ],
      "account_event_types": ["AccountPumpFunFeeConfig", "AccountPumpFunSharingConfig"]
    },
    {
      "protocol": "RaydiumLaunchlab",
      "program_ids": ["LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj"],
      "status": "canonical_breaking_rename_to_launchlab",
      "event_types": ["RaydiumLaunchlabTrade", "RaydiumLaunchlabPoolCreate", "RaydiumLaunchlabMigrateAmm"],
      "account_event_types": [],
      "instruction_discriminators": {
        "initialize": [175, 175, 109, 31, 13, 152, 155, 237],
        "initialize_v2": [67, 153, 175, 39, 218, 16, 38, 32],
        "initialize_with_token_2022": [37, 190, 126, 222, 44, 154, 171, 17],
        "buy_exact_in": [250, 234, 13, 123, 213, 156, 19, 236],
        "buy_exact_out": [24, 211, 116, 40, 105, 3, 153, 56],
        "sell_exact_in": "pending_canonicalization",
        "sell_exact_out": "pending_canonicalization",
        "migrate_to_amm": [207, 82, 192, 145, 254, 207, 145, 223],
        "migrate_to_cpswap": [136, 92, 200, 103, 28, 218, 144, 140]
      },
      "log_event_discriminators": {
        "PoolCreateEvent": [151, 215, 226, 9, 118, 161, 115, 174],
        "TradeEvent": [189, 219, 127, 211, 78, 230, 97, 238]
      },
      "oracle_sources": [
        "Raydium/Typescript/stream_raydium_launchlab_migration",
        "Raydium/Rust/stream_and_parse_raydium_launchlab_transactions",
        "Raydium/Rust/stream_and_parse_raydium_launchlab_account"
      ]
    },
    {
      "protocol": "RaydiumCpmm",
      "program_ids": ["CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"],
      "status": "rust_account_parser_added_needs_golden_oracle",
      "event_types": [
        "RaydiumCpmmSwap",
        "RaydiumCpmmDeposit",
        "RaydiumCpmmWithdraw",
        "RaydiumCpmmInitialize"
      ],
      "account_event_types": ["AccountRaydiumCpmmAmmConfig", "AccountRaydiumCpmmPoolState"],
      "instruction_discriminators": {
        "initialize": [175, 175, 109, 31, 13, 152, 155, 237],
        "deposit": [242, 35, 198, 137, 82, 225, 242, 182],
        "withdraw": [183, 18, 70, 156, 148, 109, 161, 34],
        "swap_base_input": [143, 190, 90, 218, 196, 30, 51, 222],
        "swap_base_output": [55, 217, 98, 86, 163, 74, 180, 173]
      },
      "log_event_discriminators": {
        "SwapEvent": [64, 198, 205, 232, 38, 8, 113, 226],
        "LpChangeEvent": [121, 163, 205, 201, 57, 218, 117, 60]
      },
      "oracle_sources": [
        "Raydium/Typescript/stream_and_parse_cpmm_new_pool",
        "Raydium/Typescript/stream_raydium_cpmm_token_price",
        "Raydium/Rust/stream_and_parse_raydium_cp_transactions"
      ]
    },
    {
      "protocol": "RaydiumClmm",
      "program_ids": ["CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK"],
      "status": "supported_needs_v2_token_extension_pass",
      "event_types": [
        "RaydiumClmmSwap",
        "RaydiumClmmCreatePool",
        "RaydiumClmmOpenPosition",
        "RaydiumClmmOpenPositionWithTokenExtNft",
        "RaydiumClmmClosePosition",
        "RaydiumClmmIncreaseLiquidity",
        "RaydiumClmmDecreaseLiquidity",
        "RaydiumClmmCollectFee"
      ],
      "account_event_types": [
        "AccountRaydiumClmmAmmConfig",
        "AccountRaydiumClmmPoolState",
        "AccountRaydiumClmmTickArrayState"
      ],
      "instruction_discriminators": {
        "create_pool": [233, 146, 209, 142, 207, 104, 64, 188],
        "open_position": [135, 128, 47, 77, 15, 152, 240, 49],
        "open_position_v2": [77, 184, 74, 214, 112, 86, 241, 199],
        "open_position_with_token22_nft": [77, 255, 174, 82, 125, 29, 201, 46],
        "increase_liquidity": [46, 156, 243, 118, 13, 205, 251, 178],
        "increase_liquidity_v2": [133, 29, 89, 223, 69, 238, 176, 10],
        "decrease_liquidity": [160, 38, 208, 111, 104, 91, 44, 1],
        "decrease_liquidity_v2": [58, 127, 188, 62, 79, 82, 196, 96],
        "swap": [248, 198, 158, 145, 225, 117, 135, 200],
        "swap_v2": [43, 4, 237, 11, 26, 201, 30, 98]
      },
      "log_event_discriminators": {
        "PoolCreatedEvent": [25, 94, 75, 47, 112, 99, 53, 63],
        "SwapEvent": [64, 198, 205, 232, 38, 8, 113, 226],
        "IncreaseLiquidityEvent": [49, 79, 105, 212, 32, 34, 30, 84],
        "DecreaseLiquidityEvent": [58, 222, 86, 58, 68, 50, 85, 56]
      },
      "oracle_sources": [
        "Raydium/Typescript/stream_raydium_clmm_token_price",
        "Raydium/Typescript/stream_and_parse_clmm_new_pool",
        "Raydium/Rust/stream_and_parse_raydium_clmm_accounts"
      ]
    },
    {
      "protocol": "RaydiumAmmV4",
      "program_ids": ["675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"],
      "status": "supported_legacy_non_anchor",
      "event_types": [
        "RaydiumAmmV4Swap",
        "RaydiumAmmV4Deposit",
        "RaydiumAmmV4Withdraw",
        "RaydiumAmmV4WithdrawPnl",
        "RaydiumAmmV4Initialize2"
      ],
      "account_event_types": [],
      "instruction_discriminators": {
        "initialize": null,
        "initialize2": null,
        "deposit": null,
        "withdraw": null,
        "withdrawPnl": null,
        "swapBaseIn": null,
        "swapBaseOut": null
      },
      "oracle_sources": [
        "Raydium/Typescript/stream_raydium_amm_token_price",
        "Raydium/Rust/stream_and_parse_raydium_accounts"
      ]
    },
    {
      "protocol": "OrcaWhirlpool",
      "program_ids": ["whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc"],
      "status": "rust_account_parser_added_needs_adaptive_fee_token_badge",
      "event_types": [
        "OrcaWhirlpoolSwap",
        "OrcaWhirlpoolLiquidityIncreased",
        "OrcaWhirlpoolLiquidityDecreased",
        "OrcaWhirlpoolPoolInitialized"
      ],
      "account_event_types": [
        "AccountOrcaWhirlpool",
        "AccountOrcaPosition",
        "AccountOrcaTickArray",
        "AccountOrcaFeeTier",
        "AccountOrcaWhirlpoolsConfig"
      ],
      "instruction_discriminators": {
        "initializePool": null,
        "initializePoolV2": null,
        "initializePoolWithAdaptiveFee": null,
        "initializeAdaptiveFeeTier": null,
        "increaseLiquidityV2": null,
        "decreaseLiquidityV2": null,
        "swap": null,
        "swapV2": null,
        "twoHopSwapV2": null
      },
      "oracle_sources": [
        "Orca/Typescript/stream_and_parse_all_whirlpool_accounts",
        "Orca/Typescript/stream_and_parse_orca_transactions_and_detect_buy_sell_events",
        "Orca/Rust/stream_and_parse_whirlpool_account_updates"
      ]
    },
    {
      "protocol": "MeteoraPools",
      "program_ids": ["Eo7WjKq67rjJQSZxS6z3YkapzY3eMj6Xy8X5EQVn5UaB"],
      "status": "supported_needs_account_parser_pass",
      "event_types": [
        "MeteoraPoolsSwap",
        "MeteoraPoolsAddLiquidity",
        "MeteoraPoolsRemoveLiquidity",
        "MeteoraPoolsBootstrapLiquidity",
        "MeteoraPoolsPoolCreated",
        "MeteoraPoolsSetPoolFees"
      ],
      "account_event_types": ["AccountMeteoraPool"],
      "log_event_discriminators": {
        "Swap": null,
        "AddLiquidity": null,
        "RemoveLiquidity": null,
        "BootstrapLiquidity": null,
        "PoolCreated": null,
        "SetPoolFees": null
      },
      "oracle_sources": [
        "Meteora/Typescript/stream_meteora_pool_token_price",
        "Meteora/Rust/stream_and_parse_meteora_pools_accounts"
      ]
    },
    {
      "protocol": "MeteoraDammV2",
      "program_ids": ["cpamdpZCGKUy5JxQXB4dcpGPiikHawvSWAd6mEn1sGG"],
      "status": "supported_needs_golden_oracle",
      "event_types": [
        "MeteoraDammV2Swap",
        "MeteoraDammV2AddLiquidity",
        "MeteoraDammV2RemoveLiquidity",
        "MeteoraDammV2CreatePosition",
        "MeteoraDammV2ClosePosition",
        "MeteoraDammV2InitializePool"
      ],
      "account_event_types": ["AccountMeteoraDammPool", "AccountMeteoraDammPosition"],
      "instruction_discriminators": {
        "initialize_pool": [95, 180, 10, 172, 84, 174, 232, 40],
        "swap": [248, 198, 158, 145, 225, 117, 135, 200],
        "swap2": [65, 75, 63, 76, 235, 91, 91, 136],
        "add_liquidity": [181, 157, 89, 67, 143, 182, 52, 72],
        "remove_liquidity": [80, 85, 209, 72, 24, 206, 177, 108],
        "create_position": [48, 215, 197, 153, 96, 203, 180, 133],
        "close_position": [123, 134, 81, 0, 49, 68, 98, 98]
      },
      "log_event_discriminators": {
        "EvtInitializePool": [228, 50, 246, 85, 203, 66, 134, 37],
        "EvtSwap2": [189, 66, 51, 168, 38, 80, 117, 153],
        "EvtLiquidityChange": [197, 171, 78, 127, 224, 211, 87, 13],
        "EvtCreatePosition": [156, 15, 119, 198, 29, 181, 221, 55],
        "EvtClosePosition": [20, 145, 144, 68, 143, 142, 214, 178]
      },
      "oracle_sources": [
        "Meteora/Typescript/stream_and_parse_meteora_damm_v2_new_pools",
        "Meteora/Typescript/stream_meteora_damm_v2_token_price",
        "Meteora/Rust/stream_and_parse_meteora_damm_v2_accounts"
      ]
    },
    {
      "protocol": "MeteoraDlmm",
      "program_ids": ["LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo"],
      "status": "supported_needs_account_parser_pass",
      "event_types": [
        "MeteoraDlmmSwap",
        "MeteoraDlmmAddLiquidity",
        "MeteoraDlmmRemoveLiquidity",
        "MeteoraDlmmInitializePool",
        "MeteoraDlmmInitializeBinArray",
        "MeteoraDlmmCreatePosition",
        "MeteoraDlmmClosePosition",
        "MeteoraDlmmClaimFee"
      ],
      "account_event_types": [
        "AccountMeteoraDlmmLbPair",
        "AccountMeteoraDlmmBinArray",
        "AccountMeteoraDlmmPosition"
      ],
      "instruction_discriminators": {
        "initializeLbPair": null,
        "initializeLbPair2": null,
        "initializeBinArray": null,
        "initializePosition": null,
        "addLiquidity": null,
        "removeLiquidity": null,
        "swap": null,
        "swapExactOut": null
      },
      "oracle_sources": [
        "Meteora/Typescript/stream_meteora_dlmm_token_price",
        "Meteora/Rust/stream_and_parse_meteora_dlmm_accounts",
        "Meteora/Rust/stream_and_parse_meteora_dlmm_instructions"
      ]
    },
    {
      "protocol": "MeteoraDbc",
      "program_ids": ["dbcij3LWUppWqq96dh6gJWwBifmcGfLSB5D4DuSMaqN"],
      "status": "rust_log_parser_added_account_instruction_pending",
      "event_types": [
        "MeteoraDbcSwap",
        "MeteoraDbcInitializePool",
        "MeteoraDbcCurveComplete"
      ],
      "planned_event_types": [
        "MeteoraDbcMigrationDammV2",
        "MeteoraDbcMigrateMeteoraDamm"
      ],
      "account_event_types": [
        "AccountMeteoraDbcVirtualPool",
        "AccountMeteoraDbcPoolConfig",
        "AccountMeteoraDbcConfig"
      ],
      "instruction_discriminators": {
        "initialize_virtual_pool_with_spl_token": [140, 85, 215, 176, 102, 54, 104, 79],
        "initialize_virtual_pool_with_token2022": [169, 118, 51, 78, 145, 110, 220, 155],
        "swap": [248, 198, 158, 145, 225, 117, 135, 200],
        "swap2": [65, 75, 63, 76, 235, 91, 91, 136],
        "migration_damm_v2": [156, 169, 230, 103, 53, 228, 80, 64],
        "migrate_meteora_damm": [27, 1, 48, 22, 180, 63, 118, 217]
      },
      "log_event_discriminators": {
        "EvtInitializePool": [228, 50, 246, 85, 203, 66, 134, 37],
        "EvtSwap": [27, 60, 21, 213, 138, 170, 187, 147],
        "EvtCurveComplete": [229, 231, 86, 84, 156, 134, 75, 24],
        "EvtCreateDammV2MigrationMetadata": [103, 111, 132, 168, 140, 253, 150, 114],
        "EvtCreateMeteoraMigrationMetadata": [99, 167, 133, 63, 214, 143, 175, 139]
      },
      "account_discriminators": {
        "VirtualPool": [213, 224, 5, 209, 98, 69, 119, 92],
        "PoolConfig": [26, 108, 14, 123, 116, 230, 129, 43],
        "Config": [155, 12, 170, 224, 30, 250, 204, 130]
      },
      "oracle_sources": [
        "Meteora/Typescript/stream_meteora_dbc_token_price",
        "Meteora/Typescript/stream_meteora_dbc_new_minted_tokens",
        "Meteora/Rust/stream_and_parse_meteora_dbc_transaction",
        "Meteora/Rust/stream_and_parse_meteora_dbc_accounts"
      ]
    }
  ]
}