nautilus_binance/futures/mod.rs
1// -------------------------------------------------------------------------------------------------
2// Copyright (C) 2015-2026 Nautech Systems Pty Ltd. All rights reserved.
3// https://nautechsystems.io
4//
5// Licensed under the GNU Lesser General Public License Version 3.0 (the "License");
6// You may not use this file except in compliance with the License.
7// You may obtain a copy of the License at https://www.gnu.org/licenses/lgpl-3.0.en.html
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14// -------------------------------------------------------------------------------------------------
15
16//! Binance Futures adapter components.
17//!
18//! This module provides HTTP and WebSocket clients for Binance Futures:
19//!
20//! - **USD-M Futures** (`fapi.binance.com`) - USDT-margined perpetual contracts
21//! - **COIN-M Futures** (`dapi.binance.com`) - Coin-margined perpetual contracts
22//!
23//! ## WebSocket Streams
24//!
25//! Unlike Spot which uses SBE binary encoding, Futures uses standard JSON WebSocket streams:
26//!
27//! - `<symbol>@trade` - Real-time trade data
28//! - `<symbol>@depth` - Order book updates (diff)
29//! - `<symbol>@depth@100ms` - Order book updates (100ms frequency)
30//! - `<symbol>@markPrice` - Mark price updates
31//! - `<symbol>@kline_<interval>` - Kline/candlestick updates
32//!
33//! ## Authentication
34//!
35//! - Public streams: No authentication required
36//! - User data streams: Requires listen key (obtained via REST API)
37
38pub mod http;
39pub mod websocket;
40
41pub use http::client::BinanceFuturesHttpClient;
42pub use websocket::client::BinanceFuturesWebSocketClient;