Open data API

Everything in the explorer comes from these public JSON endpoints. No key needed, CORS open. Build dashboards, bots or your own explorer.

Endpoints

  • GET/api/statsChain head, network totals, composition and pool reserves. stats.emitted counts MLX paid to seats up front (only before 20 Oct 2026; seats mine since) and stats.devices the device each seat was bought for; MLX mined by Macs is in mined, itemised at /api/compute; Macs running MLX Node are counted at /api/world/network.
  • GET/api/blocks?limit=20&before=HEIGHTBlocks, newest first. Page with before.
  • GET/api/block/HEIGHTOne block with its full transactions. Immutable once sealed.
  • GET/api/tx/HASHA transaction, its signature, status and effects.
  • GET/api/blocks?sort=new|old&min=TXS&period=24h&cursor=HEIGHTFiltered blocks. Scans a bounded range per call; pass next as cursor to continue.
  • GET/api/txs?limit=25Most recent transactions across the network.
  • GET/api/txs?type=node,swap&token=MLX&status=success&q=NAME&period=7d&sort=new|old|amount&cursor=NEXTFiltered transactions from all of history. Types: transfer, swap, node (dedicated seats), account, deposit, withdraw, device, system.
  • GET/api/accounts?q=NAME&kind=all|holders|nodes|referrers|system&sort=mlx&offset=0Accounts with their public balances, dedicated seats and rewards earned.
  • GET/api/account/NAME?txs=50&nodes=1Balances, nonce, dedicated seats and history for an account.
  • GET/api/key/PUBLIC_WALLETFind the account behind a Public Wallet (its Ed25519 public key, hex).
  • GET/api/nodes?limit=25&before=IDDedicated seats, newest first, with device class, chip and country.
  • GET/api/nodes?tier=S|M|L|SX|MX|LX&device=mac&country=KR&chip=M2&q=OWNER&sort=new|old|reward&offset=0Filtered and sorted dedicated seats, with the number that match. Tiers: S Core, M Pro, L Ultra; SX, MX, LX their Latest editions (tier=S also matches SX).
  • GET/api/node/IDOne dedicated seat.
  • GET/api/curve?kind=all|node|spot&period=30d&sort=new&offset=0Position on the curve, MLX per $100, what each seat size mines, and every step that moved it.
  • GET/api/supplyAllocation buckets and how much each has paid out (allocated, remaining, paid, in base units).
  • GET/api/compute?format=json|csvEvery compute reward (MLX mined by Macs), one transaction per hour with each payee, amount and unlock date, reconciled against compute.mlx's balance.
  • GET/api/search?q=QUERYResolve a name, block height, #seat or hash to a page.
  • POST/api/txSubmit a signed transaction: { tx }. Returns the record once it's sealed.

Verify it yourself

A transaction hash is SHA-256 of the transaction's canonical JSON (keys sorted, no whitespace, without sig). The signature is Ed25519 over those 32 hash bytes, by the key in pk.

A block hash is SHA-256 of the canonical JSON of chain, height, prev, ts, txRoot, count and producer. txRoot is a binary SHA-256 Merkle root over the transaction hashes. Each block is signed by the sequencer key.

curl https://explorer.mlx.app/api/stats
curl https://explorer.mlx.app/api/block/0
Open data API for the MLX Network | MLX Explorer