pub struct BinanceExecutionClientConfig {Show 25 fields
pub account_id: AccountId,
pub product_type: BinanceProductType,
pub environment: BinanceEnvironment,
pub base_url_http: Option<String>,
pub base_url_ws: Option<String>,
pub base_url_ws_trading: Option<String>,
pub use_ws_trading: bool,
pub ws_trading_setup_timeout_ms: u64,
pub instrument_provider: BinanceInstrumentProviderConfig,
pub instrument_refresh_interval_secs: u64,
pub use_gtd: bool,
pub use_position_ids: bool,
pub oms_type: Option<OmsType>,
pub default_taker_fee: Decimal,
pub proxy_url: Option<String>,
pub recv_window_ms: u64,
pub us: bool,
pub api_key: Option<String>,
pub api_secret: Option<String>,
pub futures_leverages: Option<HashMap<String, u32>>,
pub futures_margin_types: Option<HashMap<String, BinanceMarginType>>,
pub bnfcr_currency: Currency,
pub treat_expired_as_canceled: bool,
pub use_trade_lite: bool,
pub transport_backend: TransportBackend,
}Expand description
Configuration for Binance execution client.
Global execution uses WebSocket API authentication with Ed25519 credentials. Binance US uses HMAC-signed HTTP requests and listen-key user data streams.
Fields§
§account_id: AccountIdAccount ID for the client.
product_type: BinanceProductTypeProduct type to trade.
environment: BinanceEnvironmentEnvironment (live, testnet, or demo).
base_url_http: Option<String>Optional base URL override for HTTP API.
base_url_ws: Option<String>Optional base URL override for WebSocket user data stream.
Live USD-M Futures stream overrides are normalized onto the /private/ws route.
base_url_ws_trading: Option<String>Optional base URL override for WebSocket trading API (Spot and USD-M Futures).
use_ws_trading: boolWhether to use the WebSocket trading API for order operations (Spot and USD-M Futures).
ws_trading_setup_timeout_ms: u64Timeout in milliseconds for each Binance Spot WS trading setup response.
instrument_provider: BinanceInstrumentProviderConfigInstrument loading and fee configuration.
instrument_refresh_interval_secs: u64Interval in seconds for refreshing the execution instrument cache.
Set to 0 to disable. Defaults to 3600 (60 minutes).
use_gtd: boolWhether to use Binance-native GTD orders.
Set to false only when the strategy manages GTD expiry locally. The adapter then maps GTD
to GTC and the strategy must enable manage_gtd_expiry.
use_position_ids: boolWhether to use canonical Binance Futures position IDs.
When true, Futures hedge-mode order and fill reports include a venue_position_id derived
from the instrument and Binance position side (e.g. ETHUSDT-PERP.BINANCE-LONG). Hedge-mode
REST position reports use the same IDs. One-way BOTH reports remain unkeyed. When false,
venue_position_id is None, allowing virtual positions with OmsType::Hedging.
oms_type: Option<OmsType>Optional OMS type override for Binance Futures accounts.
Set to Hedging when the account uses dual-side position mode. When
None, Binance Futures clients use Netting. Ignored for Spot clients.
default_taker_fee: DecimalDefault taker fee rate for commission estimation.
Used as a fallback when the venue omits commission fields in exchange-generated fills (liquidation, ADL, settlement). Standard Binance Futures taker fee is 0.0004 (0.04%).
proxy_url: Option<String>Optional proxy URL for HTTP and WebSocket transports.
recv_window_ms: u64Receive window in milliseconds for signed HTTP requests.
us: boolWhether to route this Spot client to Binance US.
api_key: Option<String>API key (uses an environment variable if not provided).
api_secret: Option<String>API secret (Ed25519 for Global or HMAC for Binance US).
futures_leverages: Option<HashMap<String, u32>>Initial leverage per Binance symbol (e.g. BTCUSDT -> 20), applied during connect.
futures_margin_types: Option<HashMap<String, BinanceMarginType>>Margin type per Binance symbol (e.g. BTCUSDT -> Cross), applied during connect.
bnfcr_currency: CurrencyCurrency that Binance Futures Credits (BNFCR) balances and fees resolve to (defaults to USDT).
treat_expired_as_canceled: boolIf true, the EXPIRED execution type emits OrderCanceled instead of OrderExpired.
Binance uses EXPIRED for certain cancel scenarios depending on order type and time-in-force combination.
use_trade_lite: boolIf true, drive fills from the lower-latency TRADE_LITE user data event
and dedup the matching fill portion of ORDER_TRADE_UPDATE. If false,
TRADE_LITE events are ignored and fills come from ORDER_TRADE_UPDATE.
transport_backend: TransportBackendWebSocket transport backend (defaults to Tungstenite).
Implementations§
Source§impl BinanceExecutionClientConfig
impl BinanceExecutionClientConfig
Sourcepub fn builder() -> BinanceExecutionClientConfigBuilder
pub fn builder() -> BinanceExecutionClientConfigBuilder
Create an instance of BinanceExecutionClientConfig using the builder syntax
Trait Implementations§
Source§impl ClientConfig for BinanceExecutionClientConfig
impl ClientConfig for BinanceExecutionClientConfig
Source§impl Clone for BinanceExecutionClientConfig
impl Clone for BinanceExecutionClientConfig
Source§fn clone(&self) -> BinanceExecutionClientConfig
fn clone(&self) -> BinanceExecutionClientConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for BinanceExecutionClientConfig
impl Debug for BinanceExecutionClientConfig
impl DerefToPyAny for BinanceExecutionClientConfig
Source§impl<'de> Deserialize<'de> for BinanceExecutionClientConfigwhere
BinanceExecutionClientConfig: Default,
impl<'de> Deserialize<'de> for BinanceExecutionClientConfigwhere
BinanceExecutionClientConfig: Default,
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl<'a, 'py> FromPyObject<'a, 'py> for BinanceExecutionClientConfigwhere
Self: Clone,
impl<'a, 'py> FromPyObject<'a, 'py> for BinanceExecutionClientConfigwhere
Self: Clone,
Source§impl<'py> IntoPyObject<'py> for BinanceExecutionClientConfig
impl<'py> IntoPyObject<'py> for BinanceExecutionClientConfig
Source§type Target = BinanceExecutionClientConfig
type Target = BinanceExecutionClientConfig
Source§type Output = Bound<'py, <BinanceExecutionClientConfig as IntoPyObject<'py>>::Target>
type Output = Bound<'py, <BinanceExecutionClientConfig as IntoPyObject<'py>>::Target>
Source§fn into_pyobject(
self,
py: Python<'py>,
) -> Result<<Self as IntoPyObject<'_>>::Output, <Self as IntoPyObject<'_>>::Error>
fn into_pyobject( self, py: Python<'py>, ) -> Result<<Self as IntoPyObject<'_>>::Output, <Self as IntoPyObject<'_>>::Error>
Source§impl PyClass for BinanceExecutionClientConfig
impl PyClass for BinanceExecutionClientConfig
Source§impl PyClassImpl for BinanceExecutionClientConfig
impl PyClassImpl for BinanceExecutionClientConfig
Source§const IS_BASETYPE: bool = false
const IS_BASETYPE: bool = false
Source§const IS_SUBCLASS: bool = false
const IS_SUBCLASS: bool = false
Source§const IS_MAPPING: bool = false
const IS_MAPPING: bool = false
Source§const IS_SEQUENCE: bool = false
const IS_SEQUENCE: bool = false
Source§const IS_IMMUTABLE_TYPE: bool = false
const IS_IMMUTABLE_TYPE: bool = false
Source§const RAW_DOC: &'static CStr = /// Configuration for Binance execution client.
///
/// Global execution uses WebSocket API authentication with Ed25519 credentials.
/// Binance US uses HMAC-signed HTTP requests and listen-key user data streams.
const RAW_DOC: &'static CStr = /// Configuration for Binance execution client. /// /// Global execution uses WebSocket API authentication with Ed25519 credentials. /// Binance US uses HMAC-signed HTTP requests and listen-key user data streams.
Source§const DOC: &'static CStr
const DOC: &'static CStr
text_signature if a constructor is defined. Read moreSource§type Layout = <<BinanceExecutionClientConfig as PyClassImpl>::BaseNativeType as PyClassBaseType>::Layout<BinanceExecutionClientConfig>
type Layout = <<BinanceExecutionClientConfig as PyClassImpl>::BaseNativeType as PyClassBaseType>::Layout<BinanceExecutionClientConfig>
Source§type ThreadChecker = NoopThreadChecker
type ThreadChecker = NoopThreadChecker
type Inventory = Pyo3MethodsInventoryForBinanceExecutionClientConfig
Source§type PyClassMutability = <<PyAny as PyClassBaseType>::PyClassMutability as PyClassMutability>::MutableChild
type PyClassMutability = <<PyAny as PyClassBaseType>::PyClassMutability as PyClassMutability>::MutableChild
Source§type BaseNativeType = PyAny
type BaseNativeType = PyAny
PyAny by default, and when you declare
#[pyclass(extends=PyDict)], it’s PyDict.fn items_iter() -> PyClassItemsIter
fn lazy_type_object() -> &'static LazyTypeObject<Self>
§fn dict_offset() -> Option<PyObjectOffset>
fn dict_offset() -> Option<PyObjectOffset>
§fn weaklist_offset() -> Option<PyObjectOffset>
fn weaklist_offset() -> Option<PyObjectOffset>
Source§impl PyClassNewTextSignature for BinanceExecutionClientConfig
impl PyClassNewTextSignature for BinanceExecutionClientConfig
const TEXT_SIGNATURE: &'static str = "(account_id, product_type=None, environment=None, base_url_http=None, base_url_ws=None, base_url_ws_trading=None, use_ws_trading=True, ws_trading_setup_timeout_ms=None, instrument_provider=None, instrument_refresh_interval_secs=None, use_gtd=True, use_position_ids=True, oms_type=None, default_taker_fee=None, proxy_url=None, recv_window_ms=None, us=False, api_key=None, api_secret=None, futures_leverages=None, futures_margin_types=None, treat_expired_as_canceled=False, use_trade_lite=False, bnfcr_currency=None, transport_backend=None)"
Source§impl PyStubType for BinanceExecutionClientConfig
impl PyStubType for BinanceExecutionClientConfig
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
§fn type_input() -> TypeInfo
fn type_input() -> TypeInfo
Source§impl PyTypeInfo for BinanceExecutionClientConfig
impl PyTypeInfo for BinanceExecutionClientConfig
Source§const NAME: &str = <Self as ::pyo3::PyClass>::NAME
const NAME: &str = <Self as ::pyo3::PyClass>::NAME
prefer using ::type_object(py).name() to get the correct runtime value
Source§const MODULE: Option<&str> = <Self as ::pyo3::impl_::pyclass::PyClassImpl>::MODULE
const MODULE: Option<&str> = <Self as ::pyo3::impl_::pyclass::PyClassImpl>::MODULE
prefer using ::type_object(py).module() to get the correct runtime value
Source§fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
§fn type_object(py: Python<'_>) -> Bound<'_, PyType>
fn type_object(py: Python<'_>) -> Bound<'_, PyType>
§fn is_type_of(object: &Bound<'_, PyAny>) -> bool
fn is_type_of(object: &Bound<'_, PyAny>) -> bool
object is an instance of this type or a subclass of this type.§fn is_exact_type_of(object: &Bound<'_, PyAny>) -> bool
fn is_exact_type_of(object: &Bound<'_, PyAny>) -> bool
object is an instance of this type.Auto Trait Implementations§
impl Freeze for BinanceExecutionClientConfig
impl RefUnwindSafe for BinanceExecutionClientConfig
impl Send for BinanceExecutionClientConfig
impl Sync for BinanceExecutionClientConfig
impl Unpin for BinanceExecutionClientConfig
impl UnsafeUnpin for BinanceExecutionClientConfig
impl UnwindSafe for BinanceExecutionClientConfig
Blanket Implementations§
impl<T> Allocation for T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
impl<'py, T> FromPyObjectOwned<'py> for Twhere
T: for<'a> FromPyObject<'a, 'py>,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<'py, T> IntoPyObjectExt<'py> for Twhere
T: IntoPyObject<'py>,
impl<'py, T> IntoPyObjectExt<'py> for Twhere
T: IntoPyObject<'py>,
§fn into_bound_py_any(self, py: Python<'py>) -> Result<Bound<'py, PyAny>, PyErr>
fn into_bound_py_any(self, py: Python<'py>) -> Result<Bound<'py, PyAny>, PyErr>
self into an owned Python object, dropping type information.§fn into_py_any(self, py: Python<'py>) -> Result<Py<PyAny>, PyErr>
fn into_py_any(self, py: Python<'py>) -> Result<Py<PyAny>, PyErr>
self into an owned Python object, dropping type information and unbinding it
from the 'py lifetime.§fn into_pyobject_or_pyerr(self, py: Python<'py>) -> Result<Self::Output, PyErr>
fn into_pyobject_or_pyerr(self, py: Python<'py>) -> Result<Self::Output, PyErr>
self into a Python object. Read more§impl<'py, T> IntoPyObjectNautilusExt<'py> for Twhere
T: IntoPyObjectExt<'py>,
impl<'py, T> IntoPyObjectNautilusExt<'py> for Twhere
T: IntoPyObjectExt<'py>,
§fn into_py_any_unwrap(self, py: Python<'py>) -> Py<PyAny>where
Self: IntoPyObject<'py, Error = !>,
fn into_py_any_unwrap(self, py: Python<'py>) -> Py<PyAny>where
Self: IntoPyObject<'py, Error = !>,
self into a [Py<PyAny>] when the underlying conversion is infallible.§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§impl<T> PyErrArguments for T
impl<T> PyErrArguments for T
§impl<T> PyTypeCheck for Twhere
T: PyTypeInfo,
impl<T> PyTypeCheck for Twhere
T: PyTypeInfo,
§fn type_check(object: &Bound<'_, PyAny>) -> bool
fn type_check(object: &Bound<'_, PyAny>) -> bool
§fn classinfo_object(py: Python<'_>) -> Bound<'_, PyAny>
fn classinfo_object(py: Python<'_>) -> Bound<'_, PyAny>
isinstance and issubclass function. Read more