Real-time decoded data for the TwoHopSwapV2 instruction on the Orca Whirlpool program. Every time this instruction is executed on Solana, you receive the full decoded payload with 25 accounts and 8 arguments in under 50ms.
solana.orca_whirlpool.two_hop_swap_v2Decoded account addresses included in every TwoHopSwapV2 message.
| Name | Type | Signer | Writable |
|---|---|---|---|
| whirlpool_one | PublicKey | - | yes |
| whirlpool_two | PublicKey | - | yes |
| token_mint_input | PublicKey | - | - |
| token_mint_intermediate | PublicKey | - | - |
| token_mint_output | PublicKey | - | - |
| token_program_input | PublicKey | - | - |
| token_program_intermediate | PublicKey | - | - |
| token_program_output | PublicKey | - | - |
| token_owner_account_input | PublicKey | - | yes |
| token_vault_one_input | PublicKey | - | yes |
| token_vault_one_intermediate | PublicKey | - | yes |
| token_vault_two_intermediate | PublicKey | - | yes |
| token_vault_two_output | PublicKey | - | yes |
| token_owner_account_output | PublicKey | - | yes |
| token_authority | PublicKey | yes | - |
| tick_array_one0 | PublicKey | - | yes |
| tick_array_one1 | PublicKey | - | yes |
| tick_array_one2 | PublicKey | - | yes |
| tick_array_two0 | PublicKey | - | yes |
| tick_array_two1 | PublicKey | - | yes |
| tick_array_two2 | PublicKey | - | yes |
| oracle_one | PublicKey | - | yes |
| oracle_two | PublicKey | - | yes |
| memo_program | PublicKey | - | - |
| whirlpool_program | PublicKey | - | - |
Decoded instruction arguments included in every TwoHopSwapV2 message.
| Name | Type |
|---|---|
| amount | u64 |
| other_amount_threshold | u64 |
| amount_specified_is_input | bool |
| a_to_b_one | bool |
| a_to_b_two | bool |
| sqrt_price_limit_one | u128 |
| sqrt_price_limit_two | u128 |
| remaining_accounts_info | Option<struct { slices: Vec<struct { accounts_type: enum(transferHookA, transferHookB, transferHookReward, transferHookInput, transferHookIntermediate, transferHookOutput, supplementalTickArrays, supplementalTickArraysOne, ...), length: u8 }> }> |
Connect and start receiving decoded data in seconds.
grpcurl -plaintext \
-H 'x-eventstream-policy: {"version":1,"allowed_programs":"all","allowed_topics":"all"}' \
-d '{"topic":"solana.orca_whirlpool.two_hop_swap_v2","format":"JSON"}' \
events.nln.clr3.org:443 \
nln.stream.v1.StreamService/Subscribesolana.orca_whirlpool.close_bundled_positionsolana.orca_whirlpool.close_positionsolana.orca_whirlpool.close_position_with_token_extensionssolana.orca_whirlpool.collect_feessolana.orca_whirlpool.collect_fees_v2solana.orca_whirlpool.collect_protocol_feesThe solana.orca_whirlpool.two_hop_swap_v2 stream delivers decoded TwoHopSwapV2 instruction data from the Orca Whirlpool program (whirLbMiicVd...) on Solana. Each message includes 25 decoded account addresses and 8 typed arguments, delivered in under 50 milliseconds from on-chain confirmation. Available in both JSON and Protobuf formats via the NoLimitNodes gRPC streaming API.
Get your API key and start receiving decoded instructions in seconds.