What is Proof of Reserves (PoR) user snapshot data?
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
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 |
|
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 |
|
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. |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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. |