MLXDocs
Resources

Fair use

Markdown

A few limits keep one person from farming the network with many wallets or many device keys. They never limit dedicated seats, and an ordinary wallet with a few Macs never meets them.

Every Mac mines

A wallet can link up to 32 Macs, and every one of them mines. The wallet's dedicated seats are carried by its biggest Macs that are online, biggest seat on the biggest Mac; every other Mac mines on a free seat, throttled, at a weight of 0.125. One wallet may hold many seats. The limits below are what stops a free seat from being multiplied for nothing.

One Mac counts once

A device key costs nothing to make, and reinstalling MLX Node makes a new one. So from MLX Node 0.14.4 each heartbeat also says which Mac it runs on: hwid, a SHA-256 of the Mac's hardware UUID made on the Mac (the UUID itself never leaves it), hashed again on the server under its own key (wk:hw:<pk>, 31 days). Then:

  • Paid once an hour. Device keys on the same hardware, in one wallet or in many, keep only their best part of each hour's rewards.
  • Moves follow the Mac. The moves limit counts every wallet any of the Mac's keys was on, so a reinstall doesn't reset it.
  • Referrals. An inviter whose Mac is the same hardware as the miner's doesn't qualify for a bonus.
  • A key keeps its hardware. A device key that later reports a different hardware ID keeps its first; each mismatch is counted (fair:hwbad:<pk>) and shows as the suspicious-account flag mac-hwid. The same Mac using 4 or more device keys in 30 days is the weak flag mac-keys.

A Mac running an MLX Node older than 0.14.4 reports no hardware ID and is counted by its device key, as before. A program pretending to be MLX Node can send any value here; what it can't fake is the work, which every job's checks verify.

Free seats per network

In each hour at most 5 free-seat Macs on one network earn: the ones with the best scores. The others' free-seat work in that hour earns nothing. Dedicated seats are never counted here.

The network is a one-way hash of the IP address a Mac's heartbeat came from (an HMAC with a server key, never the address itself), kept for 3 days in cr:net:<hour>. A Mac whose network isn't known is not limited. Many device keys on one machine share one network, so they share its 5 places.

Moving a Mac between wallets

A Mac (its device key) can be linked to at most 3 different wallets in 30 days. Linking it again to a wallet it was on in that time doesn't count. Past the limit, bind_device answers 409:

json
{ "error": "This Mac was linked to 3 different wallets in the last 30 days. It can move to another wallet from 12 Nov 2026. Write to support@mlx.app if you need it sooner." }

The history is kept for 31 days (fair:mac:<pk>, and per Mac from MLX Node 0.14.4: fair:hwa:<hw>, so reinstalling doesn't reset it). A Mac linked to 3 or more wallets is also a weak suspicious-account flag (mac-hops) on the wallets it was linked to.

Buying MLX

A wallet can buy at most $2,500 of MLX in a UTC day, or $25,000 once it has a linked Mac: a Mac linked by its own Secure Enclave key is the network's proof of a real contributor. It counts spot buys (swap paying USDC or USDT) and deposits received as MLX (receive: "MLX"). Over the limit the request answers 409, saying how much is left today; selling, sending, withdrawing and depositing USDC are not limited.

json
{ "error": "Buying MLX is limited to $2,500 a day per wallet. You can buy $400 more today. Wallets with a linked Mac can buy up to $25,000 a day." }

New wallets

At most 10 new wallets an hour and 25 a day from one IP address. See Rate limits.

Who sets them

The numbers above are the defaults in lib/abuse/fair.ts. MLX Network can change them in its admin (settings:fair) and will update this page when it does. They are rules of the service, not of the ledger: nothing here changes a sealed block.