Skip to main content

AccountUpdate

Struct AccountUpdate 

Source
#[non_exhaustive]
pub struct AccountUpdate {
Show 21 fields pub adj_eq: NumberString, pub avail_eq: NumberString, pub borrow_froz: NumberString, pub delta: NumberString, pub delta_lever: NumberString, pub delta_neutral_status: String, pub details: Vec<AccountBalanceUpdate>, pub imr: NumberString, pub iso_eq: NumberString, pub mgn_ratio: NumberString, pub mmr: NumberString, pub notional_usd: NumberString, pub notional_usd_for_borrow: NumberString, pub notional_usd_for_futures: NumberString, pub notional_usd_for_option: NumberString, pub notional_usd_for_swap: NumberString, pub ord_froz: NumberString, pub total_eq: NumberString, pub u_time: NumberString, pub upl: NumberString, pub extra: ExtraFields,
}
Expand description

Account data row pushed by the private account WebSocket channel.

The account channel provides account-level equity, margin requirements, liabilities, notional values, risk indicators, and detailed per-currency balances.

OKX may push account information:

  • after account-related events, such as order placement, cancellation or execution;
  • at regular intervals;
  • as an initial paginated snapshot.

Only currencies with a non-zero eq, availEq, or availBal are included in the initial and regular snapshots.

The outer WebSocket message fields curPage and lastPage are not part of this structure. They belong to the WebSocket push envelope.

OKX docs: https://www.okx.com/docs-v5/en/#trading-account-websocket-account-channel

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§adj_eq: NumberString

Adjusted or effective account equity denominated in USD.

This is the net value of assets that can provide margin after applying collateral discount rates.

Applicable to Spot mode, Multi-currency margin mode and Portfolio margin mode.

§avail_eq: NumberString

Account-level available equity.

Currencies restricted by the collateralized borrowing limit are excluded.

Applicable to Multi-currency margin mode and Portfolio margin mode.

§borrow_froz: NumberString

Potential borrowing initial margin requirement of the account in USD.

An empty string may be returned when the field is not applicable to the current account mode.

§delta: NumberString

Account delta denominated in USD.

§delta_lever: NumberString

Account-level delta leverage for a delta-neutral strategy.

Calculated by OKX as delta / totalEq.

§delta_neutral_status: String

Delta-neutral risk status.

Documented values:

  • "0": normal;
  • "1": transfers are restricted;
  • "2": delta-reducing restrictions are active.

This remains a string so newly introduced OKX status values can still be decoded.

§details: Vec<AccountBalanceUpdate>

Detailed account information grouped by currency.

§imr: NumberString

Account-level initial margin requirement in USD.

This is the sum of initial margin requirements for cross-margin positions and pending orders.

§iso_eq: NumberString

Isolated-margin equity denominated in USD.

Applicable to Futures mode, Multi-currency margin mode and Portfolio margin mode.

§mgn_ratio: NumberString

Account maintenance margin ratio.

Applicable to Spot mode, Multi-currency margin mode and Portfolio margin mode.

§mmr: NumberString

Account-level maintenance margin requirement in USD.

This is the sum of maintenance margin requirements for cross-margin positions and pending orders.

§notional_usd: NumberString

Total notional value of account positions in USD.

§notional_usd_for_borrow: NumberString

Notional value attributed to borrowing in USD.

§notional_usd_for_futures: NumberString

Notional value of expiry-futures positions in USD.

§notional_usd_for_option: NumberString

Notional value of option positions in USD.

§notional_usd_for_swap: NumberString

Notional value of perpetual-futures positions in USD.

§ord_froz: NumberString

Cross-margin amount frozen by pending orders, denominated in USD.

§total_eq: NumberString

Total account equity denominated in USD.

§u_time: NumberString

Time when the account information was last updated.

Unix timestamp in milliseconds, for example 1705564223311.

§upl: NumberString

Account-level cross-margin unrealized profit and loss in USD.

Applicable to Multi-currency margin mode and Portfolio margin mode.

§extra: ExtraFields

Additional account fields introduced by OKX that are not yet represented explicitly.

Trait Implementations§

Source§

impl Clone for AccountUpdate

Source§

fn clone(&self) -> AccountUpdate

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for AccountUpdate

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for AccountUpdate

Source§

fn default() -> AccountUpdate

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for AccountUpdate

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more