What is Proof of Reserves (PoR) user snapshot data?

Published on Jan 20, 2023Updated on Apr 24, 202414 min read194

OKX has implemented Proof of Reserves (PoR) and introduced a net asset snapshot feature. This snapshot captures any debts or negative equity that may arise from borrowing assets. If you notice any discrepancies between your asset overview display and the snapshot result, it could be due to margin trading positions in your trading account or loans (such as flexible loans or fixed term loans) in your Grow account. These factors can affect the overall asset calculation and may result in variations between the two.

Why are the assets in my account inconsistent with the snapshot?

For example, when you have open margin trading positions in your account, the value of these positions can fluctuate based on market conditions. These fluctuations can cause discrepancies between your current asset balance and the snapshot, which is taken at a specific point in time. The assets displayed on the "My Portfolio" page only include the sum of the collateral and Unrealized Profit and Loss (UPL) associated with those positions. The purchased assets and debt of the margin trading position are not included in the "My Portfolio" page but are considered in the snapshot.

If there is a discrepancy between the account asset equity and the snapshot result, does it indicate whether the total value of the account is lower or higher?

If you have a margin position, even if the snapshot result differs from the specified account crypto equity, both calculation methods will have the same total account value in USD.
For example, in the case of margin trading, let's say you borrow 3 ETH and sell them for 3 × 1,100 (ETH/USDT price) = 3,300 USDT. In the PoR snapshot, the ETH balance will decrease by 3, while the USDT balance will increase by 3,300. When you combine the PoR snapshot of both ETH and USDT, it will be equivalent to the Unrealized Profit and Loss (UPL) of the margin position.

Advanced verification method - trading equity value

Which account mode supports margin positions?

Mode

Simple

Single-currency margin Multi-currency margin Portfolio margin

Margin trading (cross)

—— Margin trading position

——



——

Margin trading (isolated_auto transfers)

——



Margin trading position



Margin trading position



Margin trading position

Margin trading (isolated_quick margin)

——



Margin trading position



Margin trading position

——

How do I view my account mode?

Go to Trade > Settings > Account mode, you can also switch Isolated margin transfers between Auto transfer and Quick margin
CT-web-POR-trading settingsSelect settings to view your account mode

