home/program-streams/orca_whirlpool
PROGRAM STREAMSLIVEDEX

Orca Whirlpool Streams

The concentrated liquidity DEX for Solana's biggest pairs

Stream every Orca Whirlpool interaction. Swaps, position opens and closes, liquidity operations, reward harvests, and tick management. 72 decoded streams for the DEX that dominates SOL/USDC and large cap Solana trading.

whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc
View Pricing
72
Total Streams
decoded and live
66
Instructions
every program call
6
Events
program log events
<50ms
Latency
on-chain to your app

Why Stream Orca Whirlpool from NoLimitNodes

Decoded, typed, delivered. No parsing, no delays.

Every Instruction Decoded

Every on-chain instruction parsed into typed fields. Accounts, arguments, and metadata, ready to use.

Every Event Captured

Program events (logs) decoded into structured data. No log parsing, no regex, just typed fields.

Sub-50ms Latency

Events arrive at your app within 50 milliseconds of on-chain confirmation. Fast enough for trading.

JSON or Protobuf

Choose JSON for easy debugging or Protobuf for maximum performance. Same data, your choice of format.

No IDL Decoding Needed

We handle the IDL. You get clean, decoded data. No anchor, no borsh, no manual deserialization.

Works With Your Stack

JavaScript, Python, Rust, Go. Any language with gRPC support. Code examples included.

What You Can Build

Large cap token arbitrage and price feeds
Concentrated liquidity position management
Whale trade tracking on major pairs
Real-time SOL/USDC price oracles
Fee and reward optimization for LPs
Cross-DEX routing analysis

Available Streams

Click any stream to see its full schema, accounts, and code examples.

CloseBundledPositioninstruction
solana.orca_whirlpool.close_bundled_position
ClosePositioninstruction
solana.orca_whirlpool.close_position
ClosePositionWithTokenExtensionsinstruction
solana.orca_whirlpool.close_position_with_token_extensions
CollectFeesinstruction
solana.orca_whirlpool.collect_fees
CollectFeesV2instruction
solana.orca_whirlpool.collect_fees_v2
CollectProtocolFeesinstruction
solana.orca_whirlpool.collect_protocol_fees
CollectProtocolFeesV2instruction
solana.orca_whirlpool.collect_protocol_fees_v2
CollectRewardinstruction
solana.orca_whirlpool.collect_reward
CollectRewardV2instruction
solana.orca_whirlpool.collect_reward_v2
DecreaseLiquidityinstruction
solana.orca_whirlpool.decrease_liquidity
DecreaseLiquidityV2instruction
solana.orca_whirlpool.decrease_liquidity_v2
DeletePositionBundleinstruction
solana.orca_whirlpool.delete_position_bundle
DeleteTokenBadgeinstruction
solana.orca_whirlpool.delete_token_badge
IdlIncludeinstruction
solana.orca_whirlpool.idl_include
IncreaseLiquidityinstruction
solana.orca_whirlpool.increase_liquidity
IncreaseLiquidityByTokenAmountsV2instruction
solana.orca_whirlpool.increase_liquidity_by_token_amounts_v2
IncreaseLiquidityV2instruction
solana.orca_whirlpool.increase_liquidity_v2
InitializeAdaptiveFeeTierinstruction
solana.orca_whirlpool.initialize_adaptive_fee_tier
InitializeConfiginstruction
solana.orca_whirlpool.initialize_config
InitializeConfigExtensioninstruction
solana.orca_whirlpool.initialize_config_extension
InitializeDynamicTickArrayinstruction
solana.orca_whirlpool.initialize_dynamic_tick_array
InitializeFeeTierinstruction
solana.orca_whirlpool.initialize_fee_tier
InitializePoolinstruction
solana.orca_whirlpool.initialize_pool
InitializePoolV2instruction
solana.orca_whirlpool.initialize_pool_v2
InitializePoolWithAdaptiveFeeinstruction
solana.orca_whirlpool.initialize_pool_with_adaptive_fee
InitializePositionBundleinstruction
solana.orca_whirlpool.initialize_position_bundle
InitializePositionBundleWithMetadatainstruction
solana.orca_whirlpool.initialize_position_bundle_with_metadata
InitializeRewardinstruction
solana.orca_whirlpool.initialize_reward
InitializeRewardV2instruction
solana.orca_whirlpool.initialize_reward_v2
InitializeTickArrayinstruction
solana.orca_whirlpool.initialize_tick_array
InitializeTokenBadgeinstruction
solana.orca_whirlpool.initialize_token_badge
LockPositioninstruction
solana.orca_whirlpool.lock_position
MigrateRepurposeRewardAuthoritySpaceinstruction
solana.orca_whirlpool.migrate_repurpose_reward_authority_space
OpenBundledPositioninstruction
solana.orca_whirlpool.open_bundled_position
OpenPositioninstruction
solana.orca_whirlpool.open_position
OpenPositionWithMetadatainstruction
solana.orca_whirlpool.open_position_with_metadata
OpenPositionWithTokenExtensionsinstruction
solana.orca_whirlpool.open_position_with_token_extensions
RepositionLiquidityV2instruction
solana.orca_whirlpool.reposition_liquidity_v2
ResetPositionRangeinstruction
solana.orca_whirlpool.reset_position_range
SetAdaptiveFeeConstantsinstruction
solana.orca_whirlpool.set_adaptive_fee_constants
SetCollectProtocolFeesAuthorityinstruction
solana.orca_whirlpool.set_collect_protocol_fees_authority
SetConfigExtensionAuthorityinstruction
solana.orca_whirlpool.set_config_extension_authority
SetConfigFeatureFlaginstruction
solana.orca_whirlpool.set_config_feature_flag
SetDefaultBaseFeeRateinstruction
solana.orca_whirlpool.set_default_base_fee_rate
SetDefaultFeeRateinstruction
solana.orca_whirlpool.set_default_fee_rate
SetDefaultProtocolFeeRateinstruction
solana.orca_whirlpool.set_default_protocol_fee_rate
SetDelegatedFeeAuthorityinstruction
solana.orca_whirlpool.set_delegated_fee_authority
SetFeeAuthorityinstruction
solana.orca_whirlpool.set_fee_authority
SetFeeRateinstruction
solana.orca_whirlpool.set_fee_rate
SetFeeRateByDelegatedFeeAuthorityinstruction
solana.orca_whirlpool.set_fee_rate_by_delegated_fee_authority
SetInitializePoolAuthorityinstruction
solana.orca_whirlpool.set_initialize_pool_authority
SetPresetAdaptiveFeeConstantsinstruction
solana.orca_whirlpool.set_preset_adaptive_fee_constants
SetProtocolFeeRateinstruction
solana.orca_whirlpool.set_protocol_fee_rate
SetRewardAuthorityinstruction
solana.orca_whirlpool.set_reward_authority
SetRewardAuthorityBySuperAuthorityinstruction
solana.orca_whirlpool.set_reward_authority_by_super_authority
SetRewardEmissionsinstruction
solana.orca_whirlpool.set_reward_emissions
SetRewardEmissionsSuperAuthorityinstruction
solana.orca_whirlpool.set_reward_emissions_super_authority
SetRewardEmissionsV2instruction
solana.orca_whirlpool.set_reward_emissions_v2
SetTokenBadgeAttributeinstruction
solana.orca_whirlpool.set_token_badge_attribute
SetTokenBadgeAuthorityinstruction
solana.orca_whirlpool.set_token_badge_authority
Swapinstruction
solana.orca_whirlpool.swap
SwapV2instruction
solana.orca_whirlpool.swap_v2
TransferLockedPositioninstruction
solana.orca_whirlpool.transfer_locked_position
TwoHopSwapinstruction
solana.orca_whirlpool.two_hop_swap
TwoHopSwapV2instruction
solana.orca_whirlpool.two_hop_swap_v2
UpdateFeesAndRewardsinstruction
solana.orca_whirlpool.update_fees_and_rewards

