SX Connect

Account Management

Read your owner-level aggregate balance and full transaction history across all your end users.

Read account-wide data for your customer account: the aggregate balance held in custody and the transaction history across every user you manage. Both endpoints report at the owner level—they don't scope to a single user.

Authentication: every endpoint on this page requires your Owner API Key. Only owner clients can call them; a user token or any non-owner key returns 403 Forbidden.

x-api-key: YOUR_OWNER_API_KEY

All requests accept an optional x-trace-id header for request tracking; if omitted, one is generated.

The gateway reshapes the upstream custody payload into the schema shown below—it doesn't pass it through. Balance is trimmed to four fields per currency; each transaction unifies the order and the trade into a single transaction object.


Get Account Balance

GEThttps://api.sandbox.sovera.io/sovx/v1/accounts/balance

Fetch your account's latest aggregate balance from custody. This is the owner-level total across all currencies your customer account holds—not a per-user view.

GET https://api.sandbox.sovera.io/sovx/v1/accounts/balance

No query parameters.

Success Response (200 OK):

data is a flat array. Each item:

FieldTypeDescription
currencystringCurrency code (lowercase).
balancenumberTotal balance.
availablenumberAvailable to trade or withdraw.
heldnumberHeld (not available).
{
  "success": true,
  "data": [
    {
      "currency": "usd",
      "balance": 10000,
      "available": 9000,
      "held": 1000
    },
    {
      "currency": "btc",
      "balance": 0.5,
      "available": 0.3,
      "held": 0.2
    }
  ],
  "meta": {
    "timestamp": "2026-01-15T10:30:00.000Z",
    "version": "v1",
    "trace_id": "5b8f3a9d-2c7e-4a1b-9f6d-0e3c2b1a4d5f"
  }
}

sFox returns nine fields per item; the gateway exposes only these four and drops borrow_wallet, collateral_wallet, lending_wallet, trading_wallet, and staking_wallet.

curl -X GET "https://api.sandbox.sovera.io/sovx/v1/accounts/balance" \
  -H "x-api-key: YOUR_OWNER_API_KEY"

Errors: 401 invalid key · 403 not an owner client · 500 server error.


Get Account Transactions

GEThttps://api.sandbox.sovera.io/sovx/v1/accounts/transactions

Retrieve your account's transaction history across all users, newest first. Page and bound the result set, and narrow it with the filter[...] parameters below.

Query Parameters

All filters go under filter[...].

ParameterTypeRequiredDescription
filter[limit]numberNoItems per page (default: 20, max: 100).
filter[skip]numberNoOffset.
filter[sort]stringNoSort by date: ASC or DESC (default DESC).
filter[where][type]stringNoType/action. Accepts a comma-separated list.
filter[where][currency]stringNoCurrency code.
filter[where][status]stringNoTransaction status (e.g. pending, done).
filter[where][from]numberNoStart date, Unix timestamp in ms (inclusive).
filter[where][to]numberNoEnd date, Unix timestamp in ms (inclusive).
filter[where][amount][gte]numberNoAmount ≥ value.
filter[where][amount][lte]numberNoAmount ≤ value.

filter[where][from|to], filter[limit], filter[skip], filter[sort], and filter[where][type|currency|status] are forwarded to the custody provider; the gte/lte amount bounds are applied by the gateway over the returned set—so an amount range narrows the current page rather than the upstream query.

GET https://api.sandbox.sovera.io/sovx/v1/accounts/transactions?filter[limit]=20&filter[where][currency]=BTC

Success Response (200 OK):

data is an array. Each item carries id and balance at the root, plus a transaction object with the rest of the detail.

FieldTypeDescription
idnumberNumeric transaction ID in sFox.
balancenumberResulting account balance after the transaction.
transactionobjectOrder and transaction detail.
transaction.order_idstringOrder ID (numeric string; empty when not applicable, e.g. charges or deposits).
transaction.trade_idstringTrade ID (numeric string; empty when not applicable).
transaction.client_idstring (uuid)Associated client (injected by the backend from the account).
transaction.idempotency_idstring (uuid)|nullIdempotency ID.
transaction.symbolstring|nullTrading pair (e.g. btc/usd), or null.
transaction.created_atstring (ISO 8601)Creation date.
transaction.hashstringOn-chain hash (empty when not applicable).
transaction.actionstringMovement type (e.g. Deposit, Sell, Charge).
transaction.currencystringCurrency of the movement.
transaction.memostringNote.
transaction.amountnumberAmount (negative for outflows).
transaction.net_proceedsnumberNet amount.
transaction.pricenumberApplied price.
transaction.feesnumberFees.
transaction.statusstringStatus (e.g. done).
transaction.descriptionstring|nullDescription.
{
  "success": true,
  "data": [
    {
      "id": 99938268,
      "balance": 49071.06877634,
      "transaction": {
        "order_id": "11637477",
        "trade_id": "71847575",
        "client_id": "76f0b5a8-a683-4ee3-8b13-af3c807df325",
        "idempotency_id": null,
        "symbol": "usdt/usd",
        "created_at": "2026-05-19T20:24:01.000Z",
        "hash": "",
        "action": "Sell",
        "currency": "usd",
        "memo": "",
        "amount": 1004.95049505,
        "net_proceeds": 1004.95049505,
        "price": 1.00720535,
        "fees": 10.04950495,
        "status": "done",
        "description": ""
      }
    }
  ],
  "meta": {
    "timestamp": "2026-01-15T10:30:00.000Z",
    "version": "v1",
    "trace_id": "5b8f3a9d-2c7e-4a1b-9f6d-0e3c2b1a4d5f"
  }
}

id and balance sit at the item root; the rest of the order and trade detail nests inside transaction. The gateway normalizes keys to snake_case and unifies the date as created_at, dropping sFox fields it doesn't expose (atxid, client_order_id, algo_name, algo_id, hold_expires, the Unix timestamp, AccountTransferFee, wallet_display_id, and added_by_user_email).

curl -X GET "https://api.sandbox.sovera.io/sovx/v1/accounts/transactions?filter[limit]=20&filter[where][currency]=BTC" \
  -H "x-api-key: YOUR_OWNER_API_KEY"

Errors: 401 invalid key · 403 not an owner client · 500 server error.

On this page