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