OKX 508756245 PoR Transparency Report
Methodology: PoR Stage Framework
Assessment JSON: 508756245-assessment.json
1. Summary
| Field | Value |
|---|---|
| Exchange | okx |
| Snapshot | 508756245 |
| Snapshot time | 2026-10-31T16:00:00Z |
| PoR Stage | Stage 1 — Verifiable Disclosure |
| Gen / Evidence | Gen 2 / E2 |
| Confidence | medium |
| Effective PoR | true |
OKX publishes public summary, wallet_address_list, wallet_ownership_proof, and global zk proof bundle for audit 508756245. ardmere verifies address ownership and global zk binding, so this snapshot reaches Stage 1.
Stage 1 is supported by public wallet_address_list, wallet_ownership_proof, global_proof, and parameter/proof artifacts. Stage 2 is not reached because canonical official anchoring, stable DA, low-friction user inclusion proof, stronger publication frequency, and full business-consistent constraints are not established in this report.
2. Stage Decision
Stage 1, Effective PoR
| Missing / Blocked Evidence | Risk Flag | Max Stage | Reason |
|---|---|---|---|
canonical on-chain/DA anchor |
NO_CANONICAL_ANCHOR |
Stage 1 | No official exchange canonical on-chain/DA anchor established. |
weekly full PoR / daily anchor |
HIGH_FREQUENCY_GAP |
Stage 1 | Monthly cadence does not satisfy Stage 2 frequency expectations. |
3. Frequency and Freshness
| Field | Value |
|---|---|
| Latest snapshot (evaluation set) | 2026-10-31T16:00:00Z |
| Previous snapshot | 2026-10-02T16:00:00Z |
| Observed cadence | ~monthly |
| History available | 7 snapshot(s) in public evaluation set |
| Event-triggered updates | UNVERIFIABLE |
| Daily root / commitment anchor | UNVERIFIABLE |
| Stage impact | Monthly or slower cadence; does not meet Stage 2 frequency expectations. |
This is the newest snapshot in the ardmere public evaluation set for okx.
4. Evidence and Bundles
Public Artifacts
| Artifact | SHA-256 | Source |
|---|---|---|
summarySnapshot |
85d69e4f78559a690ce9f3d85328d051bb36c8dbd4b515b3af3094b69a255ff2 |
https://www.okx.com/proof-of-reserves/detail |
walletZip |
93095583a31e2c3f23a7c2061b8b6a00302a212704e96db2ae061446553367a6 |
https://static.okx.com/cdn/okx/por/chain/por_csv_2026110100_V1.zip |
globalProofBundle |
d34a675842cb8e9588af848b35b92aa35ea59e6c9d81a0e1b5e34be1db46f85c |
https://static.okx.com/cdn/okx/por/merkel/por_508756245_proof_data.zip |
Bundle References
| Bundle | Value |
|---|---|
| Artifact bundle root | 0xb92ad031e6f6d317f236c518d126e6e5c1012eda6b2f79a450713a93edd2c7ef |
| Verification bundle root | 0x78585399db9722fb010b7a2c898594714f074af6b728f20b26979772a65af1dd |
| Artifact bundle SHA-256 | 39402b5606f6b1712f0c01896ef870bdd90e18784fd7e4a115c50a75d2b546b5 |
| Verification bundle SHA-256 | 8a95ba7b4a17f425d9effc2481853827262b80ffc41d87466e18831613518319 |
Local bundle paths: 508756245.artifact-bundle.json, 508756245.verification-bundle.v2.json
5. Verifier Evidence
| Verifier | Version | Verdict | Coverage | Summary |
|---|---|---|---|---|
artifact-integrity |
1.0 |
PASS |
1.0000 |
|
solvency-claim |
1.0 |
PASS |
1.0000 |
|
internal-consistency |
1.0 |
PASS |
1.0000 |
|
address-ownership |
okx-1.1 |
PASS |
1.0000 |
verified 682007/682007 address signatures (61 Aptos resource accounts via authentication_key) |
onchain-balance-hot |
2.1 |
UNVERIFIABLE |
0.0000 |
RPC queries skipped (–skip-rpc) |
onchain-balance-token |
2.0 |
UNVERIFIABLE |
0.0000 |
RPC queries skipped (–skip-rpc) |
onchain-balance-ledger |
1.2 |
UNVERIFIABLE |
0.0000 |
RPC queries skipped (–skip-rpc) |
global-zk-proof |
okx-1 |
PASS |
1.0000 |
zkSTARKValidator verify-global succeeded; summary merkle root bound to zk proof |
btc-anchor |
0 |
UNVERIFIABLE |
0.0000 |
BTC block time anchor verifier not implemented |
third-party-attestation |
0 |
UNVERIFIABLE |
0.0000 |
No public third-party attestation report available |
cross-chain-wrapped |
0 |
UNVERIFIABLE |
0.0000 |
No per-row wrapped-asset metadata in public PoR artifacts (token contract, representation type e.g. WBTC/cbBTC, canonical asset, custody mode) |
6. Verifier Finding Details
This section explains FAIL, WARN, and
UNVERIFIABLE outcomes from the verification bundle.
Row-level UNVERIFIABLE entries often mean the verifier does
not yet support that (coin, network) pair, not that the exchange failed
the check. Full machine-readable output:
508756245.verification-bundle.v2.json in the local artifact
bundle.
Capability and
artifact gaps (UNVERIFIABLE)
| Verifier | Explanation |
|---|---|
onchain-balance-hot |
RPC queries skipped (–skip-rpc) |
onchain-balance-token |
RPC queries skipped (–skip-rpc) |
onchain-balance-ledger |
RPC queries skipped (–skip-rpc) |
btc-anchor |
BTC block time anchor verifier not implemented |
third-party-attestation |
No public third-party attestation report available |
cross-chain-wrapped |
No per-row wrapped-asset metadata in public PoR artifacts (token contract, representation type e.g. WBTC/cbBTC, canonical asset, custody mode) |
Row-level findings
internal-consistency
(PASS)
Finding counts: WARN 12, PASS 21
WARN
| Subject | Field | Claim | Actual | Note |
|---|---|---|---|---|
BTC |
custodyReserveBalances |
7163.8000903202423577 | custody balances are summary-only; public wallet CSV does not break out third-party addresses | |
ETH |
custodyReserveBalances |
54484.2535095403394559 | custody balances are summary-only; public wallet CSV does not break out third-party addresses | |
USDT |
custodyReserveBalances |
201703355.5826522479868982 | custody balances are summary-only; public wallet CSV does not break out third-party addresses | |
USDC |
custodyReserveBalances |
292076031.8595641754235962 | custody balances are summary-only; public wallet CSV does not break out third-party addresses | |
XRP |
custodyReserveBalances |
10070644.3757090585949367 | custody balances are summary-only; public wallet CSV does not break out third-party addresses | |
DOGE |
custodyReserveBalances |
69967446.0473493616013964 | custody balances are summary-only; public wallet CSV does not break out third-party addresses | |
SOL |
custodyReserveBalances |
62687.3303669003429555 | custody balances are summary-only; public wallet CSV does not break out third-party addresses | |
OKB |
custodyReserveBalances |
11151.8065004521414809 | custody balances are summary-only; public wallet CSV does not break out third-party addresses | |
LINK |
custodyReserveBalances |
45401.5181423100999999 | custody balances are summary-only; public wallet CSV does not break out third-party addresses | |
LTC |
custodyReserveBalances |
62364.8277817958234293 | custody balances are summary-only; public wallet CSV does not break out third-party addresses | |
UNI |
custodyReserveBalances |
245834.0634419850014175 | custody balances are summary-only; public wallet CSV does not break out third-party addresses | |
USDG |
custodyReserveBalances |
1863873.30691205 | custody balances are summary-only; public wallet CSV does not break out third-party addresses |
7. Minimal Checklist
| Requirement | Status | Notes |
|---|---|---|
| Has public PoR been published during the last 12 months? (S0-1) | pass |
Snapshot 508756245 is in the public evaluation set. |
| Is snapshot time explicit? (S0-2) | pass |
2026-10-31T16:00:00Z |
| Is there reserve summary or wallet_address_list? (S0-3) | pass |
Summary and wallet_address_list present. |
| Is wallet_address_list public and on-chain verifiable? (S1-1) | pass |
Wallet list present; on-chain replay skipped or incomplete. |
| Is wallet_ownership_proof public and batch-verifiable? (S1-2) | pass |
address-ownership verifier PASS. |
| Is global_proof public and independently reproducible? (S1-3) | pass |
global-zk-proof verifier PASS. |
| Is independent third-party review available with stated scope? (S1-4) | unverifiable |
third-party-attestation verifier UNVERIFIABLE. |
| If trusted setup is required, is transcript public; otherwise is the proof system transparent setup? (S1-5) | pass |
Plonky2 / zk-STARK uses transparent setup; no trusted setup ceremony required. |
| Is root/proof/vk canonically anchored outside exchange servers? (S2-1) | fail |
No official exchange canonical on-chain/DA anchor established. |
| Is publication frequency sufficient for Stage 2 (weekly full PoR / daily anchor)? (S2-2) | fail |
Monthly or slower cadence; does not meet Stage 2 frequency expectations. |
8. Recommendations
| Priority | Recommendation | Related Risk |
|---|---|---|
P1 |
Anchor root/proof/commitment on-chain or publish immutable DA/archive records. | NO_CANONICAL_ANCHOR |
P1 |
Add daily anchoring, weekly full PoR, or event-triggered updates to reduce timing risk. | HIGH_FREQUENCY_GAP |
9. Boundary
This report evaluates public PoR artifacts and reproducibility. It does not evaluate the exchange’s overall financial health, corporate governance, internal controls, off-chain assets, legal compliance, or complete off-balance-sheet liabilities.
Missing data must be marked as UNVERIFIABLE, not treated
as PASS.