All Articles

Portfolio visibility

One total. Several currencies. Buying power that does not move.

A converted portfolio total is a reporting convenience. It never becomes funds at another venue, and CVEST keeps the native unit in view.

An investor reading his phone at a desk with coins and banknotes from several countries.
Several currencies. One honest total.

A Total Is Not A Balance

Someone holds dollars at a broker, ether at an exchange, and a few positions quoted in a third currency. A dashboard adds them and prints one number. The arithmetic is usually correct. The conclusion people draw from it usually is not, because that number gets read as though it were money sitting somewhere, waiting to be spent.

It is not. It is the product of several amounts, each multiplied by a rate that was observed at some particular moment, added together for the convenience of being able to look at one figure instead of six. Nothing was converted. Nothing moved. No venue was asked whether it would honour the rate, and no account became able to fund an order it could not fund before.

CVEST gives independent investors portfolio visibility alongside a rule-based, defined-risk options loop, and the two halves of that sentence collide at exactly this point. Visibility wants one number. Execution wants the specific account, currency and permission. The decision worth explaining is that a conversion is treated as an annotation on a balance, never as a replacement for it.

Where The Number Actually Comes From

The reported account value on the OKX portfolio view is not computed by CVEST. It is read from the venue’s own account valuation endpoint, with USD requested as the quote currency, and displayed as what it is — the venue’s figure, not a reconstruction. The trading, funding and earn amounts shown beside it are already inside that total. They are a breakdown, not additions, and derivative notional is not additional equity.

That figure has a shelf life of three minutes. If the valuation source is older than that, or came back partial, the total is withheld and the view says so plainly: no total is inferred from positions or from imported portfolios. This is deliberate and it is the opposite of what most software does. Reconstructing a total from whatever else happens to be on screen produces a number that looks authoritative and is assembled from parts observed at different times.

The same caution governs a smaller trap. Liquid-staking detail can overlap the token balances reported elsewhere in the account, so only the venue’s own valuation is used as the total. Adding the staking rows to the balance rows would double-count, and the exclusion notes say that outright.

Three Values That Do Not Convert Into Each Other

It helps to hold three questions apart, because they have different answers and none of the answers is wrong. What does this venue hold, in the unit it holds it in? What is the whole portfolio worth for reporting, at one observed rate? And what can this particular account commit to this particular order, right now, under this venue’s rules?

The first is a fact about a ledger. The second is a derived view with a timestamp attached. The third is a permission, and it is the only one of the three that determines whether anything can happen. A portfolio can be large, correctly converted, fully observed, and still unable to open a position that costs a fraction of the printed total.

Three values that are not interchangeableSourceNative unitThe amount the venueholds, in its owncurrency.DisplayConverted totalOne number forreporting, at oneobserved rate.ExecutionBuying powerWhat a specificaccount can committo a specific order.
A converted total is never buying power.

What A Conversion Records, And What It Omits

Every monetary value that crosses a currency boundary in the workspace carries four things together: the amount, the currency it is denominated in, the converted USD figure, and the rate that produced it — including where the rate came from and when it was observed. They travel as one object, which means a converted value cannot be displayed or summed without its provenance coming along.

The rate has to be present, finite and greater than zero. If it is missing or stale, the USD field is null rather than zero, and the consequence is visible: the account is excluded from the workspace total rather than being counted at an assumed value. The total then reports how many accounts it included and how many it left out. A partial subtotal labelled as partial is more useful than a complete-looking number carrying a guess.

The rates themselves come from the venues, not from a separate market-data service. An IBKR account whose base currency is not USD gets its rate from the gateway’s own exchange-rate endpoint, and the equity line records that the net liquidation figure was converted once. A Deribit balance is valued against that venue’s own currency-to-USD index. A USD amount carries a rate of one, labelled as native rather than converted, so the two cases stay distinguishable on screen.

Display follows the same principle. The native amount comes first with its currency code; the converted value and the rate’s source appear underneath, and only when the currency is not already USD. Values are held at full precision and rounded only for display — whole units at or above one, two significant digits below one — while an order confirmation shows the exact approved price, because there the rounding would be the record.

Buying Power Is Checked Against The Account That Will Trade

The ETH options loop is the clearest illustration, because its two halves are denominated differently on purpose. Payoffs, widths, credits and the reserve are modelled in USD. Settlement happens in ETH, which is what the venue actually moves. The workspace shows both, and the entry check sits on the seam: available ETH is multiplied by spot and compared against the USD reserve, and if it falls short the refusal names ETH rather than dollars.

