Skip to content

Trust & Proof of Reserves

HardBasis holds customer sats. The honest way to say that is: while your balance is idle it sits in your own Spark leaves and you can exit unilaterally, and the moment you post margin those sats move to HardBasis and your position becomes a claim on this engine.

Self-custodial funds, custodial positions. The Proof of Reserves page is where the second half of that sentence is made checkable.

Open the live testnet Proof of Reserves →

What the page proves

Reserves against liabilities. The engine continuously reconciles what it holds on the settlement rail against what it owes customers, and publishes the result along with the drift between the two. A reconciliation that does not balance is published as not balancing — the page shows the drift rather than hiding it.

A liability root you can be checked against. Customer balances are summed into a Merkle root that is published with each reconciliation. From your own account you can obtain an inclusion proof and verify — locally, without trusting the response — that your balance is one of the numbers inside that published total. This is what stops a venue from publishing reserves that look fine because some liabilities were left out of the sum.

A history, not a snapshot. The page carries the recent reconciliation history, so a single clean reading is not the whole story you get.

What the page deliberately does not show

It does not publish a live, itemised inventory of the vault's positions and hedges. That is not a transparency figure; it is the venue's trading position, and publishing it in real time would let anyone trade against the pool that backs customer positions — at customers' expense. Proof of Reserves answers "are customer liabilities backed", which is the question that protects you. The vault's book is not part of that answer.

Staleness is shown, not smoothed

A reconciliation figure that was true an hour ago and still renders with live confidence is a false statement, not a stale one. So the page marks itself:

  • each reading carries its age, and the page declares itself stale once that age passes the threshold the server itself publishes;
  • when stale, the figures are visibly marked as such rather than being displayed as current;
  • a figure that is genuinely absent renders as an em dash — never as zero, never as the last value that happened to be handy.

That doctrine is not specific to this page. It is how every live figure across HardBasis is required to behave: a live figure must either be live or look dead.

The withdrawal covenant

Withdrawing your free balance works in every mode the engine can be in. Not as a matter of policy or good intentions — the withdrawal paths in the engine are tested to have no dependency on any risk, compliance, or referral control, and the build fails if one is ever introduced.

Claiming a referral reward is not a withdrawal. It moves sats into your free balance; withdrawing them is the separate step that carries the covenant. See Refer & Earn.

Program policy v1 · numbers current as of 2026-08-05

Testnet — test sats have no value. Nothing on this page is an offer, a solicitation, or advice.

Program policy v1 · numbers current as of 2026-08-05
Testnet — test sats have no value. Nothing here is an offer, a solicitation, or advice.