pub struct KrakenExecClientConfig {Show 20 fields
pub trader_id: TraderId,
pub account_id: AccountId,
pub api_key: String,
pub api_secret: String,
pub product_type: KrakenProductType,
pub environment: KrakenEnvironment,
pub base_url: Option<String>,
pub ws_url: Option<String>,
pub proxy_url: Option<String>,
pub timeout_secs: u64,
pub heartbeat_interval_secs: u64,
pub max_requests_per_second: Option<u32>,
pub transport_backend: TransportBackend,
pub spot_account_type: AccountType,
pub default_leverage: Option<u16>,
pub use_spot_position_reports: bool,
pub spot_positions_quote_currency: String,
pub margin_balance_asset: Option<String>,
pub use_ws_trade: bool,
pub ws_request_timeout_secs: u64,
}Expand description
Configuration for the Kraken execution client.
Fields§
§trader_id: TraderId§account_id: AccountId§api_key: String§api_secret: String§product_type: KrakenProductType§environment: KrakenEnvironment§base_url: Option<String>§ws_url: Option<String>§proxy_url: Option<String>Optional proxy URL for HTTP and WebSocket transports.
timeout_secs: u64§heartbeat_interval_secs: u64§max_requests_per_second: Option<u32>§transport_backend: TransportBackend§spot_account_type: AccountTypeAccount type for spot trading (Cash or Margin).
When set to Margin, the adapter calls TradeBalance for margin reporting
and OpenPositions for position reconciliation.
Per-order leverage is set via SubmitOrder.params["leverage"] (u16 multiplier).
default_leverage: Option<u16>Default leverage multiplier for spot margin orders when not overridden per-order.
Sent as "N:1" to Kraken (e.g., 3 becomes "3:1").
Valid tiers per pair are in AssetPairInfo.leverage_buy / leverage_sell.
None means cash orders (no leverage field sent).
use_spot_position_reports: boolWhether to generate PositionStatusReports from spot wallet balances.
Set true for spot-only (cash) accounts that need position tracking from
balance snapshots. For margin accounts leave false; positions are
reconciled via OpenPositions instead.
spot_positions_quote_currency: StringQuote currency used for synthetic spot position reports.
Only relevant when use_spot_position_reports is true.
margin_balance_asset: Option<String>Summary-display asset for TradeBalance margin metrics.
Controls the denomination of equity, free margin, used margin, and other
summary figures returned by Kraken’s TradeBalance endpoint (e.g. "ZUSD",
"ZGBP", "ZEUR", "USDT"). None lets Kraken default to ZUSD.
Display-only: Kraken converts internally; per-position figures from
OpenPositions remain in the traded pair’s quote currency.
use_ws_trade: boolUse WebSocket v2 for order submission, modification, and cancellation.
When true (default), submit_order, modify_order, cancel_order,
and submit_order_list route through the authenticated WebSocket
connection when active, falling back to REST when the WebSocket is
inactive. When false, all order operations use REST only.
ws_request_timeout_secs: u64Timeout in seconds for WebSocket order responses.
Submit, amend, and batch-add timeouts emit rejection events. Cancel timeouts log and await reconciliation.
Implementations§
Source§impl KrakenExecClientConfig
impl KrakenExecClientConfig
Sourcepub fn builder() -> KrakenExecClientConfigBuilder
pub fn builder() -> KrakenExecClientConfigBuilder
Create an instance of KrakenExecClientConfig using the builder syntax
Source§impl KrakenExecClientConfig
impl KrakenExecClientConfig
Trait Implementations§
Source§impl ClientConfig for KrakenExecClientConfig
impl ClientConfig for KrakenExecClientConfig
Source§impl Clone for KrakenExecClientConfig
impl Clone for KrakenExecClientConfig
Source§fn clone(&self) -> KrakenExecClientConfig
fn clone(&self) -> KrakenExecClientConfig
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 KrakenExecClientConfig
impl Debug for KrakenExecClientConfig
Source§impl Default for KrakenExecClientConfig
impl Default for KrakenExecClientConfig
impl DerefToPyAny for KrakenExecClientConfig
Source§impl<'de> Deserialize<'de> for KrakenExecClientConfigwhere
KrakenExecClientConfig: Default,
impl<'de> Deserialize<'de> for KrakenExecClientConfigwhere
KrakenExecClientConfig: 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 KrakenExecClientConfigwhere
Self: Clone,
impl<'a, 'py> FromPyObject<'a, 'py> for KrakenExecClientConfigwhere
Self: Clone,
Source§impl<'py> IntoPyObject<'py> for KrakenExecClientConfig
impl<'py> IntoPyObject<'py> for KrakenExecClientConfig
Source§type Target = KrakenExecClientConfig
type Target = KrakenExecClientConfig
Source§type Output = Bound<'py, <KrakenExecClientConfig as IntoPyObject<'py>>::Target>
type Output = Bound<'py, <KrakenExecClientConfig 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 KrakenExecClientConfig
impl PyClass for KrakenExecClientConfig
Source§impl PyClassImpl for KrakenExecClientConfig
impl PyClassImpl for KrakenExecClientConfig
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 the Kraken execution client.
const RAW_DOC: &'static CStr = /// Configuration for the Kraken execution client.
Source§const DOC: &'static CStr
const DOC: &'static CStr
text_signature if a constructor is defined. Read moreSource§type Layout = <<KrakenExecClientConfig as PyClassImpl>::BaseNativeType as PyClassBaseType>::Layout<KrakenExecClientConfig>
type Layout = <<KrakenExecClientConfig as PyClassImpl>::BaseNativeType as PyClassBaseType>::Layout<KrakenExecClientConfig>
Source§type ThreadChecker = NoopThreadChecker
type ThreadChecker = NoopThreadChecker
type Inventory = Pyo3MethodsInventoryForKrakenExecClientConfig
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 KrakenExecClientConfig
impl PyClassNewTextSignature for KrakenExecClientConfig
const TEXT_SIGNATURE: &'static str = "(trader_id, account_id, api_key, api_secret, product_type=None, environment=None, base_url=None, ws_url=None, proxy_url=None, timeout_secs=None, heartbeat_interval_secs=None, max_requests_per_second=None, spot_account_type=None, default_leverage=None, use_spot_position_reports=None, spot_positions_quote_currency=None, margin_balance_asset=None, use_ws_trade=None, ws_request_timeout_secs=None)"
Source§impl PyStubType for KrakenExecClientConfig
impl PyStubType for KrakenExecClientConfig
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
§fn type_input() -> TypeInfo
fn type_input() -> TypeInfo
Source§impl PyTypeInfo for KrakenExecClientConfig
impl PyTypeInfo for KrakenExecClientConfig
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 KrakenExecClientConfig
impl RefUnwindSafe for KrakenExecClientConfig
impl Send for KrakenExecClientConfig
impl Sync for KrakenExecClientConfig
impl Unpin for KrakenExecClientConfig
impl UnsafeUnpin for KrakenExecClientConfig
impl UnwindSafe for KrakenExecClientConfig
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>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> 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>
fn into_py_any_unwrap(self, py: Python<'py>) -> Py<PyAny>
§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