Availability is defined narrowly. The readiness check requires available ETH above zero, an ETH liability of exactly zero, and auto-borrow switched off. A balance that exists because the venue would lend against it is not counted as buying power. The same condition appears in the cross-venue comparison, where an OKX route whose reserve exceeds the available ETH is marked with a reason rather than silently dropped.

The IBKR path reaches the same place differently. Before a ticket is previewed, the USD ledger is read and available cash is taken as the lower of the cash balance and the settled cash, then reduced by capital already committed to pending opening orders. If that does not cover the order, the refusal says the settled USD cash does not cover it without borrowing. Execution there also requires a USD-base account, which removes the conversion question from fee reconciliation rather than answering it.

Cash remains on each venue. Workspace equity cannot collateralize another broker’s trade.

Read The Figure Before You Act On It

The table below is a reading aid for telling these values apart when they sit next to each other on one screen. It is not a score and not a ranking. The rightmost column repays the attention, because it names the inference each figure invites and does not support.

Value on screenWhat produced itWhat it does not establish
Native balanceThe venue’s own balance record for one currency, shown with its account and sourceThat the full amount is available; part of it can be margin or liability
Converted USD valueThe native amount times one venue-supplied rate, observed at one momentThat a conversion occurred, or that the rate still holds
Account equityThe venue’s own valuation or net liquidation figure, converted at most onceThat any part of it can be withdrawn or committed today
Workspace totalThe sum of connected accounts whose USD value was available and freshThat the accounts can fund one another
Buying powerAn account-level check run against the venue at the moment an order is preparedThat the same check will pass a minute later

Read down the first column and the figures look like variations on one quantity. Read down the third and they stop being comparable at all.

What The Total Deliberately Leaves Out

The scope of the portfolio view is one API key’s account. Other subaccounts are not combined into it, standalone wallets are not included, and the interface lists these exclusions where the total is shown rather than in a footnote. Real accounts and broker paper accounts are totalled separately and never merged into a single figure.

TradingView imports sit outside the venue totals entirely. An import is a manual CSV snapshot, not a live connection, and overlapping holdings are never added to venue equity. It carries no current marks, no FX conversion, no portfolio NAV and no inferred cost basis; recorded cash flows are reported per currency with commissions beside them, never summed across currencies or presented as profit. The base currency on the import form does not assign an instrument’s currency either — that comes from the CSV or from an explicit symbol mapping.

Deribit is read-only and exists for comparison. Where cross-collateral is enabled there, the available funds it reports are portfolio equivalents rather than per-currency amounts, so they are not summed by currency and the account carries that statement as a visible issue. The comparison notes are equally direct: no automatic transfer, borrowing or minimum-size increase is permitted, the model excludes collateral FX profit and loss, and different venue settlement indices introduce basis risk between the two sides.

Automated execution is paused. The live-execution flag defaults to off, so the buying-power checks described above are today things you can read and reason about rather than things you will watch reject an order. They are still the conditions an order has to satisfy, but this article stops short of describing a live refusal you can go and trigger.

First Steps

  1. Open one account and read its equity basis line and observation time before reading its number. The basis states what the figure is a measurement of, and it differs by venue.
  2. Find your largest non-USD balance and look underneath the converted value for the rate’s source. If no converted value appears at all, the account is excluded from the total rather than estimated into it.
  3. Before assuming an order can be funded, check the account that would send it: available ETH with no liability and auto-borrow off at OKX, or settled USD cash net of pending opening orders at IBKR.

Use The Total For Context, Not For Commitments

A combined total is worth having. It answers questions about proportion and drift that are tedious to answer any other way, and it is the fastest way to notice that one position has quietly become most of the portfolio. Those are reporting questions, and a reporting number answers them well.

It answers no operational question. Whether an order can be opened, whether a balance can be moved, whether a position can be closed at the marked value — each is settled at one account, in one currency, under one venue’s rules, and each can refuse for a reason the total has no way to express. The practical habit is small: when the figure in front of you is about proportion, use the total; when it is about an action, go to the account. CVEST keeps the native unit, the venue, the account and the observation time attached to every value so that moving between those two questions costs a glance rather than an assumption.

Read the risk information and check the current product scope before evaluating a workflow.

Sign up