Skip to content

How verification works

Every live firm publishes an on-chain proof page that anyone can read without logging in. The point is that you should not have to take the platform’s word — or the firm’s — for where the money is.

Verify a firm →

Section Where it comes from
Addresses The firm’s PropInstance contract and the multisig that owns it, each linked to a block explorer so you can read them yourself.
On-chain treasury Read live from the chain: treasury, collateral, and available balances.
Ledger totals The platform’s record: pay-ins, payouts, forfeits.
Reconciliation The two compared, dollar for dollar.
Solvency A classification derived from on-chain treasury versus what the ledger says should be there.

The reconciliation is the part that matters. Ledger totals alone are a claim; an on-chain balance alone lacks context. Setting them side by side is what makes the claim checkable.

Two public endpoints, no auth:

Endpoint Returns
GET /api/prop/transparency Every live firm’s bundle. Cached 30s server-side; capped at 200 firms.
GET /api/prop/transparency/{firmId} One firm. 404 if it doesn’t exist or isn’t live.
Terminal window
curl -s https://api.troncharts.xyz/api/prop/transparency | jq '.firms[] | {name, solvency}'

The proof page is a thin client over these — it fetches the same JSON you can. Build your own dashboard against it if you’d rather.

  • It is not an audit. It is a live read of public chain state next to the platform’s ledger.
  • A firm that isn’t deployed has nothing to verify. Those show a not_deployed reconciliation rather than a reassuring zero.
  • Custody is the multisig’s, not the platform’s. Verification doesn’t change that; it just lets you confirm it. See Trust & custody model.

You get this by deploying — there is nothing to opt into. Once your firm is live and its instance is deployed, it appears in the index automatically with the addresses you supplied at create time. See Launch a prop firm.