{"asyncapi":"2.6.0","info":{"title":"WS Endpoints","version":"1.0.0"},"channels":{"/account":{"publish":{"operationId":"account-publish","summary":"subscribe","message":{"name":"subscribe","title":"subscribe","payload":{"$ref":"#/components/schemas/AccountSubscribe"}}}},"/auth":{"publish":{"operationId":"auth-publish","summary":"subscribe","message":{"name":"subscribe","title":"subscribe","payload":{"$ref":"#/components/schemas/AuthSubscribe"}}},"subscribe":{"operationId":"auth-subscribe","summary":"publish","description":"Validates the JWT bearer token and associates the account with the connection. Must be called before subscribing to private channels or using order management methods.","message":{"name":"publish","title":"publish","description":"Validates the JWT bearer token and associates the account with the connection. Must be called before subscribing to private channels or using order management methods.","payload":{"$ref":"#/components/schemas/AuthPublish"}}}},"/balance_events":{"publish":{"operationId":"balance-events-publish","summary":"subscribe","message":{"name":"subscribe","title":"subscribe","payload":{"$ref":"#/components/schemas/BalanceEventsSubscribe"}}}},"/bbo.{market_symbol}":{"parameters":{"market_symbol":{"description":"Symbol of the market (e.g., BTC-PERP)","schema":{"type":"string"}}},"publish":{"operationId":"bbo-market-symbol-publish","summary":"subscribe","message":{"name":"subscribe","title":"subscribe","payload":{"$ref":"#/components/schemas/BboMarketSymbolSubscribe"}}}},"/fills.{market_symbol}":{"parameters":{"market_symbol":{"description":"Symbol of the market (e.g., BTC-PERP)","schema":{"type":"string"}}},"publish":{"operationId":"fills-market-symbol-publish","summary":"subscribe","message":{"name":"subscribe","title":"subscribe","payload":{"$ref":"#/components/schemas/FillsMarketSymbolSubscribe"}}}},"/funding_data.{market_symbol}":{"parameters":{"market_symbol":{"description":"Symbol of the market (e.g., BTC-PERP)","schema":{"type":"string"}}},"publish":{"operationId":"funding-data-market-symbol-publish","summary":"subscribe","message":{"name":"subscribe","title":"subscribe","payload":{"$ref":"#/components/schemas/FundingDataMarketSymbolSubscribe"}}}},"/funding_payments.{market_symbol}":{"parameters":{"market_symbol":{"description":"Symbol of the market (e.g., BTC-PERP)","schema":{"type":"string"}}},"publish":{"operationId":"funding-payments-market-symbol-publish","summary":"subscribe","message":{"name":"subscribe","title":"subscribe","payload":{"$ref":"#/components/schemas/FundingPaymentsMarketSymbolSubscribe"}}}},"/markets[.{market_symbol}]":{"parameters":{"market_symbol":{"description":"Symbol of the market (e.g., BTC-PERP)","schema":{"type":"string"}}},"publish":{"operationId":"markets-market-symbol-publish","summary":"subscribe","message":{"name":"subscribe","title":"subscribe","payload":{"$ref":"#/components/schemas/MarketsMarketSymbolSubscribe"}}}},"/markets_summary[.{market_symbol}]":{"parameters":{"market_symbol":{"description":"Symbol of the market (e.g., BTC-PERP)","schema":{"type":"string"}}},"publish":{"operationId":"markets-summary-market-symbol-publish","summary":"subscribe","message":{"name":"subscribe","title":"subscribe","payload":{"$ref":"#/components/schemas/MarketsSummaryMarketSymbolSubscribe"}}}},"/mmp":{"publish":{"operationId":"mmp-publish","summary":"subscribe","message":{"name":"subscribe","title":"subscribe","payload":{"$ref":"#/components/schemas/MmpSubscribe"}}}},"/modify_subscription":{"publish":{"operationId":"modify-subscription-publish","summary":"subscribe","message":{"name":"subscribe","title":"subscribe","payload":{"$ref":"#/components/schemas/ModifySubscriptionSubscribe"}}},"subscribe":{"operationId":"modify-subscription-subscribe","summary":"publish","description":"Adds and/or removes markets on a live scoped markets_summary subscription without unsubscribing and resubscribing, so markets that remain in the filter stream uninterrupted. Requires a subscription opened in scoped mode (subscribe with a markets array).","message":{"name":"publish","title":"publish","description":"Adds and/or removes markets on a live scoped markets_summary subscription without unsubscribing and resubscribing, so markets that remain in the filter stream uninterrupted. Requires a subscription opened in scoped mode (subscribe with a markets array).","payload":{"$ref":"#/components/schemas/ModifySubscriptionPublish"}}}},"/order.cancel":{"publish":{"operationId":"order-cancel-publish","summary":"subscribe","message":{"name":"subscribe","title":"subscribe","payload":{"$ref":"#/components/schemas/OrderCancelSubscribe"}}},"subscribe":{"operationId":"order-cancel-subscribe","summary":"publish","description":"Cancels an order by exchange order ID or by client_id + market. Either id or (client_id + market) must be provided.","message":{"name":"publish","title":"publish","description":"Cancels an order by exchange order ID or by client_id + market. Either id or (client_id + market) must be provided.","payload":{"$ref":"#/components/schemas/OrderCancelPublish"}}}},"/order.cancel_all":{"publish":{"operationId":"order-cancel-all-publish","summary":"subscribe","message":{"name":"subscribe","title":"subscribe","payload":{"$ref":"#/components/schemas/OrderCancelAllSubscribe"}}},"subscribe":{"operationId":"order-cancel-all-subscribe","summary":"publish","description":"Cancels all open orders for the authenticated account. If market is provided only orders in that market are cancelled.","message":{"name":"publish","title":"publish","description":"Cancels all open orders for the authenticated account. If market is provided only orders in that market are cancelled.","payload":{"$ref":"#/components/schemas/OrderCancelAllPublish"}}}},"/order.cancel_batch":{"publish":{"operationId":"order-cancel-batch-publish","summary":"subscribe","message":{"name":"subscribe","title":"subscribe","payload":{"$ref":"#/components/schemas/OrderCancelBatchSubscribe"}}},"subscribe":{"operationId":"order-cancel-batch-subscribe","summary":"publish","description":"Cancels a list of orders by their exchange IDs. Returns a per-order status; the request does not fail if individual orders are not found or already closed.","message":{"name":"publish","title":"publish","description":"Cancels a list of orders by their exchange IDs. Returns a per-order status; the request does not fail if individual orders are not found or already closed.","payload":{"$ref":"#/components/schemas/OrderCancelBatchPublish"}}}},"/order.cancel_on_disconnect":{"publish":{"operationId":"order-cancel-on-disconnect-publish","summary":"subscribe","message":{"name":"subscribe","title":"subscribe","payload":{"$ref":"#/components/schemas/OrderCancelOnDisconnectSubscribe"}}},"subscribe":{"operationId":"order-cancel-on-disconnect-subscribe","summary":"publish","description":"When enabled, all orders placed (or already tracked) during this connection are automatically cancelled if the WebSocket disconnects unexpectedly. CoD state is scoped to the connection and does not persist across reconnects.","message":{"name":"publish","title":"publish","description":"When enabled, all orders placed (or already tracked) during this connection are automatically cancelled if the WebSocket disconnects unexpectedly. CoD state is scoped to the connection and does not persist across reconnects.","payload":{"$ref":"#/components/schemas/OrderCancelOnDisconnectPublish"}}}},"/order.create":{"publish":{"operationId":"order-create-publish","summary":"subscribe","message":{"name":"subscribe","title":"subscribe","payload":{"$ref":"#/components/schemas/OrderCreateSubscribe"}}},"subscribe":{"operationId":"order-create-subscribe","summary":"publish","description":"Creates a single order. Requires authentication and a valid Starknet signature over the order payload. Rate limits are shared with the REST API (same Redis counters).","message":{"name":"publish","title":"publish","description":"Creates a single order. Requires authentication and a valid Starknet signature over the order payload. Rate limits are shared with the REST API (same Redis counters).","payload":{"$ref":"#/components/schemas/OrderCreatePublish"}}}},"/order.create_batch":{"publish":{"operationId":"order-create-batch-publish","summary":"subscribe","message":{"name":"subscribe","title":"subscribe","payload":{"$ref":"#/components/schemas/OrderCreateBatchSubscribe"}}},"subscribe":{"operationId":"order-create-batch-subscribe","summary":"publish","description":"Creates up to the configured maximum number of orders atomically. All signatures are validated before any orders reach the matching engine. Rate limit is consumed once for the entire batch.","message":{"name":"publish","title":"publish","description":"Creates up to the configured maximum number of orders atomically. All signatures are validated before any orders reach the matching engine. Rate limit is consumed once for the entire batch.","payload":{"$ref":"#/components/schemas/OrderCreateBatchPublish"}}}},"/order.modify":{"publish":{"operationId":"order-modify-publish","summary":"subscribe","message":{"name":"subscribe","title":"subscribe","payload":{"$ref":"#/components/schemas/OrderModifySubscribe"}}},"subscribe":{"operationId":"order-modify-subscribe","summary":"publish","description":"Updates the price and/or size of an open order. A new Starknet signature over the updated order payload is required.","message":{"name":"publish","title":"publish","description":"Updates the price and/or size of an open order. A new Starknet signature over the updated order payload is required.","payload":{"$ref":"#/components/schemas/OrderModifyPublish"}}}},"/order_book.{market_symbol}.{feed_type}@15@{refresh_rate}[@{price_tick}]":{"parameters":{"feed_type":{"description":"Type of feed to subscribe to","schema":{"$ref":"#/components/schemas/feed_type"}},"market_symbol":{"description":"Symbol of the market (e.g., BTC-PERP)","schema":{"type":"string"}},"price_tick":{"description":"Optional price tick for grouping order book prices","schema":{"$ref":"#/components/schemas/price_tick"}},"refresh_rate":{"description":"Rate of sending updates (used in BBO channels)","schema":{"$ref":"#/components/schemas/refresh_rate"}}},"publish":{"operationId":"order-book-market-symbol-feed-type-15-refresh-rate-price-tick-publish","summary":"subscribe","message":{"name":"subscribe","title":"subscribe","payload":{"$ref":"#/components/schemas/OrderBookMarketSymbolFeedType15RefreshRatePriceTickSubscribe"}}}},"/orders.{market_symbol}":{"parameters":{"market_symbol":{"description":"Symbol of the market (e.g., BTC-PERP)","schema":{"type":"string"}}},"publish":{"operationId":"orders-market-symbol-publish","summary":"subscribe","message":{"name":"subscribe","title":"subscribe","payload":{"$ref":"#/components/schemas/OrdersMarketSymbolSubscribe"}}}},"/positions":{"publish":{"operationId":"positions-publish","summary":"subscribe","message":{"name":"subscribe","title":"subscribe","payload":{"$ref":"#/components/schemas/PositionsSubscribe"}}}},"/rfq[.{rfq_id}]":{"parameters":{"rfq_id":{"description":"Paradigm-issued RFQ id; scopes the subscription to a single RFQ","schema":{"type":"string"}}},"publish":{"operationId":"rfq-rfq-id-publish","summary":"subscribe","message":{"name":"subscribe","title":"subscribe","payload":{"$ref":"#/components/schemas/RfqRfqIdSubscribe"}}}},"/subscribe":{"publish":{"operationId":"subscribe-publish","summary":"subscribe","message":{"name":"subscribe","title":"subscribe","payload":{"$ref":"#/components/schemas/SubscribeSubscribe"}}},"subscribe":{"operationId":"subscribe-subscribe","summary":"publish","description":"Starts receiving real-time messages for the given channel. Private channels (orders, fills, positions, account, etc.) require prior authentication. See the WebSocket Channels reference for all available channel names.","message":{"name":"publish","title":"publish","description":"Starts receiving real-time messages for the given channel. Private channels (orders, fills, positions, account, etc.) require prior authentication. See the WebSocket Channels reference for all available channel names.","payload":{"$ref":"#/components/schemas/SubscribePublish"}}}},"/tradebusts":{"publish":{"operationId":"tradebusts-publish","summary":"subscribe","message":{"name":"subscribe","title":"subscribe","payload":{"$ref":"#/components/schemas/TradebustsSubscribe"}}}},"/trades.{market_symbol}":{"parameters":{"market_symbol":{"description":"Symbol of the market (e.g., BTC-PERP)","schema":{"type":"string"}}},"publish":{"operationId":"trades-market-symbol-publish","summary":"subscribe","message":{"name":"subscribe","title":"subscribe","payload":{"$ref":"#/components/schemas/TradesMarketSymbolSubscribe"}}}},"/transaction":{"publish":{"operationId":"transaction-publish","summary":"subscribe","message":{"name":"subscribe","title":"subscribe","payload":{"$ref":"#/components/schemas/TransactionSubscribe"}}}},"/transfers":{"publish":{"operationId":"transfers-publish","summary":"subscribe","message":{"name":"subscribe","title":"subscribe","payload":{"$ref":"#/components/schemas/TransfersSubscribe"}}}},"/unsubscribe":{"publish":{"operationId":"unsubscribe-publish","summary":"subscribe","message":{"name":"subscribe","title":"subscribe","payload":{"$ref":"#/components/schemas/UnsubscribeSubscribe"}}},"subscribe":{"operationId":"unsubscribe-subscribe","summary":"publish","message":{"name":"publish","title":"publish","payload":{"$ref":"#/components/schemas/UnsubscribePublish"}}}}},"servers":{"production":{"url":"wss://ws.api.prod.paradex.trade/v1?sbeSchemaId=1&sbeSchemaVersion=1","protocol":"wss","x-default":true}},"components":{"schemas":{"ChannelsAccountSubscribeWithdrawalLockStatus":{"type":"string","enum":["PENDING","ACTIVE"],"description":"PENDING until Paraclear holds the lock; withdraw only once ACTIVE","title":"ChannelsAccountSubscribeWithdrawalLockStatus"},"ChannelsAccountSubscribeWithdrawalLock":{"type":"object","properties":{"amount":{"type":"string","description":"Settlement asset amount that can be withdrawn or transferred"},"expires_at":{"type":"integer","description":"Unix seconds after which the lock can no longer be spent"},"request_id":{"type":"string","description":"The request this lock answers, as returned by POST /account/withdrawal-lock"},"status":{"$ref":"#/components/schemas/ChannelsAccountSubscribeWithdrawalLockStatus","description":"PENDING until Paraclear holds the lock; withdraw only once ACTIVE"}},"required":["amount","expires_at","status"],"description":"Settlement asset amount reserved for a portfolio margin withdrawal, absent when there is none","title":"ChannelsAccountSubscribeWithdrawalLock"},"ChannelsAccountSubscribeWithdrawalLockRejection":{"type":"object","properties":{"amount":{"type":"string","description":"Settlement asset amount requested"},"reason":{"type":"string","description":"Why the lock was refused"},"rejected_at":{"type":"integer","description":"Unix seconds"},"request_id":{"type":"string","description":"The request refused, as returned by POST /account/withdrawal-lock"}},"required":["amount","reason","rejected_at"],"description":"The last withdrawal lock request refused, absent once it is five minutes old","title":"ChannelsAccountSubscribeWithdrawalLockRejection"},"AccountSubscribe":{"type":"object","properties":{"account":{"type":"string","description":"User's starknet account"},"account_value":{"type":"string","description":"Current account value [with unrealized P&Ls]"},"free_collateral":{"type":"string","description":"Free collateral available (Account value in excess of Initial Margin required)"},"initial_margin_requirement":{"type":"string","description":"Amount required to open trade for the existing positions"},"last_seen_notification":{"type":"integer","description":"Latest notification event timestamp (ms) the user has seen — used for cross-device dedup"},"maintenance_margin_requirement":{"type":"string","description":"Amount required to maintain exisiting positions"},"margin_cushion":{"type":"string","description":"Acc value in excess of maintenance margin required"},"seq_no":{"type":"integer","description":"Unique increasing number (non-sequential) that is assigned to this account update. Can be used to deduplicate multiple feeds"},"settlement_asset":{"type":"string","description":"Settlement asset for the account"},"status":{"type":"string","description":"Status of the acc - like ACTIVE, LIQUIDATION"},"total_collateral":{"type":"string","description":"User's total collateral"},"updated_at":{"type":"integer","description":"Account last updated time"},"withdrawal_lock":{"$ref":"#/components/schemas/ChannelsAccountSubscribeWithdrawalLock","description":"Settlement asset amount reserved for a portfolio margin withdrawal, absent when there is none"},"withdrawal_lock_rejection":{"$ref":"#/components/schemas/ChannelsAccountSubscribeWithdrawalLockRejection","description":"The last withdrawal lock request refused, absent once it is five minutes old"}},"required":["account","account_value","free_collateral","initial_margin_requirement","last_seen_notification","maintenance_margin_requirement","margin_cushion","seq_no","settlement_asset","status","total_collateral","updated_at"],"title":"AccountSubscribe"},"AuthSubscribe":{"type":"object","properties":{"node_id":{"type":"string","description":"Opaque server node identifier"}},"title":"AuthSubscribe"},"AuthPublish":{"type":"object","properties":{"bearer":{"type":"string","description":"JWT string obtained from POST /auth"}},"required":["bearer"],"title":"AuthPublish"},"BalanceEventsSubscribe":{"type":"object","properties":{"created_at":{"type":"integer","description":"Unix Millisecond timestamp at which the event occurred"},"fees":{"type":"string","description":"Fees in USDC (for fill events)"},"fill_id":{"type":"string","description":"Unique string ID of the fill (for fill events)"},"funding_index":{"type":"string","description":"Funding index used for the fill (for fill events)"},"market":{"type":"string","description":"Name of the market the update is referring to (for fill events)"},"realized_funding":{"type":"string","description":"Realized Funding in USDC (for fill events)"},"realized_pnl":{"type":"string","description":"Realized PnL (excluding funding) in USDC (for fill events)"},"settlement_asset_address":{"type":"string","description":"L2 Address of the settlement asset"},"settlement_asset_balance_after":{"type":"string","description":"Balance of the settled asset after the update"},"settlement_asset_balance_before":{"type":"string","description":"Balance of the settled asset before the update"},"settlement_asset_name":{"type":"string","description":"Name of the settlement asset"},"settlement_asset_price":{"type":"string","description":"Price of the settled asset at the update"},"status":{"type":"string","description":"Status of the balance event on chain"},"type":{"type":"string","description":"Type of the event"}},"required":["created_at","fees","fill_id","funding_index","market","realized_funding","realized_pnl","settlement_asset_address","settlement_asset_balance_after","settlement_asset_balance_before","settlement_asset_name","settlement_asset_price","status","type"],"title":"BalanceEventsSubscribe"},"BboMarketSymbolSubscribe":{"type":"object","properties":{"ask":{"type":"string","description":"Best ask price"},"ask_size":{"type":"string","description":"Best ask size"},"bid":{"type":"string","description":"Best bid price"},"bid_size":{"type":"string","description":"Best bid size"},"last_updated_at":{"type":"integer","description":"Last update to the orderbook in milliseconds"},"market":{"type":"string","description":"Symbol of the market"},"seq_no":{"type":"integer","description":"Sequence number of the orderbook"}},"required":["ask","ask_size","bid","bid_size","last_updated_at","market","seq_no"],"title":"BboMarketSymbolSubscribe"},"ChannelsFillsMarketSymbolSubscribeFillType":{"type":"string","enum":["LIQUIDATION","UNWIND_TRANSFER","FILL","SETTLE_MARKET","RPI","BLOCK_TRADE"],"description":"Fill type, can be FILL, LIQUIDATION or UNWIND_TRANSFER","title":"ChannelsFillsMarketSymbolSubscribeFillType"},"ChannelsFillsMarketSymbolSubscribeLiquidity":{"type":"string","enum":["TAKER","MAKER"],"description":"Maker or Taker","title":"ChannelsFillsMarketSymbolSubscribeLiquidity"},"ChannelsFillsMarketSymbolSubscribeSide":{"type":"string","enum":["BUY","SELL"],"description":"Taker side","title":"ChannelsFillsMarketSymbolSubscribeSide"},"FillsMarketSymbolSubscribe":{"type":"object","properties":{"account":{"type":"string","description":"Account that made the fill"},"client_id":{"type":"string","description":"Unique client assigned ID for the order"},"created_at":{"type":"integer","description":"Fill time"},"fee":{"type":"string","description":"Fee paid by the user"},"fee_currency":{"type":"string","description":"Asset that fee is charged in"},"fill_type":{"$ref":"#/components/schemas/ChannelsFillsMarketSymbolSubscribeFillType","description":"Fill type, can be FILL, LIQUIDATION or UNWIND_TRANSFER"},"flags":{"type":"array","items":{"type":"string"},"description":"Fill flags indicating special properties"},"id":{"type":"string","description":"Unique string ID of fill per FillType"},"leverage":{"type":"string","description":"Leverage of the account's position when the fill was processed; omitted for spot, options, liquidations and fills before it was recorded. Delivered on the JSON encoding only, not the SBE binary encoding."},"liquidity":{"$ref":"#/components/schemas/ChannelsFillsMarketSymbolSubscribeLiquidity","description":"Maker or Taker"},"market":{"type":"string","description":"Market name"},"order_id":{"type":"string","description":"Order ID"},"orderbook_seq_no":{"type":"integer","description":"Orderbook sequence number after trade execution (post-execution state). Use seqno-1 for pre-execution. 0 for position transfers (liquidations, settlements)"},"price":{"type":"string","description":"Price at which order was filled"},"realized_funding":{"type":"string","description":"Realized funding of the fill"},"realized_pnl":{"type":"string","description":"Realized PnL of the fill"},"remaining_size":{"type":"string","description":"Remaining size of the order"},"side":{"$ref":"#/components/schemas/ChannelsFillsMarketSymbolSubscribeSide","description":"Taker side"},"size":{"type":"string","description":"Size of the fill"},"underlying_price":{"type":"string","description":"Underlying asset price of the fill (spot price)"}},"required":["account","client_id","created_at","fee","fee_currency","fill_type","flags","id","liquidity","market","order_id","price","realized_funding","realized_pnl","remaining_size","side","size","underlying_price"],"title":"FillsMarketSymbolSubscribe"},"FundingDataMarketSymbolSubscribe":{"type":"object","properties":{"created_at":{"type":"integer","description":"Timestamp in milliseconds when the funding data was created"},"funding_index":{"type":"string","description":"Current funding index value as a decimal string"},"funding_period_hours":{"type":"number","format":"double","description":"Actual funding period in hours for this market"},"funding_premium":{"type":"string","description":"Current funding premium as a decimal string"},"funding_rate":{"type":"string","description":"Raw funding rate for the actual funding period as a decimal string"},"funding_rate_8h":{"type":"string","description":"Normalized 8-hour funding rate as a decimal string"},"impact_premium_rate":{"type":"string"},"market":{"type":"string","description":"Market represents the market identifier"}},"required":["created_at","funding_index","funding_period_hours","funding_premium","funding_rate","funding_rate_8h","market"],"title":"FundingDataMarketSymbolSubscribe"},"FundingPaymentsMarketSymbolSubscribe":{"type":"object","properties":{"account":{"type":"string","description":"Account that made the payment"},"created_at":{"type":"integer","description":"Funding payment time"},"fill_id":{"type":"string","description":"Fill id that triggered the payment (if any)"},"id":{"type":"string","description":"Unique string ID to identify the payment"},"index":{"type":"string","description":"Value of the funding index at the time of payment"},"market":{"type":"string","description":"Market against which payment is made"},"payment":{"type":"string","description":"Payment amount in settlement asset"}},"required":["account","created_at","fill_id","id","index","market","payment"],"title":"FundingPaymentsMarketSymbolSubscribe"},"ChannelsMarketsMarketSymbolSubscribeChangedFieldsDelta1CrossMarginParams":{"type":"object","properties":{},"title":"ChannelsMarketsMarketSymbolSubscribeChangedFieldsDelta1CrossMarginParams"},"ChannelsMarketsMarketSymbolSubscribeChangedFieldsFeeConfig":{"type":"object","properties":{},"title":"ChannelsMarketsMarketSymbolSubscribeChangedFieldsFeeConfig"},"ChannelsMarketsMarketSymbolSubscribeChangedFieldsOptionCrossMarginParams":{"type":"object","properties":{},"title":"ChannelsMarketsMarketSymbolSubscribeChangedFieldsOptionCrossMarginParams"},"ChannelsMarketsMarketSymbolSubscribeChangedFields":{"type":"object","properties":{"asset_kind":{"type":"string"},"base_currency":{"type":"string"},"clamp_rate":{"type":"number","format":"double"},"delta1_cross_margin_params":{"$ref":"#/components/schemas/ChannelsMarketsMarketSymbolSubscribeChangedFieldsDelta1CrossMarginParams"},"expiry_at":{"type":"integer"},"fee_config":{"$ref":"#/components/schemas/ChannelsMarketsMarketSymbolSubscribeChangedFieldsFeeConfig"},"funding_multiplier":{"type":"number","format":"double"},"funding_period_hours":{"type":"number","format":"double"},"interest_rate":{"type":"number","format":"double"},"market_kind":{"type":"string"},"max_funding_rate":{"type":"number","format":"double"},"max_funding_rate_change":{"type":"number","format":"double"},"max_open_orders":{"type":"integer"},"max_order_size":{"type":"string"},"max_slippage":{"type":"number","format":"double"},"max_tob_spread":{"type":"number","format":"double"},"min_notional":{"type":"string"},"open_at":{"type":"integer"},"option_cross_margin_params":{"$ref":"#/components/schemas/ChannelsMarketsMarketSymbolSubscribeChangedFieldsOptionCrossMarginParams"},"option_type":{"type":"string"},"oracle_ewma_factor":{"type":"number","format":"double"},"order_size_increment":{"type":"string"},"position_limit":{"type":"string"},"price_bands_width":{"type":"number","format":"double"},"price_tick_size":{"type":"string"},"quote_currency":{"type":"string"},"settlement_currency":{"type":"string"},"settlement_price":{"type":"number","format":"double"},"strike_price":{"type":"string"},"underlying_twap_price":{"type":"number","format":"double"}},"title":"ChannelsMarketsMarketSymbolSubscribeChangedFields"},"ChannelsMarketsMarketSymbolSubscribeEventType":{"type":"string","enum":["CREATED","DELETED","SETTLED","UPDATED"],"description":"Type of change","title":"ChannelsMarketsMarketSymbolSubscribeEventType"},"MarketsMarketSymbolSubscribe":{"type":"object","properties":{"changed_fields":{"$ref":"#/components/schemas/ChannelsMarketsMarketSymbolSubscribeChangedFields"},"event_type":{"$ref":"#/components/schemas/ChannelsMarketsMarketSymbolSubscribeEventType","description":"Type of change"},"symbol":{"type":"string","description":"Market symbol"},"updated_at":{"type":"integer","description":"Time of change (unix time millisecond)"}},"required":["changed_fields","event_type","symbol","updated_at"],"title":"MarketsMarketSymbolSubscribe"},"ChannelsMarketsSummaryMarketSymbolSubscribeGreeks":{"type":"object","properties":{"delta":{"type":"string","description":"Market Delta, to 5 decimal places"},"gamma":{"type":"string","description":"Market Gamma, to 6 significant digits"},"rho":{"type":"string","description":"Market Rho, to 6 significant digits"},"theta":{"type":"string","description":"Market Theta, to 6 significant digits"},"vanna":{"type":"string","description":"Market Vanna, to 6 significant digits"},"vega":{"type":"string","description":"Market Vega, to 6 significant digits"},"volga":{"type":"string","description":"Market Volga, to 6 significant digits"}},"required":["delta","gamma","vega"],"description":"Greeks (delta, gamma, vega). Partial for perpetual futures.","title":"ChannelsMarketsSummaryMarketSymbolSubscribeGreeks"},"ChannelsMarketsSummaryMarketSymbolSubscribeRollingDetails":{"type":"object","properties":{"current_active_contract_symbol":{"type":"string","description":"Current active contract symbol"},"current_active_contract_weight":{"type":"string","description":"Front contract weight (\"0\" to \"1\")"},"next_active_contract_symbol":{"type":"string","description":"Next active contract symbol"},"period_end":{"type":"integer","description":"UTC millis, end of current rolling period"},"period_start":{"type":"integer","description":"UTC millis, start of current rolling period"}},"title":"ChannelsMarketsSummaryMarketSymbolSubscribeRollingDetails"},"MarketsSummaryMarketSymbolSubscribe":{"type":"object","properties":{"ask":{"type":"string","description":"Best ask price"},"ask_iv":{"type":"string","description":"Ask implied volatility, for options, to 5 decimal places"},"ask_size":{"type":"string","description":"Size at best ask price"},"bid":{"type":"string","description":"Best bid price"},"bid_iv":{"type":"string","description":"Bid implied volatility, for options, to 5 decimal places"},"bid_size":{"type":"string","description":"Size at best bid price"},"created_at":{"type":"integer","description":"Market summary creation time"},"delta":{"type":"string","description":"Deprecated: Use greeks.delta instead"},"external_fair_price":{"type":"string","description":"External fair price, calculated from spot price and an external basis: spot_price * (1 + external_basis). where external basis is the median basis rate on different external exchanges"},"forward_rate":{"type":"string","description":"EWMA-smoothed annualized forward rate for dated options, to 6 decimal places"},"funding_rate":{"type":"string","description":"This raw funding rate corresponds to the actual funding period of the instrument itself. It is not a normalized 8h funding rate. To 12 decimal places."},"future_funding_rate":{"type":"string","description":"For options it's a smoothed version of future's funding rate"},"greeks":{"$ref":"#/components/schemas/ChannelsMarketsSummaryMarketSymbolSubscribeGreeks","description":"Greeks (delta, gamma, vega). Partial for perpetual futures."},"last_iv":{"type":"string","description":"Last traded price implied volatility, for options, to 5 decimal places"},"last_traded_price":{"type":"string","description":"Last traded price"},"mark_iv":{"type":"string","description":"Mark implied volatility, for options, to 5 decimal places"},"mark_price":{"type":"string","description":"[Mark price](https://docs.paradex.trade/risk-system/mark-price-calculation)"},"open_interest":{"type":"string","description":"Open interest in base currency"},"price_change_rate_24h":{"type":"string","description":"Price change rate in the last 24 hours, to 4 decimal places"},"risk_free_rate":{"type":"string","description":"Risk-free discounting rate used for option pricing"},"rolling_details":{"$ref":"#/components/schemas/ChannelsMarketsSummaryMarketSymbolSubscribeRollingDetails"},"settlement_twap_estimate":{"type":"string","description":"Running average of the underlying over the settlement window, on the live summary only while inside that window"},"symbol":{"type":"string","description":"Market symbol"},"total_volume":{"type":"string","description":"Lifetime total traded volume in USD"},"underlying_price":{"type":"string","description":"Underlying asset price (spot price)"},"volume_24h":{"type":"string","description":"24 hour volume in USD"}},"required":["ask","ask_size","bid","bid_size","created_at","funding_rate","last_traded_price","mark_price","open_interest","price_change_rate_24h","symbol","total_volume","underlying_price","volume_24h"],"title":"MarketsSummaryMarketSymbolSubscribe"},"ChannelsMmpSubscribeConfig":{"type":"object","properties":{"base_asset":{"type":"string","description":"Base asset the config applies to, across its dated options and perpetual futures"},"delta_limit":{"type":"string","description":"Delta limit in base asset units; 0 = check disabled"},"frozen_time_ms":{"type":"integer","description":"How long a trip freezes MMP orders, in milliseconds. 0 freezes until a manual reset"},"interval_ms":{"type":"integer","description":"Sliding window length in milliseconds. 0 when MMP was removed"},"protect_block_trades":{"type":"boolean","description":"Whether block trade legs, RFQ executions included, are protected"},"removed":{"type":"boolean","description":"True when MMP was removed for this base asset; the limits above are then zero"},"size_limit":{"type":"string","description":"Size limit in base asset units; 0 = check disabled"},"updated_at":{"type":"integer","description":"Unix milliseconds the config was last written"},"vega_limit":{"type":"string","description":"Vega limit in USD; 0 = check disabled"}},"required":["base_asset","delta_limit","frozen_time_ms","interval_ms","protect_block_trades","removed","size_limit","updated_at","vega_limit"],"description":"The new config, CONFIG_UPDATED only","title":"ChannelsMmpSubscribeConfig"},"ChannelsMmpSubscribeKind":{"type":"string","enum":["TRIGGERED","UNFROZEN","RESET","CONFIG_UPDATED"],"description":"TRIGGERED: a limit tripped. UNFROZEN: the freeze expired. RESET: MMP was reset. CONFIG_UPDATED: the config changed","title":"ChannelsMmpSubscribeKind"},"ChannelsMmpSubscribeTripReason":{"type":"string","enum":["SIZE","DELTA","VEGA","INVALID_FILL"],"description":"Limit that tripped, TRIGGERED only","title":"ChannelsMmpSubscribeTripReason"},"MmpSubscribe":{"type":"object","properties":{"account":{"type":"string","description":"Account the event belongs to"},"base_asset":{"type":"string","description":"Base asset the event applies to"},"config":{"$ref":"#/components/schemas/ChannelsMmpSubscribeConfig","description":"The new config, CONFIG_UPDATED only"},"created_at":{"type":"integer","description":"Unix milliseconds the event occurred"},"frozen_until":{"type":"integer","description":"Unix milliseconds the freeze ends on TRIGGERED, where 0 means until a manual reset. Always 0 on other kinds, which says nothing about freeze state"},"kind":{"$ref":"#/components/schemas/ChannelsMmpSubscribeKind","description":"TRIGGERED: a limit tripped. UNFROZEN: the freeze expired. RESET: MMP was reset. CONFIG_UPDATED: the config changed"},"trigger_market":{"type":"string","description":"Market of the fill that tripped, TRIGGERED only"},"trip_reason":{"$ref":"#/components/schemas/ChannelsMmpSubscribeTripReason","description":"Limit that tripped, TRIGGERED only"},"window_delta":{"type":"string","description":"Signed sum of fill delta in the window when the limit tripped, TRIGGERED only"},"window_size":{"type":"string","description":"Sum of fill size in the window when the limit tripped, TRIGGERED only"},"window_vega":{"type":"string","description":"Signed sum of fill vega in USD in the window when the limit tripped, TRIGGERED only"}},"required":["account","base_asset","created_at","frozen_until","kind"],"title":"MmpSubscribe"},"ModifySubscriptionSubscribe":{"type":"object","properties":{"add":{"type":"array","items":{"type":"string"},"description":"Markets that were added"},"channel":{"type":"string","description":"Channel whose subscription filter was modified"},"remove":{"type":"array","items":{"type":"string"},"description":"Markets that were removed"}},"title":"ModifySubscriptionSubscribe"},"ModifySubscriptionPublish":{"type":"object","properties":{"add":{"type":"array","items":{"type":"string"},"description":"Markets to add to the subscription's filter in place"},"channel":{"type":"string","description":"Channel of the live scoped subscription to modify (e.g. markets_summary)"},"remove":{"type":"array","items":{"type":"string"},"description":"Markets to remove from the subscription's filter in place"}},"required":["channel"],"title":"ModifySubscriptionPublish"},"ChannelsOrderCancelSubscribeStatus":{"type":"string","enum":["QUEUED_FOR_CANCELLATION"],"description":"Cancellation status","title":"ChannelsOrderCancelSubscribeStatus"},"OrderCancelSubscribe":{"type":"object","properties":{"order_id":{"type":"string","description":"Cancelled order ID"},"status":{"$ref":"#/components/schemas/ChannelsOrderCancelSubscribeStatus","description":"Cancellation status"}},"title":"OrderCancelSubscribe"},"OrderCancelPublish":{"type":"object","properties":{"client_id":{"type":"string","description":"Client-assigned order ID; requires market when used"},"id":{"type":"string","description":"Order ID to cancel; either id or client_id+market is required"},"market":{"type":"string","description":"Market symbol; required when cancelling by client_id"}},"title":"OrderCancelPublish"},"OrderCancelAllSubscribe":{"type":"object","properties":{"status":{"type":"string","description":"Always \"ok\""}},"title":"OrderCancelAllSubscribe"},"OrderCancelAllPublish":{"type":"object","properties":{"market":{"type":"string","description":"If set, only cancel orders in this market; omit to cancel all open orders"}},"title":"OrderCancelAllPublish"},"ChannelsOrderCancelBatchSubscribeResultsItemsStatus":{"type":"string","enum":["QUEUED_FOR_CANCELLATION","ALREADY_CLOSED","NOT_FOUND"],"description":"Outcome for this order","title":"ChannelsOrderCancelBatchSubscribeResultsItemsStatus"},"ChannelsOrderCancelBatchSubscribeResultsItems":{"type":"object","properties":{"id":{"type":"string","description":"Order ID"},"market":{"type":"string","description":"Market symbol (absent when status is NOT_FOUND)"},"status":{"$ref":"#/components/schemas/ChannelsOrderCancelBatchSubscribeResultsItemsStatus","description":"Outcome for this order"}},"title":"ChannelsOrderCancelBatchSubscribeResultsItems"},"OrderCancelBatchSubscribe":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/ChannelsOrderCancelBatchSubscribeResultsItems"},"description":"Per-order outcomes in the same order as order_ids"}},"title":"OrderCancelBatchSubscribe"},"OrderCancelBatchPublish":{"type":"object","properties":{"order_ids":{"type":"array","items":{"type":"string"},"description":"List of order IDs to cancel"}},"required":["order_ids"],"title":"OrderCancelBatchPublish"},"OrderCancelOnDisconnectSubscribe":{"type":"object","properties":{"enabled":{"type":"boolean","description":"The new Cancel on Disconnect state for this connection"}},"title":"OrderCancelOnDisconnectSubscribe"},"OrderCancelOnDisconnectPublish":{"type":"object","properties":{"enabled":{"type":"boolean","description":"true to enable Cancel on Disconnect, false to disable"}},"required":["enabled"],"title":"OrderCancelOnDisconnectPublish"},"ChannelsOrderCreateSubscribeOrderInstruction":{"type":"string","enum":["GTC","IOC","POST_ONLY","RPI"],"description":"Time-in-force instruction","title":"ChannelsOrderCreateSubscribeOrderInstruction"},"ChannelsOrderCreateSubscribeOrderSide":{"type":"string","enum":["BUY","SELL"],"description":"Order side","title":"ChannelsOrderCreateSubscribeOrderSide"},"ChannelsOrderCreateSubscribeOrderStatus":{"type":"string","enum":["NEW","OPEN","CLOSED"],"description":"Order status","title":"ChannelsOrderCreateSubscribeOrderStatus"},"ChannelsOrderCreateSubscribeOrderType":{"type":"string","enum":["LIMIT","MARKET","STOP_LIMIT","STOP_MARKET"],"description":"Order type","title":"ChannelsOrderCreateSubscribeOrderType"},"ChannelsOrderCreateSubscribeOrder":{"type":"object","properties":{"account":{"type":"string","description":"Account address that owns the order"},"avg_fill_price":{"type":"string","description":"Volume-weighted average fill price; \"0\" if unfilled"},"cancel_reason":{"type":"string","description":"Reason for cancellation (populated when status=CLOSED)"},"client_id":{"type":"string","description":"Client-assigned order ID"},"created_at":{"type":"integer","description":"Order creation time in milliseconds"},"flags":{"type":"array","items":{"type":"string"},"description":"Order flags applied"},"id":{"type":"string","description":"Unique order identifier assigned by exchange"},"instruction":{"$ref":"#/components/schemas/ChannelsOrderCreateSubscribeOrderInstruction","description":"Time-in-force instruction"},"last_updated_at":{"type":"integer","description":"Order last update time in milliseconds"},"market":{"type":"string","description":"Market symbol"},"price":{"type":"string","description":"Limit price"},"published_at":{"type":"integer","description":"Exchange publish time in milliseconds"},"received_at":{"type":"integer","description":"Exchange receipt time in milliseconds"},"remaining_size":{"type":"string","description":"Remaining unfilled size"},"seq_no":{"type":"integer","description":"Monotonically increasing sequence number for this order's updates"},"side":{"$ref":"#/components/schemas/ChannelsOrderCreateSubscribeOrderSide","description":"Order side"},"size":{"type":"string","description":"Order size"},"status":{"$ref":"#/components/schemas/ChannelsOrderCreateSubscribeOrderStatus","description":"Order status"},"timestamp":{"type":"integer","description":"Signature timestamp supplied at creation"},"trigger_price":{"type":"string","description":"Trigger price for stop orders"},"type":{"$ref":"#/components/schemas/ChannelsOrderCreateSubscribeOrderType","description":"Order type"}},"description":"Created order","title":"ChannelsOrderCreateSubscribeOrder"},"OrderCreateSubscribe":{"type":"object","properties":{"created_at":{"type":"integer","description":"Matching-engine timestamp in milliseconds"},"order":{"$ref":"#/components/schemas/ChannelsOrderCreateSubscribeOrder","description":"Created order"},"received_at":{"type":"integer","description":"Server receipt timestamp in nanoseconds, recorded before any speedbump"}},"title":"OrderCreateSubscribe"},"ChannelsOrderCreatePublishFlagsItems":{"type":"string","enum":["REDUCE_ONLY","MMP"],"title":"ChannelsOrderCreatePublishFlagsItems"},"ChannelsOrderCreatePublishInstruction":{"type":"string","enum":["GTC","IOC","POST_ONLY","RPI"],"description":"Time-in-force instruction","title":"ChannelsOrderCreatePublishInstruction"},"ChannelsOrderCreatePublishSide":{"type":"string","enum":["BUY","SELL"],"description":"Order side","title":"ChannelsOrderCreatePublishSide"},"ChannelsOrderCreatePublishStp":{"type":"string","enum":["EXPIRE_MAKER","EXPIRE_TAKER","EXPIRE_BOTH"],"description":"Self-trade prevention","title":"ChannelsOrderCreatePublishStp"},"ChannelsOrderCreatePublishType":{"type":"string","enum":["LIMIT","MARKET","STOP_LIMIT","STOP_MARKET"],"description":"Order type","title":"ChannelsOrderCreatePublishType"},"OrderCreatePublish":{"type":"object","properties":{"client_id":{"type":"string","description":"Client-assigned order ID (max 64 chars)"},"flags":{"type":"array","items":{"$ref":"#/components/schemas/ChannelsOrderCreatePublishFlagsItems"},"description":"Order flags. MMP is for LIMIT orders on dated options and perpetual futures; only resting maker fills count"},"instruction":{"$ref":"#/components/schemas/ChannelsOrderCreatePublishInstruction","description":"Time-in-force instruction"},"market":{"type":"string","description":"Market symbol"},"on_behalf_of_account":{"type":"string","description":"Isolated margin account address for isolated margin orders"},"price":{"type":"string","description":"Limit price; use \"0\" for MARKET orders"},"recv_window":{"type":"integer","description":"Max milliseconds between signature_timestamp and server receipt (min 10)"},"side":{"$ref":"#/components/schemas/ChannelsOrderCreatePublishSide","description":"Order side"},"signature":{"type":"string","description":"Starknet signature \"[r,s]\" over the order payload"},"signature_timestamp":{"type":"integer","description":"Unix timestamp in milliseconds used for signature verification"},"size":{"type":"string","description":"Order size (decimal string)"},"stp":{"$ref":"#/components/schemas/ChannelsOrderCreatePublishStp","description":"Self-trade prevention"},"trigger_price":{"type":"string","description":"Trigger price for stop orders"},"type":{"$ref":"#/components/schemas/ChannelsOrderCreatePublishType","description":"Order type"}},"required":["instruction","market","price","side","signature","signature_timestamp","size","type"],"title":"OrderCreatePublish"},"ChannelsOrderCreateBatchSubscribeResultsItemsOrderInstruction":{"type":"string","enum":["GTC","IOC","POST_ONLY","RPI"],"description":"Time-in-force instruction","title":"ChannelsOrderCreateBatchSubscribeResultsItemsOrderInstruction"},"ChannelsOrderCreateBatchSubscribeResultsItemsOrderSide":{"type":"string","enum":["BUY","SELL"],"description":"Order side","title":"ChannelsOrderCreateBatchSubscribeResultsItemsOrderSide"},"ChannelsOrderCreateBatchSubscribeResultsItemsOrderStatus":{"type":"string","enum":["NEW","OPEN","CLOSED"],"description":"Order status","title":"ChannelsOrderCreateBatchSubscribeResultsItemsOrderStatus"},"ChannelsOrderCreateBatchSubscribeResultsItemsOrderType":{"type":"string","enum":["LIMIT","MARKET","STOP_LIMIT","STOP_MARKET"],"description":"Order type","title":"ChannelsOrderCreateBatchSubscribeResultsItemsOrderType"},"ChannelsOrderCreateBatchSubscribeResultsItemsOrder":{"type":"object","properties":{"account":{"type":"string","description":"Account address that owns the order"},"avg_fill_price":{"type":"string","description":"Volume-weighted average fill price; \"0\" if unfilled"},"cancel_reason":{"type":"string","description":"Reason for cancellation (populated when status=CLOSED)"},"client_id":{"type":"string","description":"Client-assigned order ID"},"created_at":{"type":"integer","description":"Order creation time in milliseconds"},"flags":{"type":"array","items":{"type":"string"},"description":"Order flags applied"},"id":{"type":"string","description":"Unique order identifier assigned by exchange"},"instruction":{"$ref":"#/components/schemas/ChannelsOrderCreateBatchSubscribeResultsItemsOrderInstruction","description":"Time-in-force instruction"},"last_updated_at":{"type":"integer","description":"Order last update time in milliseconds"},"market":{"type":"string","description":"Market symbol"},"price":{"type":"string","description":"Limit price"},"published_at":{"type":"integer","description":"Exchange publish time in milliseconds"},"received_at":{"type":"integer","description":"Exchange receipt time in milliseconds"},"remaining_size":{"type":"string","description":"Remaining unfilled size"},"seq_no":{"type":"integer","description":"Monotonically increasing sequence number for this order's updates"},"side":{"$ref":"#/components/schemas/ChannelsOrderCreateBatchSubscribeResultsItemsOrderSide","description":"Order side"},"size":{"type":"string","description":"Order size"},"status":{"$ref":"#/components/schemas/ChannelsOrderCreateBatchSubscribeResultsItemsOrderStatus","description":"Order status"},"timestamp":{"type":"integer","description":"Signature timestamp supplied at creation"},"trigger_price":{"type":"string","description":"Trigger price for stop orders"},"type":{"$ref":"#/components/schemas/ChannelsOrderCreateBatchSubscribeResultsItemsOrderType","description":"Order type"}},"description":"Created order (present on success)","title":"ChannelsOrderCreateBatchSubscribeResultsItemsOrder"},"ChannelsOrderCreateBatchSubscribeResultsItems":{"type":"object","properties":{"created_at":{"type":"integer","description":"Matching-engine timestamp in milliseconds (present on success)"},"error":{"type":"string","description":"Error message (present on failure)"},"order":{"$ref":"#/components/schemas/ChannelsOrderCreateBatchSubscribeResultsItemsOrder","description":"Created order (present on success)"},"received_at":{"type":"integer","description":"Server receipt timestamp in nanoseconds (present on success)"}},"title":"ChannelsOrderCreateBatchSubscribeResultsItems"},"OrderCreateBatchSubscribe":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/ChannelsOrderCreateBatchSubscribeResultsItems"},"description":"Per-order outcomes in the same order as the request array"}},"title":"OrderCreateBatchSubscribe"},"ChannelsOrderCreateBatchPublishOrdersItemsFlagsItems":{"type":"string","enum":["REDUCE_ONLY","MMP"],"title":"ChannelsOrderCreateBatchPublishOrdersItemsFlagsItems"},"ChannelsOrderCreateBatchPublishOrdersItemsInstruction":{"type":"string","enum":["GTC","IOC","POST_ONLY","RPI"],"description":"Time-in-force instruction","title":"ChannelsOrderCreateBatchPublishOrdersItemsInstruction"},"ChannelsOrderCreateBatchPublishOrdersItemsSide":{"type":"string","enum":["BUY","SELL"],"description":"Order side","title":"ChannelsOrderCreateBatchPublishOrdersItemsSide"},"ChannelsOrderCreateBatchPublishOrdersItemsStp":{"type":"string","enum":["EXPIRE_MAKER","EXPIRE_TAKER","EXPIRE_BOTH"],"description":"Self-trade prevention","title":"ChannelsOrderCreateBatchPublishOrdersItemsStp"},"ChannelsOrderCreateBatchPublishOrdersItemsType":{"type":"string","enum":["LIMIT","MARKET","STOP_LIMIT","STOP_MARKET"],"description":"Order type","title":"ChannelsOrderCreateBatchPublishOrdersItemsType"},"ChannelsOrderCreateBatchPublishOrdersItems":{"type":"object","properties":{"client_id":{"type":"string","description":"Client-assigned order ID (max 64 chars)"},"flags":{"type":"array","items":{"$ref":"#/components/schemas/ChannelsOrderCreateBatchPublishOrdersItemsFlagsItems"},"description":"Order flags. MMP is for LIMIT orders on dated options and perpetual futures; only resting maker fills count"},"instruction":{"$ref":"#/components/schemas/ChannelsOrderCreateBatchPublishOrdersItemsInstruction","description":"Time-in-force instruction"},"market":{"type":"string","description":"Market symbol"},"on_behalf_of_account":{"type":"string","description":"Isolated margin account address for isolated margin orders"},"price":{"type":"string","description":"Limit price; use \"0\" for MARKET orders"},"recv_window":{"type":"integer","description":"Max milliseconds between signature_timestamp and server receipt (min 10)"},"side":{"$ref":"#/components/schemas/ChannelsOrderCreateBatchPublishOrdersItemsSide","description":"Order side"},"signature":{"type":"string","description":"Starknet signature \"[r,s]\" over the order payload"},"signature_timestamp":{"type":"integer","description":"Unix timestamp in milliseconds used for signature verification"},"size":{"type":"string","description":"Order size (decimal string)"},"stp":{"$ref":"#/components/schemas/ChannelsOrderCreateBatchPublishOrdersItemsStp","description":"Self-trade prevention"},"trigger_price":{"type":"string","description":"Trigger price for stop orders"},"type":{"$ref":"#/components/schemas/ChannelsOrderCreateBatchPublishOrdersItemsType","description":"Order type"}},"required":["instruction","market","price","side","signature","signature_timestamp","size","type"],"title":"ChannelsOrderCreateBatchPublishOrdersItems"},"OrderCreateBatchPublish":{"type":"object","properties":{"orders":{"type":"array","items":{"$ref":"#/components/schemas/ChannelsOrderCreateBatchPublishOrdersItems"},"description":"Array of order create requests (max batch size enforced server-side)"}},"required":["orders"],"title":"OrderCreateBatchPublish"},"ChannelsOrderModifySubscribeOrderInstruction":{"type":"string","enum":["GTC","IOC","POST_ONLY","RPI"],"description":"Time-in-force instruction","title":"ChannelsOrderModifySubscribeOrderInstruction"},"ChannelsOrderModifySubscribeOrderSide":{"type":"string","enum":["BUY","SELL"],"description":"Order side","title":"ChannelsOrderModifySubscribeOrderSide"},"ChannelsOrderModifySubscribeOrderStatus":{"type":"string","enum":["NEW","OPEN","CLOSED"],"description":"Order status","title":"ChannelsOrderModifySubscribeOrderStatus"},"ChannelsOrderModifySubscribeOrderType":{"type":"string","enum":["LIMIT","MARKET","STOP_LIMIT","STOP_MARKET"],"description":"Order type","title":"ChannelsOrderModifySubscribeOrderType"},"ChannelsOrderModifySubscribeOrder":{"type":"object","properties":{"account":{"type":"string","description":"Account address that owns the order"},"avg_fill_price":{"type":"string","description":"Volume-weighted average fill price; \"0\" if unfilled"},"cancel_reason":{"type":"string","description":"Reason for cancellation (populated when status=CLOSED)"},"client_id":{"type":"string","description":"Client-assigned order ID"},"created_at":{"type":"integer","description":"Order creation time in milliseconds"},"flags":{"type":"array","items":{"type":"string"},"description":"Order flags applied"},"id":{"type":"string","description":"Unique order identifier assigned by exchange"},"instruction":{"$ref":"#/components/schemas/ChannelsOrderModifySubscribeOrderInstruction","description":"Time-in-force instruction"},"last_updated_at":{"type":"integer","description":"Order last update time in milliseconds"},"market":{"type":"string","description":"Market symbol"},"price":{"type":"string","description":"Limit price"},"published_at":{"type":"integer","description":"Exchange publish time in milliseconds"},"received_at":{"type":"integer","description":"Exchange receipt time in milliseconds"},"remaining_size":{"type":"string","description":"Remaining unfilled size"},"seq_no":{"type":"integer","description":"Monotonically increasing sequence number for this order's updates"},"side":{"$ref":"#/components/schemas/ChannelsOrderModifySubscribeOrderSide","description":"Order side"},"size":{"type":"string","description":"Order size"},"status":{"$ref":"#/components/schemas/ChannelsOrderModifySubscribeOrderStatus","description":"Order status"},"timestamp":{"type":"integer","description":"Signature timestamp supplied at creation"},"trigger_price":{"type":"string","description":"Trigger price for stop orders"},"type":{"$ref":"#/components/schemas/ChannelsOrderModifySubscribeOrderType","description":"Order type"}},"description":"Modified order","title":"ChannelsOrderModifySubscribeOrder"},"OrderModifySubscribe":{"type":"object","properties":{"order":{"$ref":"#/components/schemas/ChannelsOrderModifySubscribeOrder","description":"Modified order"}},"title":"OrderModifySubscribe"},"ChannelsOrderModifyPublishSide":{"type":"string","enum":["BUY","SELL"],"description":"Existing side of the order","title":"ChannelsOrderModifyPublishSide"},"ChannelsOrderModifyPublishType":{"type":"string","enum":["LIMIT","MARKET","STOP_LIMIT","STOP_MARKET"],"description":"Existing type of the order","title":"ChannelsOrderModifyPublishType"},"OrderModifyPublish":{"type":"object","properties":{"id":{"type":"string","description":"Order ID to modify"},"market":{"type":"string","description":"Market symbol of the existing order"},"on_behalf_of_account":{"type":"string","description":"Isolated margin account address"},"price":{"type":"string","description":"New (or unchanged) limit price"},"side":{"$ref":"#/components/schemas/ChannelsOrderModifyPublishSide","description":"Existing side of the order"},"signature":{"type":"string","description":"Starknet signature \"[r,s]\" over the modified order payload"},"signature_timestamp":{"type":"integer","description":"Unix timestamp in milliseconds used for signature verification"},"size":{"type":"string","description":"New (or unchanged) size"},"trigger_price":{"type":"string","description":"New (or unchanged) trigger price for TPSL orders"},"type":{"$ref":"#/components/schemas/ChannelsOrderModifyPublishType","description":"Existing type of the order"}},"required":["id","market","price","side","signature","signature_timestamp","size","type"],"title":"OrderModifyPublish"},"feed_type":{"type":"string","enum":["snapshot","deltas","interactive","interactive_deltas"],"title":"feed_type"},"price_tick":{"type":"string","enum":["0_0000001","0_0000005","0_000001","0_00001","0_0001","0_001","0_01","0_1","1","10","100"],"title":"price_tick"},"refresh_rate":{"type":"string","enum":["50ms","100ms"],"title":"refresh_rate"},"ChannelsOrderBookMarketSymbolFeedType15RefreshRatePriceTickSubscribeBestAskApiSide":{"type":"string","enum":["BUY","SELL"],"title":"ChannelsOrderBookMarketSymbolFeedType15RefreshRatePriceTickSubscribeBestAskApiSide"},"ChannelsOrderBookMarketSymbolFeedType15RefreshRatePriceTickSubscribeBestAskApi":{"type":"object","properties":{"price":{"type":"string"},"side":{"$ref":"#/components/schemas/ChannelsOrderBookMarketSymbolFeedType15RefreshRatePriceTickSubscribeBestAskApiSide"},"size":{"type":"string"}},"required":["price","side","size"],"description":"Size on the best ask from API (excluding RPI)","title":"ChannelsOrderBookMarketSymbolFeedType15RefreshRatePriceTickSubscribeBestAskApi"},"ChannelsOrderBookMarketSymbolFeedType15RefreshRatePriceTickSubscribeBestAskInteractiveSide":{"type":"string","enum":["BUY","SELL"],"title":"ChannelsOrderBookMarketSymbolFeedType15RefreshRatePriceTickSubscribeBestAskInteractiveSide"},"ChannelsOrderBookMarketSymbolFeedType15RefreshRatePriceTickSubscribeBestAskInteractive":{"type":"object","properties":{"price":{"type":"string"},"side":{"$ref":"#/components/schemas/ChannelsOrderBookMarketSymbolFeedType15RefreshRatePriceTickSubscribeBestAskInteractiveSide"},"size":{"type":"string"}},"required":["price","side","size"],"description":"Size on the best ask from UI","title":"ChannelsOrderBookMarketSymbolFeedType15RefreshRatePriceTickSubscribeBestAskInteractive"},"ChannelsOrderBookMarketSymbolFeedType15RefreshRatePriceTickSubscribeBestBidApiSide":{"type":"string","enum":["BUY","SELL"],"title":"ChannelsOrderBookMarketSymbolFeedType15RefreshRatePriceTickSubscribeBestBidApiSide"},"ChannelsOrderBookMarketSymbolFeedType15RefreshRatePriceTickSubscribeBestBidApi":{"type":"object","properties":{"price":{"type":"string"},"side":{"$ref":"#/components/schemas/ChannelsOrderBookMarketSymbolFeedType15RefreshRatePriceTickSubscribeBestBidApiSide"},"size":{"type":"string"}},"required":["price","side","size"],"description":"Size on the best bid from API (excluding RPI)","title":"ChannelsOrderBookMarketSymbolFeedType15RefreshRatePriceTickSubscribeBestBidApi"},"ChannelsOrderBookMarketSymbolFeedType15RefreshRatePriceTickSubscribeBestBidInteractiveSide":{"type":"string","enum":["BUY","SELL"],"title":"ChannelsOrderBookMarketSymbolFeedType15RefreshRatePriceTickSubscribeBestBidInteractiveSide"},"ChannelsOrderBookMarketSymbolFeedType15RefreshRatePriceTickSubscribeBestBidInteractive":{"type":"object","properties":{"price":{"type":"string"},"side":{"$ref":"#/components/schemas/ChannelsOrderBookMarketSymbolFeedType15RefreshRatePriceTickSubscribeBestBidInteractiveSide"},"size":{"type":"string"}},"required":["price","side","size"],"description":"Size on the best bid from UI","title":"ChannelsOrderBookMarketSymbolFeedType15RefreshRatePriceTickSubscribeBestBidInteractive"},"ChannelsOrderBookMarketSymbolFeedType15RefreshRatePriceTickSubscribeDeletesItemsSide":{"type":"string","enum":["BUY","SELL"],"title":"ChannelsOrderBookMarketSymbolFeedType15RefreshRatePriceTickSubscribeDeletesItemsSide"},"ChannelsOrderBookMarketSymbolFeedType15RefreshRatePriceTickSubscribeDeletesItems":{"type":"object","properties":{"price":{"type":"string"},"side":{"$ref":"#/components/schemas/ChannelsOrderBookMarketSymbolFeedType15RefreshRatePriceTickSubscribeDeletesItemsSide"},"size":{"type":"string"}},"required":["price","side","size"],"title":"ChannelsOrderBookMarketSymbolFeedType15RefreshRatePriceTickSubscribeDeletesItems"},"ChannelsOrderBookMarketSymbolFeedType15RefreshRatePriceTickSubscribeInsertsItemsSide":{"type":"string","enum":["BUY","SELL"],"title":"ChannelsOrderBookMarketSymbolFeedType15RefreshRatePriceTickSubscribeInsertsItemsSide"},"ChannelsOrderBookMarketSymbolFeedType15RefreshRatePriceTickSubscribeInsertsItems":{"type":"object","properties":{"price":{"type":"string"},"side":{"$ref":"#/components/schemas/ChannelsOrderBookMarketSymbolFeedType15RefreshRatePriceTickSubscribeInsertsItemsSide"},"size":{"type":"string"}},"required":["price","side","size"],"title":"ChannelsOrderBookMarketSymbolFeedType15RefreshRatePriceTickSubscribeInsertsItems"},"ChannelsOrderBookMarketSymbolFeedType15RefreshRatePriceTickSubscribeUpdateType":{"type":"string","enum":["s","d"],"title":"ChannelsOrderBookMarketSymbolFeedType15RefreshRatePriceTickSubscribeUpdateType"},"ChannelsOrderBookMarketSymbolFeedType15RefreshRatePriceTickSubscribeUpdatesItemsSide":{"type":"string","enum":["BUY","SELL"],"title":"ChannelsOrderBookMarketSymbolFeedType15RefreshRatePriceTickSubscribeUpdatesItemsSide"},"ChannelsOrderBookMarketSymbolFeedType15RefreshRatePriceTickSubscribeUpdatesItems":{"type":"object","properties":{"price":{"type":"string"},"side":{"$ref":"#/components/schemas/ChannelsOrderBookMarketSymbolFeedType15RefreshRatePriceTickSubscribeUpdatesItemsSide"},"size":{"type":"string"}},"required":["price","side","size"],"title":"ChannelsOrderBookMarketSymbolFeedType15RefreshRatePriceTickSubscribeUpdatesItems"},"OrderBookMarketSymbolFeedType15RefreshRatePriceTickSubscribe":{"type":"object","properties":{"best_ask_api":{"$ref":"#/components/schemas/ChannelsOrderBookMarketSymbolFeedType15RefreshRatePriceTickSubscribeBestAskApi","description":"Size on the best ask from API (excluding RPI)"},"best_ask_interactive":{"$ref":"#/components/schemas/ChannelsOrderBookMarketSymbolFeedType15RefreshRatePriceTickSubscribeBestAskInteractive","description":"Size on the best ask from UI"},"best_bid_api":{"$ref":"#/components/schemas/ChannelsOrderBookMarketSymbolFeedType15RefreshRatePriceTickSubscribeBestBidApi","description":"Size on the best bid from API (excluding RPI)"},"best_bid_interactive":{"$ref":"#/components/schemas/ChannelsOrderBookMarketSymbolFeedType15RefreshRatePriceTickSubscribeBestBidInteractive","description":"Size on the best bid from UI"},"deletes":{"type":"array","items":{"$ref":"#/components/schemas/ChannelsOrderBookMarketSymbolFeedType15RefreshRatePriceTickSubscribeDeletesItems"}},"inserts":{"type":"array","items":{"$ref":"#/components/schemas/ChannelsOrderBookMarketSymbolFeedType15RefreshRatePriceTickSubscribeInsertsItems"}},"last_updated_at":{"type":"integer","description":"in milliseconds"},"market":{"type":"string"},"relative_spread":{"type":"string","description":"Relative spread: (ask-bid)/midpoint. Only included for the periodic interactive feed."},"seq_no":{"type":"integer"},"update_type":{"$ref":"#/components/schemas/ChannelsOrderBookMarketSymbolFeedType15RefreshRatePriceTickSubscribeUpdateType"},"updates":{"type":"array","items":{"$ref":"#/components/schemas/ChannelsOrderBookMarketSymbolFeedType15RefreshRatePriceTickSubscribeUpdatesItems"}}},"required":["deletes","inserts","last_updated_at","market","seq_no","update_type","updates"],"title":"OrderBookMarketSymbolFeedType15RefreshRatePriceTickSubscribe"},"ChannelsOrdersMarketSymbolSubscribeInstruction":{"type":"string","enum":["GTC","POST_ONLY","IOC","RPI"],"description":"Execution instruction for order matching","title":"ChannelsOrdersMarketSymbolSubscribeInstruction"},"ChannelsOrdersMarketSymbolSubscribeRequestInfo":{"type":"object","properties":{"id":{"type":"string","description":"Request id"},"message":{"type":"string","description":"Error message for failed requests"},"request_type":{"type":"string","description":"Type of request (MODIFY_ORDER)"},"status":{"type":"string","description":"Status of modify order request"}},"required":["id","message","request_type","status"],"description":"Additional request information for orders","title":"ChannelsOrdersMarketSymbolSubscribeRequestInfo"},"ChannelsOrdersMarketSymbolSubscribeSide":{"type":"string","enum":["BUY","SELL"],"description":"Order side","title":"ChannelsOrdersMarketSymbolSubscribeSide"},"ChannelsOrdersMarketSymbolSubscribeStatus":{"type":"string","enum":["NEW","UNTRIGGERED","OPEN","CLOSED"],"description":"Order status","title":"ChannelsOrdersMarketSymbolSubscribeStatus"},"ChannelsOrdersMarketSymbolSubscribeStp":{"type":"string","enum":["EXPIRE_MAKER","EXPIRE_TAKER","EXPIRE_BOTH"],"description":"Self Trade Prevention mode","title":"ChannelsOrdersMarketSymbolSubscribeStp"},"ChannelsOrdersMarketSymbolSubscribeType":{"type":"string","enum":["MARKET","LIMIT","STOP_LIMIT","STOP_MARKET","TAKE_PROFIT_LIMIT","TAKE_PROFIT_MARKET","STOP_LOSS_MARKET","STOP_LOSS_LIMIT"],"description":"Order type","title":"ChannelsOrdersMarketSymbolSubscribeType"},"OrdersMarketSymbolSubscribe":{"type":"object","properties":{"account":{"type":"string","description":"Paradex Account"},"avg_fill_price":{"type":"string","description":"Average fill price of the order"},"cancel_reason":{"type":"string","description":"Reason for order cancellation if it was closed by cancel"},"client_id":{"type":"string","description":"Client order id provided by the client at order creation"},"created_at":{"type":"integer","description":"Order creation time"},"flags":{"type":"array","items":{"type":"string"},"description":"Order flags"},"id":{"type":"string","description":"Unique order identifier generated by Paradex"},"instruction":{"$ref":"#/components/schemas/ChannelsOrdersMarketSymbolSubscribeInstruction","description":"Execution instruction for order matching"},"last_updated_at":{"type":"integer","description":"Order last update time.  No changes once status=CLOSED"},"market":{"type":"string","description":"Market"},"price":{"type":"string","description":"Order price. 0 for MARKET orders"},"published_at":{"type":"integer","description":"Timestamp in milliseconds when order was sent to the client"},"received_at":{"type":"integer","description":"Timestamp in milliseconds when order was received by API service"},"remaining_size":{"type":"string","description":"Remaining size of the order"},"request_info":{"$ref":"#/components/schemas/ChannelsOrdersMarketSymbolSubscribeRequestInfo","description":"Additional request information for orders"},"seq_no":{"type":"integer","description":"Unique increasing number (non-sequential) that is assigned to this order update and changes on every order update. Can be used to deduplicate multiple feeds. WebSocket and REST responses use independently generated seq_no per event."},"side":{"$ref":"#/components/schemas/ChannelsOrdersMarketSymbolSubscribeSide","description":"Order side"},"size":{"type":"string","description":"Order size"},"status":{"$ref":"#/components/schemas/ChannelsOrdersMarketSymbolSubscribeStatus","description":"Order status"},"stp":{"$ref":"#/components/schemas/ChannelsOrdersMarketSymbolSubscribeStp","description":"Self Trade Prevention mode"},"timestamp":{"type":"integer","description":"Order signature timestamp"},"trigger_price":{"type":"string","description":"Trigger price for stop order"},"type":{"$ref":"#/components/schemas/ChannelsOrdersMarketSymbolSubscribeType","description":"Order type"}},"required":["account","avg_fill_price","cancel_reason","client_id","created_at","flags","id","instruction","last_updated_at","market","price","published_at","received_at","remaining_size","seq_no","side","size","status","stp","timestamp","trigger_price","type"],"title":"OrdersMarketSymbolSubscribe"},"ChannelsPositionsSubscribeSide":{"type":"string","enum":["SHORT","LONG"],"description":"Position Side : Long or Short","title":"ChannelsPositionsSubscribeSide"},"ChannelsPositionsSubscribeStatus":{"type":"string","enum":["OPEN","CLOSED"],"description":"Status of Position : Open or Closed","title":"ChannelsPositionsSubscribeStatus"},"PositionsSubscribe":{"type":"object","properties":{"account":{"type":"string","description":"Account ID of the position"},"average_entry_price":{"type":"string","description":"Average entry price"},"average_entry_price_usd":{"type":"string","description":"Average entry price in USD"},"average_exit_price":{"type":"string","description":"Average exit price"},"cached_funding_index":{"type":"string","description":"Position cached funding index"},"closed_at":{"type":"integer","description":"Position closed time"},"cost":{"type":"string","description":"Position cost"},"cost_usd":{"type":"string","description":"Position cost in USD"},"created_at":{"type":"integer","description":"Position creation time"},"id":{"type":"string","description":"Unique string ID for the position"},"last_fill_id":{"type":"string","description":"Last fill ID to which the position is referring"},"last_updated_at":{"type":"integer","description":"Position last update time"},"leverage":{"type":"string","description":"Leverage of the position"},"liquidation_price":{"type":"string","description":"Liquidation price of the position"},"market":{"type":"string","description":"Market for position"},"realized_positional_funding_pnl":{"type":"string","description":"Realized Funding PnL for the position. Reset to 0 when position is closed or flipped."},"realized_positional_pnl":{"type":"string","description":"Realized PnL including both positional PnL and funding payments. Reset to 0 when position is closed or flipped."},"seq_no":{"type":"integer","description":"Unique increasing number (non-sequential) that is assigned to this position update. Can be used to deduplicate multiple feeds"},"side":{"$ref":"#/components/schemas/ChannelsPositionsSubscribeSide","description":"Position Side : Long or Short"},"size":{"type":"string","description":"Size of the position with sign (positive if long or negative if short)"},"status":{"$ref":"#/components/schemas/ChannelsPositionsSubscribeStatus","description":"Status of Position : Open or Closed"},"unrealized_funding_pnl":{"type":"string","description":"Unrealized running funding P&L for the position"},"unrealized_pnl":{"type":"string","description":"Unrealized P&L of the position in the quote asset. Includes the unrealized running funding P&L."}},"required":["account","average_entry_price","average_entry_price_usd","average_exit_price","cached_funding_index","cost","cost_usd","id","last_fill_id","leverage","liquidation_price","market","realized_positional_funding_pnl","realized_positional_pnl","seq_no","side","size","status","unrealized_funding_pnl","unrealized_pnl"],"title":"PositionsSubscribe"},"ChannelsRfqRfqIdSubscribeDeribitCostBuyStatus":{"type":"string","enum":["PRICED","NOT_LISTED","NO_SIZE","INSUFFICIENT_SIZE","NO_DATA"],"description":"Why this direction has no cost. NO_SIZE, INSUFFICIENT_SIZE and PRICED are one scale: nothing resting, some but not enough, enough. NOT_LISTED means Deribit does not list the instrument. NO_DATA means it does and no price has reached us, which is not an empty book and must not be drawn as one","title":"ChannelsRfqRfqIdSubscribeDeribitCostBuyStatus"},"ChannelsRfqRfqIdSubscribeDeribitCostSellStatus":{"type":"string","enum":["PRICED","NOT_LISTED","NO_SIZE","INSUFFICIENT_SIZE","NO_DATA"],"description":"As buy_status, for selling the structure instead of buying it","title":"ChannelsRfqRfqIdSubscribeDeribitCostSellStatus"},"ChannelsRfqRfqIdSubscribeDeribitCost":{"type":"object","properties":{"buy_available":{"type":"string","description":"Structure units resting at Deribit's top of book: the smallest, across premium legs, of that leg's available amount over its ratio. Travels with INSUFFICIENT_SIZE so a client can name the gap rather than only assert one"},"buy_cost":{"type":"string","description":"Signed USD total for the whole quantity, oriented like a structure price: positive is a debit, negative a net credit. Absent unless this direction's status is PRICED. A zero is a real price, for a structure whose legs offset, and is not the same as an absent figure"},"buy_status":{"$ref":"#/components/schemas/ChannelsRfqRfqIdSubscribeDeribitCostBuyStatus","description":"Why this direction has no cost. NO_SIZE, INSUFFICIENT_SIZE and PRICED are one scale: nothing resting, some but not enough, enough. NOT_LISTED means Deribit does not list the instrument. NO_DATA means it does and no price has reached us, which is not an empty book and must not be drawn as one"},"last_updated_at":{"type":"integer","description":"Unix ms of the OLDEST leg tick behind the figure, since a structure is as stale as its worst leg. Absent whenever no tick backs it, which is every NOT_LISTED and NO_DATA. Use it to tell a live figure from a frozen feed, not to tell whether the reference is still arriving"},"sell_available":{"type":"string","description":"As buy_available, for selling the structure instead of buying it"},"sell_cost":{"type":"string","description":"As buy_cost, for selling the structure instead of buying it"},"sell_status":{"$ref":"#/components/schemas/ChannelsRfqRfqIdSubscribeDeribitCostSellStatus","description":"As buy_status, for selling the structure instead of buying it"}},"description":"What the same structure would cost crossing Deribit's public book, when type is DERIBIT_COST. A reference only: nothing here is executable, and it repeats on a timer while the RFQ is open","title":"ChannelsRfqRfqIdSubscribeDeribitCost"},"ChannelsRfqRfqIdSubscribeQuoteRole":{"type":"string","enum":["TAKER","MAKER"],"description":"TAKER for your own order, MAKER for a counterparty quote","title":"ChannelsRfqRfqIdSubscribeQuoteRole"},"ChannelsRfqRfqIdSubscribeQuoteSide":{"type":"string","enum":["BUY","SELL"],"title":"ChannelsRfqRfqIdSubscribeQuoteSide"},"ChannelsRfqRfqIdSubscribeQuoteState":{"type":"string","enum":["PENDING","OPENED","CLOSED"],"title":"ChannelsRfqRfqIdSubscribeQuoteState"},"ChannelsRfqRfqIdSubscribeQuote":{"type":"object","properties":{"close_reason":{"type":"string","description":"Venue close reason on CLOSED (e.g. NO_MATCH, EXPIRED); empty otherwise"},"counterparty":{"type":"string"},"label":{"type":"string","description":"User label on the order; echoes your own label on TAKER orders"},"order_id":{"type":"string"},"price":{"type":"string"},"quantity":{"type":"string"},"role":{"$ref":"#/components/schemas/ChannelsRfqRfqIdSubscribeQuoteRole","description":"TAKER for your own order, MAKER for a counterparty quote"},"side":{"$ref":"#/components/schemas/ChannelsRfqRfqIdSubscribeQuoteSide"},"state":{"$ref":"#/components/schemas/ChannelsRfqRfqIdSubscribeQuoteState"}},"required":["order_id","state"],"description":"Maker or taker quote payload when type is QUOTE","title":"ChannelsRfqRfqIdSubscribeQuote"},"ChannelsRfqRfqIdSubscribeResultAllowedSide":{"type":"string","enum":["BUY","SELL","TWO_WAY"],"description":"Directions the risk check granted this RFQ, on the create result only; executing the other way is refused","title":"ChannelsRfqRfqIdSubscribeResultAllowedSide"},"ChannelsRfqRfqIdSubscribeResultOperation":{"type":"string","enum":["RFQ_CREATE","RFQ_DELETE","RFQ_EXECUTE"],"description":"REST command answered by this result","title":"ChannelsRfqRfqIdSubscribeResultOperation"},"ChannelsRfqRfqIdSubscribeResultStatus":{"type":"string","enum":["SUCCESS","FAILED"],"description":"Whether the RFQ venue accepted the command","title":"ChannelsRfqRfqIdSubscribeResultStatus"},"ChannelsRfqRfqIdSubscribeResult":{"type":"object","properties":{"allowed_side":{"$ref":"#/components/schemas/ChannelsRfqRfqIdSubscribeResultAllowedSide","description":"Directions the risk check granted this RFQ, on the create result only; executing the other way is refused"},"http_status":{"type":"integer","description":"Venue HTTP status, 0 when no response was received"},"label":{"type":"string","description":"User label echoed from the request"},"message":{"type":"string","description":"Human-readable error, empty on SUCCESS"},"never_sent":{"type":"boolean","description":"FAILED only: refused before reaching the venue, so it cannot have taken effect there. Absent on a failed forward, including http_status 0, which the venue may still have received"},"operation":{"$ref":"#/components/schemas/ChannelsRfqRfqIdSubscribeResultOperation","description":"REST command answered by this result"},"order_id":{"type":"string","description":"Venue-issued order id, present only for successful RFQ executions"},"request_id":{"type":"string","description":"Paradex-issued id returned by the REST 202 and echoed here for correlation"},"status":{"$ref":"#/components/schemas/ChannelsRfqRfqIdSubscribeResultStatus","description":"Whether the RFQ venue accepted the command"}},"required":["operation","status"],"description":"Asynchronous REST command outcome when type is RESULT","title":"ChannelsRfqRfqIdSubscribeResult"},"ChannelsRfqRfqIdSubscribeRfqCloseReason":{"type":"string","enum":["FILLED","EXPIRED","CANCELLED"],"title":"ChannelsRfqRfqIdSubscribeRfqCloseReason"},"ChannelsRfqRfqIdSubscribeRfqState":{"type":"string","enum":["OPENED","CLOSED"],"title":"ChannelsRfqRfqIdSubscribeRfqState"},"ChannelsRfqRfqIdSubscribeRfq":{"type":"object","properties":{"close_reason":{"$ref":"#/components/schemas/ChannelsRfqRfqIdSubscribeRfqCloseReason"},"expires_at":{"type":"integer"},"quantity":{"type":"string"},"state":{"$ref":"#/components/schemas/ChannelsRfqRfqIdSubscribeRfqState"}},"required":["state"],"description":"RFQ lifecycle payload when type is RFQ","title":"ChannelsRfqRfqIdSubscribeRfq"},"ChannelsRfqRfqIdSubscribeTradeSide":{"type":"string","enum":["BUY","SELL"],"title":"ChannelsRfqRfqIdSubscribeTradeSide"},"ChannelsRfqRfqIdSubscribeTradeState":{"type":"string","enum":["STARTED","EXECUTED","REJECTED","PROGRESS"],"title":"ChannelsRfqRfqIdSubscribeTradeState"},"ChannelsRfqRfqIdSubscribeTrade":{"type":"object","properties":{"counterparty":{"type":"string"},"price":{"type":"string"},"quantity":{"type":"string"},"reason":{"type":"string","description":"Taker-facing rejection reason on REJECTED (e.g. risk check, invalid credentials); empty otherwise"},"side":{"$ref":"#/components/schemas/ChannelsRfqRfqIdSubscribeTradeSide"},"state":{"$ref":"#/components/schemas/ChannelsRfqRfqIdSubscribeTradeState"},"trade_id":{"type":"string"}},"required":["state","trade_id"],"description":"Block-trade payload when type is TRADE","title":"ChannelsRfqRfqIdSubscribeTrade"},"ChannelsRfqRfqIdSubscribeType":{"type":"string","enum":["RFQ","QUOTE","TRADE","RESULT","DERIBIT_COST"],"description":"Event variant; exactly one matching payload field is populated","title":"ChannelsRfqRfqIdSubscribeType"},"RfqRfqIdSubscribe":{"type":"object","properties":{"account":{"type":"string","description":"Paradex account that owns the RFQ"},"created_at":{"type":"integer","description":"Event time in Unix milliseconds"},"deribit_cost":{"$ref":"#/components/schemas/ChannelsRfqRfqIdSubscribeDeribitCost","description":"What the same structure would cost crossing Deribit's public book, when type is DERIBIT_COST. A reference only: nothing here is executable, and it repeats on a timer while the RFQ is open"},"quote":{"$ref":"#/components/schemas/ChannelsRfqRfqIdSubscribeQuote","description":"Maker or taker quote payload when type is QUOTE"},"result":{"$ref":"#/components/schemas/ChannelsRfqRfqIdSubscribeResult","description":"Asynchronous REST command outcome when type is RESULT"},"rfq":{"$ref":"#/components/schemas/ChannelsRfqRfqIdSubscribeRfq","description":"RFQ lifecycle payload when type is RFQ"},"rfq_id":{"type":"string","description":"Venue-issued RFQ id; empty on a failed create result"},"seq":{"type":"integer","description":"Monotonic delivery sequence for this account partition"},"trade":{"$ref":"#/components/schemas/ChannelsRfqRfqIdSubscribeTrade","description":"Block-trade payload when type is TRADE"},"type":{"$ref":"#/components/schemas/ChannelsRfqRfqIdSubscribeType","description":"Event variant; exactly one matching payload field is populated"}},"required":["account","created_at","rfq_id","seq","type"],"title":"RfqRfqIdSubscribe"},"SubscribeSubscribe":{"type":"object","properties":{"channel":{"type":"string","description":"Channel name that was subscribed"}},"title":"SubscribeSubscribe"},"SubscribePublish":{"type":"object","properties":{"channel":{"type":"string","description":"Channel name to subscribe to (e.g. trades.BTC-USD-PERP)"},"markets":{"type":"array","items":{"type":"string"},"description":"For markets_summary only: the initial set of markets to scope the subscription to (may be empty). Present selects scoped mutable-filter mode whose set is changed via modify_subscription; omit for the all-markets firehose."}},"required":["channel"],"title":"SubscribePublish"},"TradebustsSubscribe":{"type":"object","properties":{"account":{"type":"string","description":"Paradex Account"},"busted_fill_id":{"type":"string","description":"Unique ID of the busted fill"},"created_at":{"type":"integer","description":"Unix timestamp in milliseconds when bust was created"}},"required":["account","busted_fill_id","created_at"],"title":"TradebustsSubscribe"},"ChannelsTradesMarketSymbolSubscribeSide":{"type":"string","enum":["BUY","SELL"],"description":"Taker side","title":"ChannelsTradesMarketSymbolSubscribeSide"},"ChannelsTradesMarketSymbolSubscribeTradeType":{"type":"string","enum":["LIQUIDATION","UNWIND_TRANSFER","FILL","SETTLE_MARKET","RPI","BLOCK_TRADE"],"description":"Trade type: FILL, LIQUIDATION, RPI, UNWIND_TRANSFER, SETTLE_MARKET or BLOCK_TRADE","title":"ChannelsTradesMarketSymbolSubscribeTradeType"},"TradesMarketSymbolSubscribe":{"type":"object","properties":{"block_id":{"type":"string","description":"Groups the legs settled together in one block execution, one id per accepted offer for offer-based blocks. Empty for non-block trades. Delivered on the JSON encoding only, not the SBE binary encoding."},"created_at":{"type":"integer","description":"Unix Millisecond timestamp at which trade was done"},"id":{"type":"string","description":"Unique Trade ID per TradeType"},"market":{"type":"string","description":"Market for which trade was done"},"price":{"type":"string","description":"Trade price"},"side":{"$ref":"#/components/schemas/ChannelsTradesMarketSymbolSubscribeSide","description":"Taker side"},"size":{"type":"string","description":"Trade size"},"trade_type":{"$ref":"#/components/schemas/ChannelsTradesMarketSymbolSubscribeTradeType","description":"Trade type: FILL, LIQUIDATION, RPI, UNWIND_TRANSFER, SETTLE_MARKET or BLOCK_TRADE"}},"required":["created_at","id","market","price","side","size","trade_type"],"title":"TradesMarketSymbolSubscribe"},"ChannelsTransactionSubscribeState":{"type":"string","enum":["ACCEPTED_ON_L1","ACCEPTED_ON_L2","NOT_RECEIVED","RECEIVED","REJECTED","REVERTED"],"description":"Status of the transaction on Starknet","title":"ChannelsTransactionSubscribeState"},"ChannelsTransactionSubscribeType":{"type":"string","enum":["TRANSACTION_FILL","TRANSACTION_LIQUIDATE","TRANSACTION_SETTLE_MARKET"],"description":"Event that triggered the transaction","title":"ChannelsTransactionSubscribeType"},"TransactionSubscribe":{"type":"object","properties":{"completed_at":{"type":"integer","description":"Timestamp from when the transaction was completed"},"created_at":{"type":"integer","description":"Timestamp from when the transaction was sent to blockchain gateway"},"hash":{"type":"string","description":"Tx Hash of the settled trade                                                // Hash of the transaction"},"id":{"type":"string","description":"Unique string ID of the event that triggered the transaction. For example, fill ID or liquidation ID"},"state":{"$ref":"#/components/schemas/ChannelsTransactionSubscribeState","description":"Status of the transaction on Starknet"},"type":{"$ref":"#/components/schemas/ChannelsTransactionSubscribeType","description":"Event that triggered the transaction"}},"required":["completed_at","created_at","hash","id","state","type"],"title":"TransactionSubscribe"},"ChannelsTransfersSubscribeBridge":{"type":"string","enum":["","STARKGATE","LAYERSWAP","RHINOFI","HYPERLANE","ORBITER"],"description":"Bridge used for the transfer","title":"ChannelsTransfersSubscribeBridge"},"ChannelsTransfersSubscribeDirection":{"type":"string","enum":["IN","OUT"],"description":"Transfer direction (IN, OUT)","title":"ChannelsTransfersSubscribeDirection"},"ChannelsTransfersSubscribeKind":{"type":"string","enum":["DEPOSIT","WITHDRAWAL","UNWINDING","VAULT_DEPOSIT","VAULT_WITHDRAWAL","AUTO_WITHDRAWAL","AIRDROP"],"description":"Transfer Kind (DEPOSIT, WITHDRAWAL)","title":"ChannelsTransfersSubscribeKind"},"ChannelsTransfersSubscribeStatus":{"type":"string","enum":["PENDING","AVAILABLE","COMPLETED","FAILED"],"description":"Transfer External State (PENDING, AVAILABLE, COMPLETED, FAILED)","title":"ChannelsTransfersSubscribeStatus"},"TransfersSubscribe":{"type":"object","properties":{"account":{"type":"string","description":"Starknet Account address"},"amount":{"type":"string","description":"Transferred amount"},"auto_withdrawal_fee":{"type":"string","description":"Fee for auto withdrawal in USDC"},"bridge":{"$ref":"#/components/schemas/ChannelsTransfersSubscribeBridge","description":"Bridge used for the transfer"},"counterparty":{"type":"string","description":"Counterparty address"},"created_at":{"type":"integer","description":"Unix Millis timestamp transfer was created on L2"},"direction":{"$ref":"#/components/schemas/ChannelsTransfersSubscribeDirection","description":"Transfer direction (IN, OUT)"},"external_account":{"type":"string","description":"External chain account address"},"external_chain":{"type":"string","description":"External chain used for the transfer"},"external_txn_hash":{"type":"string","description":"Transaction hash on the external chain"},"failure_reason":{"type":"string","description":"Reason for transfer failure"},"id":{"type":"string","description":"Transfer auto-generated ID"},"kind":{"$ref":"#/components/schemas/ChannelsTransfersSubscribeKind","description":"Transfer Kind (DEPOSIT, WITHDRAWAL)"},"last_updated_at":{"type":"integer","description":"Unix Millis timestamp transfer was last updated on L2"},"socialized_loss_factor":{"type":"string","description":"Withdrawal's socialized loss factor"},"status":{"$ref":"#/components/schemas/ChannelsTransfersSubscribeStatus","description":"Transfer External State (PENDING, AVAILABLE, COMPLETED, FAILED)"},"token":{"type":"string","description":"Transferred token name"},"txn_hash":{"type":"string","description":"Transaction hash on Paradex chain"},"vault_address":{"type":"string","description":"Vault address"},"vault_unwind_completion_percentage":{"type":"string","description":"Vault unwind completion percentage"}},"required":["account","amount","auto_withdrawal_fee","bridge","counterparty","created_at","direction","external_account","external_chain","external_txn_hash","failure_reason","id","kind","last_updated_at","socialized_loss_factor","status","token","txn_hash","vault_address","vault_unwind_completion_percentage"],"title":"TransfersSubscribe"},"UnsubscribeSubscribe":{"type":"object","properties":{"channel":{"type":"string","description":"Channel name that was unsubscribed"}},"title":"UnsubscribeSubscribe"},"UnsubscribePublish":{"type":"object","properties":{"channel":{"type":"string","description":"Channel name to unsubscribe from"}},"required":["channel"],"title":"UnsubscribePublish"}}}}