Real-time decoded data for the AddCustody instruction on the Jupiter Perpetuals program. Every time this instruction is executed on Solana, you receive the full decoded payload with 10 accounts and 16 arguments in under 50ms.
solana.jupiter_perpetuals.add_custodyDecoded account addresses included in every AddCustody message.
| Name | Type | Signer | Writable |
|---|---|---|---|
| admin | PublicKey | yes | yes |
| transfer_authority | PublicKey | - | - |
| perpetuals | PublicKey | - | - |
| pool | PublicKey | - | yes |
| custody | PublicKey | - | yes |
| custody_token_account | PublicKey | - | yes |
| custody_token_mint | PublicKey | - | - |
| system_program | PublicKey | - | - |
| token_program | PublicKey | - | - |
| rent | PublicKey | - | - |
Decoded instruction arguments included in every AddCustody message.
| Name | Type |
|---|---|
| is_stable | bool |
| oracle | struct { oracle_account: PublicKey, oracle_type: enum(none, test, pyth), buffer: u64, max_price_age_sec: u32 } |
| pricing | struct { trade_impact_fee_scalar: u64, buffer: u64, swap_spread: u64, max_leverage: u64, max_global_long_sizes: u64, max_global_short_sizes: u64 } |
| permissions | struct { allow_swap: bool, allow_add_liquidity: bool, allow_remove_liquidity: bool, allow_increase_position: bool, allow_decrease_position: bool, allow_collateral_withdrawal: bool, allow_liquidate_position: bool } |
| hourly_funding_dbps | u64 |
| target_ratio_bps | u64 |
| increase_position_bps | u64 |
| decrease_position_bps | u64 |
| doves_oracle | PublicKey |
| max_position_size_usd | u64 |
| jump_rate | struct { min_rate_bps: u64, max_rate_bps: u64, target_rate_bps: u64, target_utilization_rate: u64 } |
| price_impact_fee_factor | u64 |
| price_impact_exponent | f32 |
| delta_imbalance_threshold_decimal | u64 |
| max_fee_bps | u64 |
| doves_ag_oracle | PublicKey |
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.jupiter_perpetuals.add_custody","format":"JSON"}' \
events.nln.clr3.org:443 \
nln.stream.v1.StreamService/Subscribesolana.jupiter_perpetuals.initsolana.jupiter_perpetuals.add_poolsolana.jupiter_perpetuals.set_custody_configsolana.jupiter_perpetuals.set_pool_configsolana.jupiter_perpetuals.set_perpetuals_configsolana.jupiter_perpetuals.transfer_adminThe solana.jupiter_perpetuals.add_custody stream delivers decoded AddCustody instruction data from the Jupiter Perpetuals program (PERPHjGBqRHA...) on Solana. Each message includes 10 decoded account addresses and 16 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.