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

Published on Jan 20, 2023Updated on Nov 14, 202414 min read289

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 settings

Select 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.