Account Info

A single call that returns your account balance, current VIP tier, and basic account-level configuration. Call this once at login to populate client state; fetch on demand rather than polling.

Available as a REST endpoint and as a WebSocket op with an identical response body.

GET /account

GET /account

Auth: Authorization: Bearer <access_token>.

curl https://api.godarkdex.com/api/v1/account \
  -H "Authorization: Bearer $TOKEN"

Response

{
  "code": 0,
  "data": {
    "account_id": "acct_01HXYZ",
    "wallet": "CusT0dyVaU1t...",
    "status": "active",
    "balance": {
      "asset": "USDC",
      "total": "125430.250000",
      "available": "98210.500000",
      "locked_in_orders": "12000.000000",
      "locked_as_margin": "15219.750000"
    },
    "vip": {
      "tier": 2,
      "name": "Advanced",
      "maker_fee_bps": 0,
      "taker_fee_bps": 3,
      "rolling_30d_volume_usd": "12450000.00"
    },
    "config": {
      "default_leverage": 5,
      "margin_mode": "isolated",
      "cancel_on_disconnect": false,
      "self_trade_prevention": "cancel_taker",
      "preferred_quote_asset": "USDC"
    }
  },
  "timestamp": "2026-04-20T10:30:00.123Z",
  "request_id": "req_01HXYZ..."
}

Field Reference

Top-level

FieldTypeDescription
account_idstringStable account identifier. Same value returned on op: login.
walletstringSolana wallet address bound to the account.
statusstringactive, restricted, or suspended.

balance

FieldTypeDescription
assetstringCollateral asset. Always USDC.
totalstringavailable + locked_in_orders + locked_as_margin.
availablestringFree collateral — usable for new orders or withdrawal.
locked_in_ordersstringCollateral reserved against resting orders.
locked_as_marginstringCollateral posted as margin against open positions.

vip

Snapshot of fee-bearing VIP state. For the authoritative per-tier schedule and next-tier progress, use GET /account/vip.

FieldTypeDescription
tier / nameinteger / stringCurrent tier level and label.
maker_fee_bps / taker_fee_bpsnumberYour effective fees (negative maker = rebate).
rolling_30d_volume_usdstringQualifying notional volume over the last 30 days.

config

FieldTypeDescription
default_leveragenumberLeverage applied when an order omits an explicit value.
margin_modestringisolated (currently the only supported mode).
cancel_on_disconnectbooleanAccount-level default for WebSocket cancel-on-disconnect. Per-session opt-in on op: login overrides this.
self_trade_preventionstringOne of cancel_taker, cancel_maker, cancel_both.
preferred_quote_assetstringQuote asset shown by default in the app. Does not affect matching or settlement.

op: account.info

Same response body, delivered over the authenticated WebSocket.

{ "id": "c-20", "op": "account.info" }

Response:

{
  "id": "c-20",
  "op": "account.info",
  "code": 0,
  "data": {
    "account_id": "acct_01HXYZ",
    "wallet": "CusT0dyVaU1t...",
    "status": "active",
    "balance": { "asset": "USDC", "total": "125430.250000", "available": "98210.500000", "locked_in_orders": "12000.000000", "locked_as_margin": "15219.750000" },
    "vip": { "tier": 2, "name": "Advanced", "maker_fee_bps": 0, "taker_fee_bps": 3, "rolling_30d_volume_usd": "12450000.00" },
    "config": { "default_leverage": 5, "margin_mode": "isolated", "cancel_on_disconnect": false, "self_trade_prevention": "cancel_taker", "preferred_quote_asset": "USDC" }
  }
}

Requires a prior successful op: login. See WebSocket Trading.

Errors

StatusCodeMeaning
401not_authenticatedMissing or expired bearer token.
403account_restrictedAccount status is restricted or suspended.

Full list: Error Codes.