Start in 30 Seconds

subscribe to any Orca Whirlpool stream with a single command

grpcurl
grpcurl -plaintext \
  -H 'x-eventstream-policy: {"version":1,"allowed_programs":"all","allowed_topics":"all"}' \
  -d '{"topic":"solana.orca_whirlpool.close_bundled_position","format":"JSON"}' \
  events.nln.clr3.org:443 \
  nln.stream.v1.StreamService/Subscribe
Python
import grpc, json
import stream_service_pb2 as pb
import stream_service_pb2_grpc as rpc

channel = grpc.insecure_channel('events.nln.clr3.org:443')
stub = rpc.StreamServiceStub(channel)

policy = json.dumps({"version": 1,
  "allowed_programs": "all",
  "allowed_topics": "all"})

for msg in stub.Subscribe(
    pb.SubscribeRequest(
      topic="solana.orca_whirlpool.close_bundled_position",
      format=pb.OutputFormat.JSON),
    metadata=[
      ('x-eventstream-policy', policy)]):
    event = json.loads(msg.payload)
    print(f"slot={msg.slot}", event)

Real-Time Orca Whirlpool Data for Solana Developers

NoLimitNodes provides 72 decoded real-time streams for the Orca Whirlpool program on Solana (whirLbMi...). Every instruction call and every emitted event is parsed, typed, and delivered to your app in under 50 milliseconds.

Instead of writing custom deserialization code, decoding Anchor IDLs, or parsing raw transaction logs, you subscribe to a topic like solana.orca_whirlpool.close_bundled_position and receive structured JSON or Protobuf data instantly. 66 instruction streams and 6 event streams cover every possible interaction with the Orca Whirlpool program.

Whether you are building trading bots, analytics dashboards, monitoring tools, or research pipelines, NoLimitNodes program streams give you the decoded on-chain data you need without the infrastructure overhead. Start with our free tier and scale to production.

Start streaming Orca Whirlpool data

Get your API key and subscribe to any of 72 decoded streams.

All Programs