MLXDocs
Integrity

Integrity

Markdown

How anyone can check that the MLX ledger's history was never rewritten, that everyone is shown the same history, and that every wallet's USDC is counted in the network's total.

The ledger is run by one sequencer. It can't prove it executed every transaction correctly, but it can make any rewrite or any split view impossible to hide. Five pieces do that, and each can be checked with public data and a few lines of code.

PieceWhat it isPage
Transparency logAn RFC 9162 Merkle tree whose leaf i is block i, the construction Certificate Transparency uses.Proofs
CheckpointThe log's size and root, signed by the sequencer's Ed25519 key in the C2SP signed-note format.Checkpoints
State commitmentHourly, a Merkle sum tree over every account's balances whose root also commits to the total USDC the network owes.State commitments
AnchorsHourly memos on Solana and daily OpenTimestamps receipts on Bitcoin carrying the log root and the state root.Anchors
WitnessesMacs running MLX Node check each new checkpoint against the last one they saw and cosign it.Witnesses

The produce job builds all of it in step with block production: it appends new blocks to the log, signs a checkpoint, commits state at most once an hour, and sends the anchors.

Check it in the browser

explorer.mlx.app/integrity runs these checks for you: it verifies the newest checkpoint's signature, checks a consistency proof from the checkpoint your browser saw last time, checks any wallet's balance against the newest state commitment, and lists anchors and witnesses. The MLX Wallet shows "Verified · block N" beside its network line when the same check passes for the open wallet.

The summary endpoint

GEThttps://mlx.app/api/log

Everything at a glance: the newest checkpoint and who cosigned it, the newest state commitments, the anchors and the anchor account. No parameters.

Response (trimmed)
{
  "chain": "mlx-1",
  "sequencer": "92114fe09a90d1a3aced63f35463e4120969d1b323c41070a9ee3ca3cf6ae9a3",
  "checkpoint": {
    "origin": "mlx.app/ledger/mlx-1",
    "size": 398,
    "root": "cb97aebd459faf519f4d967d5b6a98fafff2df0f6a681f4bf89d34560b253d7e",
    "body": "mlx.app/ledger/mlx-1\n398\ny5euvUWfr1GfTZZ9W2qY+v/y3w9qaB9L+J00VgslPX4=\n",
    "note": "mlx.app/ledger/mlx-1\n398\ny5euvUWfr1GfTZZ9W2qY+v/y3w9qaB9L+J00VgslPX4=\n\n— mlx.app/ledger/mlx-1 dAoLiBOyZ5xVXeU7JgBkvkJ4wV/8/ZvBbicOP4TsnQnNzvq3yWezFEx/fF10adlfmUJfQ4EmTZLa9gDek7gKluD3oAk=\n",
    "sig": "13b2679c555de53b260064be4278c15ffcfd9bc16e270e3f84ec9d09cdcefab7c967b3144c7f7c5d7469d95f99425f4381264d92daf600de93b80a96e0f7a009",
    "ts": 1793113803574,
    "head": "ef5f250abbe3aa7f14767ea19ce5b1b67525fff8a8c039f0e72d5a7d33d04601"
  },
  "witnesses": [
    { "id": "2b372dd759bf0d89", "time": 1793116011 },
    { "id": "9547fd72c3308a3d", "time": 1793116266 }
  ],
  "state": {
    "height": 397,
    "root": "e61dd19f5dffb8ba9b465106faa6a7a2928cfd2bbabd7ef7af13d39d39c5448d",
    "usdc": "11285277511",
    "accounts": 68,
    "size": 398,
    "logRoot": "cb97aebd459faf519f4d967d5b6a98fafff2df0f6a681f4bf89d34560b253d7e",
    "ts": 1793115783839,
    "sig": "78fc7df1a95d357b45aecb195a95c216600cd95f48391f9a604a05e1e89c516c0da09883bd70e5d787d97d11b3eceb11d7a5a9f94fea4b6f0cf39eb869d04704"
  },
  "history": [
    { "height": 397, "root": "e61dd19f…", "usdc": "11285277511", "accounts": 68, "size": 398, "logRoot": "cb97aebd…", "ts": 1793115783839, "sig": "78fc7df1…" }
  ],
  "anchors": [
    {
      "chain": "solana",
      "at": 1793115364283,
      "size": 398,
      "logRoot": "cb97aebd459faf519f4d967d5b6a98fafff2df0f6a681f4bf89d34560b253d7e",
      "height": 394,
      "stateRoot": "0cc077af7c40681c5a24702c0e71bed5c67333af42f1f4f16317a2123fd88f63",
      "usdc": "11285277511",
      "tx": "4oShU8RoQKw9BQr1yY2cFAm2go5tBeagcgxeouzZ1rD9U68GdTnr7fN9LPY5GFw3zwysWrtYXnBEKBssb4eDhUFn"
    }
  ],
  "anchorStatus": { "solana": "ok", "address": "AeWxrwqF51Ln4xzNZeccR1J4WiaNAkG9rj6XcsHTJTgJ", "checked": 1793115364264 }
}

The witnesses list, the history of state commitments and the anchors were trimmed to one or two entries, and the history entry's hashes shortened.

FieldTypeNotes
chainstringThe chain id the log belongs to.
sequencerstringThe sequencer's Ed25519 public key (hex). It signs blocks, checkpoints and state commitments.
checkpointobjectThe newest checkpoint: origin, size, root (hex), body and note (the signed text), sig (hex), ts, and head, the hash of the newest block in it. See Checkpoints.
witnessesarrayMacs that cosigned this checkpoint: an opaque id and the time (Unix seconds) they signed.
stateobjectThe newest state commitment.
historyarrayRecent state commitments, newest first.
anchorsarrayRecent anchors, newest first: Solana (tx) and Bitcoin (digest, calendars).
anchorStatusobjectThe Solana anchor account: address, solana (ok or waiting for SOL), checked (ms).

Pin sequencer the first time you see it, and treat a change as a reason to stop trusting what you are shown. The same key is in every block's producer and in GET /api/stats.

What it proves, and what not yet

It proves:

  • No rewrite. Once you, a witness or an anchor has seen a checkpoint, every later checkpoint must extend it; a consistency proof shows it does.
  • No split view. Two different histories can't both be signed, anchored on Solana and cosigned by witnesses without the contradiction showing.
  • Every wallet is counted. A wallet's balance proof shows its USDC inside the committed total, and that total can be set against the reserves.

Not yet:

  • that every transaction was executed correctly (planned: deterministic replay, with Macs re-running random blocks);
  • that oracle inputs and work scores were honest;
  • that no transaction was censored;
  • that witnesses are independent of the operator.

Endpoints

EndpointReturns
GET /api/logThe summary above.
GET /api/log/checkpointThe newest checkpoint as a signed note (text). Checkpoints
GET /api/log/inclusion?height=H[&size=N]A block's inclusion proof. Proofs
GET /api/log/consistency?from=A&to=BA consistency proof between two log sizes. Proofs
GET /api/log/state/<name>[?height=H]A wallet's leaf and sum path in a state commitment. State commitments
GET /api/log/ots/<digest>?cal=0|1|2A Bitcoin anchor's OpenTimestamps receipt (.ots). Anchors
POST /api/log/cosignA witness Mac's cosignature. Witnesses