Skip to main content
GET
/
api
/
v1
/
account_overviews
Get account overview
curl --request GET \
  --url https://api.mainnet.aptoslabs.com/decibel/api/v1/account_overviews \
  --header 'Authorization: Bearer <token>'
{
  "cross_account_leverage_ratio": 40.99,
  "cross_margin_ratio": 0.01,
  "maintenance_margin": 115.29,
  "margin_deficit": -12.06,
  "perp_equity_balance": 10064.88,
  "total_margin": 9998.72,
  "unrealized_funding_cost": -87.84,
  "unrealized_pnl": 154,
  "usdc_cross_withdrawable_balance": 9843.79,
  "usdc_isolated_withdrawable_balance": 0,
  "all_time_return": 123,
  "average_cash_position": 123,
  "average_leverage": 123,
  "cross_account_position": 123,
  "liquidation_fees_paid": 45.5,
  "liquidation_losses": -500,
  "max_drawdown": 123,
  "net_deposits": 30277044.96,
  "pnl_90d": 123,
  "realized_pnl": 1250.5,
  "sharpe_ratio": 123,
  "vault_equity": 259.73,
  "volume": 123,
  "weekly_win_rate_12w": 123
}

Authorizations

Authorization
string
header
required

Bearer token from Geomi. See Authentication for setup instructions.

Query Parameters

account
string
required

User account address

volume_window
enum<string>

Volume time window (e.g., "7d", "14d", "30d", "90d"). Omit to exclude volume data. Time window for volume queries

Available options:
7d,
14d,
30d,
90d
include_performance
boolean
default:false

Include performance metrics

performance_lookback_days
integer<int32>
default:90

Performance lookback window in days.

Required range: x >= 0

Response

Account overview retrieved successfully

cross_account_leverage_ratio
number<double>
required
Example:

40.99

cross_margin_ratio
number<double>
required
Example:

0.01

maintenance_margin
number<double>
required
Example:

115.29

margin_deficit
number<double>
required

Cross-margin deficit: 0 when healthy, negative when the account has a margin hole. When negative, new deposits will partially fill this deficit before becoming available to trade. For example, deficit = -12 means a $185 deposit yields only $173 available (the first $12 fills the hole). Formula: min(0, margin_balance - margin_for_free_collateral + min(0, unrealized_pnl - funding) - order_margin)

Example:

-12.06

perp_equity_balance
number<double>
required
Example:

10064.88

total_margin
number<double>
required
Example:

9998.72

unrealized_funding_cost
number<double>
required
Example:

-87.84

unrealized_pnl
number<double>
required
Example:

154

usdc_cross_withdrawable_balance
number<double>
required
Example:

9843.79

usdc_isolated_withdrawable_balance
number<double>
required
Example:

0

all_time_return
number<double> | null
average_cash_position
number<double> | null
average_leverage
number<double> | null
cross_account_position
number<double> | null
liquidation_fees_paid
number<double> | null

Total fees paid during margin call liquidations (always positive). Fee rate is configurable per market (default 0.5%, max 2% of notional). This is already included in realized_pnl but shown separately for transparency. Null for accounts that have never been margin called.

Example:

45.5

liquidation_losses
number<double> | null

Net collateral balance changes from liquidations (vault/BLP accounts only). Regular users: always null - their liquidation loss is in realized_pnl via BackStopLiquidation trades. Vault accounts: positive = margin received from liquidated users (profit), negative = bad debt covered when users were underwater (loss).

Example:

-500

max_drawdown
number<double> | null
net_deposits
number<double> | null

Net deposits (total deposits - total withdrawals) in USDC. Used to verify all_time_return: all_time_return = ((equity - net_deposits) / net_deposits) * 100

Example:

30277044.96

pnl_90d
number<double> | null
realized_pnl
number<double> | null
Example:

1250.5

sharpe_ratio
number<double> | null
vault_equity
number<double> | null

Total USDC value of vault shares held by this account. NULL when not yet available (e.g., WebSocket updates before real-time vault tracking).

Example:

259.73

volume
number<double> | null
weekly_win_rate_12w
number<double> | null