Skip to main content

rust_okx/api/account/responses/
balances.rs

1use serde::Deserialize;
2
3use crate::model::NumberString;
4
5/// The trading-account balance summary.
6#[derive(Debug, Clone, Deserialize)]
7#[serde(rename_all = "camelCase")]
8#[non_exhaustive]
9pub struct AccountBalance {
10    /// Total equity in USD.
11    #[serde(default)]
12    pub total_eq: NumberString,
13    /// Adjusted / effective equity in USD.
14    #[serde(default)]
15    pub adj_eq: NumberString,
16    /// Per-currency balance details.
17    #[serde(default)]
18    pub details: Vec<BalanceDetail>,
19    /// Last update time (Unix milliseconds).
20    #[serde(default)]
21    pub u_time: NumberString,
22}
23
24/// Balance details for a single currency.
25#[derive(Debug, Clone, Deserialize)]
26#[serde(rename_all = "camelCase")]
27#[non_exhaustive]
28pub struct BalanceDetail {
29    /// Currency, e.g. `USDT`.
30    pub ccy: String,
31    /// Equity of the currency.
32    #[serde(default)]
33    pub eq: NumberString,
34    /// Cash balance.
35    #[serde(default)]
36    pub cash_bal: NumberString,
37    /// Available balance.
38    #[serde(default)]
39    pub avail_bal: NumberString,
40    /// Frozen balance.
41    #[serde(default)]
42    pub frozen_bal: NumberString,
43}