Here are examples of why the calculations are different

  • Margin trading position mode: cross


    Account asset equity

    Asset equity snapshot  

    Initial assets




    15 ETH  



    9,000 USDT  

    01.png

    Order placing


    Account mode: single-currency

    Margin trading position mode: cross

    Buy 10 ETH at 1,087.24 and use ETH as margin



    The ETH order is filled with a fee of -0.01 ETH, now the assets bought is (10 – 0.01 = 9.99) ETH



    02.png

    Position




    After position has been opened, cross account balance is not changed and it is still 15 ETH. There is no isolated position margin in this case.  



    When position assets are 9.99 ETH and position liability is 10,872.4 USDT, the ETH mark price is 1,091.43 and PnL is 0.0283ETH.



    03.png

    Formula


    "Equity" refers to the "Asset" tab of the trading page



    Account asset equity = cross account balance + isolated position margin +

    margin trading UPL + futures UPL + perpetual UPL + options value  






    Asset equity snapshot is calculated by the actual assets and liabilities of margin trading.    



    Snapshot asset equity = cross account balance + isolated  position margin(except isolated margin trading) + margin trading position assets - margin trading position liabilities + futures UPL + perpetual UPL + options value

    Differences in calculation

    Asset equity snapshot  – Account asset equity = –isolated position margin(margin trading) + margin trading position assets – margin trading position Liability – margin trading UPL







    Example: Long ETH/USDT (i.e. borrow USDT to buy ETH)



    USDT snapshot is calculated as: snapshot equity = the USDT amount shown in "My Portfolio" - the USDT amount of the margin trading position liability

    ETH snapshot is calculated as: snapshot equity = ETH amount shown in "My Portfolio" + ETH amount of margin trading position assets - ETH amount of margin trading UPL   





    Example: short ETH/USDT (i.e. borrow ETH and sell USDT)



    ETH snapshot is calculated as: snapshot equity = ETH amount shown in "My Portfolio" - ETH amount of margin trading position liabilities


    USDT snapshot is calculated as: Snapshot equity = USDT amount shown in "My Portfolio" + USDT amount of margin trading position assets - USDT amount of margin trading UPL       

    Results


    ETH:

    Account asset equity = 15 ETH +

    0.0283 ETH = 15.0283 ETH

      

    USDT:

    Account asset.equity = 9,000 USDT

    ETH:

    Snapshot asset equity = 15 ETH + 9.99 ETH = 24.99 ETH



    USDT:

    Snapshot asset equity = 9,000 USDT– 10,872.4 USDT = -1,872.4 USDT

    Crypto Difference


    ETH:Asset equity snapshot – Account asset equity = 24.99 ETH – 15.0283 ETH = 9.9617 ETH



    USDT:Asset equity snapshot – Account asset equity = -1,872.4 USDT – 9,000 USDT = -10,872.4 USDT

    USD value Difference


    9.9617 ETH * 1,091.43(ETH mark price) + (-10,872.4 USDT) = 0





    USD value of all crypto equity in account = USD value of all assets amount in snapshot

    How to cross check with crypto equities

    ETH:

    Isolated position margin(margin trading) = 0 ETH



    Margin trading position assets = 9.99 ETH

    Margin trading position liabilities = 0 ETH

    Margin trading unrealized profit and loss = 0.0283 ETH  

    D-value = - 0 ETH + 9.99 ETH - 0 ETH - 0.0283 ETH = 9.9617 ETH



    USDT:

    Isolated position margin(margin trading) = 0 USDT



    Margin trading position assets = 0 USDT

    Margin trading position liabilities = 10,872.4 USDT

    Margin trading unrealized profit and loss = 0 USDT  

    D-value = -0 USDT + 0 USDT – 10,872.4 USDT – 0 USDT = -10,872.4 USDT



    Audit Details Page - Detailed fields of Trading account  



    ETH :


    Balance = cross account balance + isolated position margin(except isolated margin trading) = 15 ETH + 0 = 15 ETH

    Margin trading position assets = 9.99 ETH

    Margin trading position liabilities = 0 ETH

    Floating PnL(Futures/Perpetual UPL + options value) = 0 ETH



    USDT:



    Balance = cross account balance + isolated position margin(except isolated margin trading) = 9000 USDT + 0 = 9000 USDT


    Margin trading position assets = 0 USDT


    Margin trading position liabilities = -10,874.5 USDT. The liability amount will be a negative number in the audit snapshot.


    Floating PnL(Futures/Perpetual UPL + options value) = 0 USDT    

    Note: the overall USD value of the user's account and snapshot assets is equal, but due to the existence of assets and liabilities in margin trading positions, the number of the corresponding crypto will be different
  • Margin trading position mode: isolated-auto transfers


    Account asset equity

    Asset equity snapshot

    Initial assets




    15 ETH


    9,000 USDT  

    04.png

    Order placing




    Open isolated margin trading position




    Account mode: single-currency


    Margin trading position mode: isolated - auto transfers   

      

    Buy 10 ETH at 1,406.93 and use ETH as margin, 10x leverage. Isolated position margin (margin trading) is 1 ETH.

    The ETH order is filled with a fee of -0.01 ETH. Now the asset bought is (10 – 0.01 = 9.99) ETH

    05.png

    Position


    After position has been opened, 1 ETH will be transferred to isolated margin.

    Cross account balance will be 14 ETH and isolated position margin will be 1 ETH.



    Isolated margin trading position



    Position assets = 10.99 ETH (including margin and bought assets)


    Position liability = 14,069.3 USDT


    Margin = 1 ETH


    Mark price = 1,407.75 USDT and PnL = -0.0042 ETH    

    06.png

    Formula

    "Equity" refers to the "Asset" tab of the trading page.



    Account asset equity = cross account balance + isolated position margin + margin trading UPL + futures UPL + perpetual UPL + options value

    Asset equity snapshot is calculated by the actual assets and liabilities of margin trading.



    Snapshot asset equity = cross account balance + isolated position margin (except isolated margin trading) + margin trading position assets - margin trading position liabilities + futures UPL + perpetual UPL + options value



    Isolated margin trading position margin has been counted in the margin trading position assets.

    Differences in calculation

    Asset equity snapshot – Account asset equity = –isolated position margin (margin trading) + margin trading position assets – margin trading position Liability – margin trading UPL

    Results


    ETH:

    Account asset equity = 14 ETH + 1 ETH + (- 0.0042 ETH) = 14.9958 ETH



    USDT:

    Account asset equity = 9,000 USDT

    ETH:

    Snapshot asset equity = 14 ETH + 10.99 ETH = 24.99 ETH



    USDT:

    Snapshot asset equity = 9,000 USDT – 14,069.3 USDT = -5,069.3 USDT

    Crypto Difference

    ETH:Asset equity snapshot – Account asset equity = 24.99 ETH – 14.9958 ETH = 9.9942 ETH



    USDT:Asset equity snapshot – Account asset equity = -5,069.3 USDT – 9,000 USDT = -14,069.3 USDT

    USD value Difference


    9.9942 ETH * 1,407.75(ETH mark price) + ( -14,069.3 USDT ) = 0



    USD value of all crypto equity in account = USD value of all assets amount in snapshot

    How to cross check with crypto equities

    ETH:

    Isolated position margin (margin trading) = 1 ETH

    Margin trading position assets = 10.99 ETH

    Margin trading position liabilities = 0 ETH

    Margin trading unrealized profit and loss = -0.0042

    D-value = - 1 ETH + 10.99 ETH - 0 ETH – (-0.0042 ETH) = 9.9942 ETH



    USDT:

    Isolated position margin (margin trading) = 0 USDT

    Margin trading position assets = 0 USDT

    Margin trading position liabilities = 14,069.3 USDT

    Margin trading unrealized profit and loss = 0 USDT

    D-value = -0 USDT + 0 USDT – 14,069.3 USDT – 0 USDT = -14,069.3 USDT

    Audit Details Page - Detailed fields of Trading account

    ETH :



    Balance = cross account balance + isolated position margin(except isolated margin trading) = 14 ETH + 0 = 14 ETH


    Margin trading position assets = 10.99 ETH


    Margin trading position liabilities = 0 ETH


    Floating PnL(Futures/Perpetual UPL + options value) = 0 ETH  



    USDT:



    Balance = cross account balance + isolated position margin(except isolated margin trading) = 9000 USDT + 0 = 9000 USDT


    Margin trading position assets = 0 USDT


    Margin trading position liabilities = -14,069.3 USDT. The liability amount will be a negative number in the audit snapshot.


    Floating PnL(Futures/Perpetual UPL + options value) = 0 USDT   

    Note: the overall USD value of the user's account and snapshot assets is equal, but due to the existence of assets and liabilities in margin trading positions, the number of the corresponding crypto will be different
  • Margin trading position mode: isolated-quick margin


    Account asset equity

    Asset equity snapshot

    Initial assets




    15 ETH


    9,000 USDT  

    07.png

    Order placing


    Open isolated margin trading position



    Account mode: single-currency


    Margin trading position mode: isolated - quick margin


    It's required to transfer the assets to position to open the isolated margin trading position.  



    In the sample, it transfers 10 ETH to the position.

    Cross account balance will be 15 ETH - 10 ETH = 5 ETH, Isolated marigin trading position asset will be 10 ETH.

    Buy 10 ETH at 1,409.98 and use ETH as margin. The ETH order is filled with a fee of -0.01 ETH. Now the asset bought is (10 – 0.01 = 9.99) ETH

    08.png

    Position


    After position has been opened,



    Isolated margin trading position



    Position assets = 19.99 ETH (including margin and bought assets)


    Position liability = 14,099.8 USDT    

    09.png

    Formula

    "Equity" refers to the "Asset" tab of the trading page.



    Account asset equity = cross account balance + isolated position margin (except isolated margin trading) + isolated margin trading position assets - isolated margin trading position liabilities + cross margin trading UPL + futures UPL + perpetual UPL + options value



    *Isolated position margin of 'quick margin' mode = Isolated position assets - Isolated position liabilities

    *Margin trading UPL will exclude the UPL of 'quick margin' mode


    Asset equity snapshot is calculated by the actual assets and liabilities of margin trading.



    Snapshot asset equity = cross account balance + isolated position margin (except isolated margin trading) + margin trading position assets - margin trading position liabilities + futures UPL + perpetual UPL + options value


    Differences in calculation

    Asset equity snapshot – Account asset equity = cross margin trading position assets - cross margin trading position liabilities - cross margin trading UPL

    Results

    ETH:

    Account asset equity = 5 ETH + 19.99 ETH = 24.99 ETH



    USDT:

    Account asset.equity = 9000 USDT - 14,099.8 USDT = -5,099.8 USDT  

    ETH:

    Snapshot asset equity = 5 ETH + 19.99 ETH = 24.99 ETH



    USDT:

    Snapshot asset equity = 9000 USDT - 14,099.8 USDT = -5,099.8 USDT  

    Crypto Difference

    ETH:Asset equity snapshot – Account asset equity = 24.99 ETH – 24.99 ETH = 0



    USDT:Asset equity snapshot – Account asset equity = -5,099.8 USDT - (-5,099.8 USDT) = 0

    USD value Difference

    USD value difference = 0



    USD value of all crypto equity in account = USD value of all assets amount in snapshot

    How to cross check with crypto equities


    ETH:

    Cross margin trading position assets = 0

    Cross margin trading position liabilities = 0

    Cross margin trading unrealized profit and loss = 0

    D-value = 0 ETH



    USDT:

    Cross margin trading position assets = 0

    Cross margin trading position liabilities = 0

    Cross margin trading unrealized profit and loss = 0

    D-value = 0 USDT

    Audit Details Page - Detailed fields of Trading account








    ETH :



    Balance = cross account balance + isolated position margin(except isolated margin trading) = 5 ETH + 0 = 5 ETH


    Margin trading position assets = 19.99 ETH


    Margin trading position liabilities = 0 ETH


    Floating PnL(Futures/Perpetual UPL + options value) = 0 ETH  



    USDT:



    Balance = cross account balance + isolated position margin(except isolated margin trading) = 9000 USDT + 0 = 9000 USDT


    Margin trading position assets = 0 USDT


    Margin trading position liabilities = -14,099.8 USDT. The liability amount will be a negative number in the audit snapshot.


    Floating PnL(Futures/Perpetual UPL + options value) = 0 USDT   

    Note: the overall USD value of the user's account and snapshot assets is equal, but due to the existence of assets and liabilities in margin trading positions, the number of the corresponding crypto will be different

Advanced verification method - grow account equity value

How does Grow account loans work?

Initial: Funding account 5,000 USDT

Flexible/Fix Loan: user stakes 5,000 USDT to borrow 0.1 BTC

Comparison between user assets after the loan and snapshot data:


Account equity

Snapshot

Initial assets

5,000 USDT


Loan

User puts down 5,000 USDT as collateral to borrow 0.1 BTC  

Borrowed loan?


Funding account: 0.1 BTC

Grow account: 3,422.46 USDT



Note: This is a user's collateral equity. Collateral equity = asset - liability; in this example, the user's equity is 5,000 + (-1,577.23) = 3,422.46 USDT

Funding account: 0.1 BTC

Grow account:



-0.1 BTC  



5,000 USDT  


Total

0.1 BTC

3,422.46 USDT

0 BTC

5,000 USDT

Note: collateral equity can't be used for other purposes and it won't be shown in this Assets > My portfolio page. Users can switch to Grow account > Loan for more details.