Protocol
Parameters
Every protocol constant in one place, with the name it has in the code and the file it lives in. The values on this page are read from those constants when the docs are built.
Live values, such as the price, the spot spread the operator set, balances and counts, are not here. Read them from the Network API.
Token and curve
| Parameter | Value | Constant | File |
|---|---|---|---|
| Total supply | 10,000,000,000 MLX | TOTAL_SUPPLY | lib/chain/curve.ts |
| Decimals | 6 | DECIMALS | lib/chain/curve.ts |
| One unit | $100 | UNIT_USD | lib/chain/curve.ts |
| MLX per unit at genesis | 10,000 | GENESIS_RATE | lib/chain/curve.ts |
| Network price at genesis | $0.01 | UNIT_USD / GENESIS_RATE | lib/chain/curve.ts |
| Units per doubling | 200,000 ($20 million), then 300,000 ($30 million), then 400,000 ($40 million), then 500,000 ($50 million) for every doubling after | DOUBLINGS | lib/chain/curve.ts |
| Seat weight on the curve | 50% of a seat's units, from 29 Oct 2026 | SEAT_CURVE_WEIGHT | lib/chain/curve.ts |
| Mining referral bonus, levels 1 / 2 / 3 | 20% / 4% / 0.8%; KOL 25% / 5% / 1%; strategic 30% / 6% / 1.2% | REF_BPS | lib/chain/curve.ts |
| Mining referral budget | 300 million MLX from community.mlx | REFERRAL_BUDGET | lib/chain/curve.ts |
| Inviter's own Mac active within | 7 days | REF_ACTIVE_DAYS | lib/chain/curve.ts |
| Spot buy premium, default | 3% | BUY_PREMIUM | lib/chain/curve.ts |
| Spot sell discount, default | 20% | SELL_DISCOUNT | lib/chain/curve.ts |
The live spread is market in /api/stats. See The price curve.
Allocation
| Account | Purpose | Share | MLX |
|---|---|---|---|
rewards.mlx | Seat reserve | 30% | 3,000,000,000 |
compute.mlx | Compute rewards | 35% | 3,500,000,000 |
community.mlx | Community and referrals | 10% | 1,000,000,000 |
treasury.mlx | Treasury | 15% | 1,500,000,000 |
team.mlx | Contributors | 10% | 1,000,000,000 |
From ALLOCATION in lib/chain/curve.ts.
Seats
| Seat | Id | Price | Units | MLX a day (cap) | MLX an hour | Mined MLX locked | Full rate on |
|---|---|---|---|---|---|---|---|
| Nano | N | $50 | 0.5 | 4 | ~0.17 | 20 days | any Mac |
| Lite | T | $100 | 1 | 8 | ~0.33 | 14 days | any Mac |
| Core | S | $250 | 2.5 | 20 | ~0.83 | 10 days | any M chip |
| Pro | M | $1,000 | 10 | 80 | ~3.33 | 7 days | Pro or Max |
| Ultra | L | $4,000 | 40 | 320 | ~13.33 | 3 days | Ultra |
| Core Latest | SX | $375 | 3.75 | 30 | ~1.25 | 10 days | newest base |
| Pro Latest | MX | $1,500 | 15 | 120 | ~5 | 7 days | newest Pro or Max |
| Ultra Latest | LX | $6,000 | 60 | 480 | ~20 | 3 days | newest Ultra |
From TIERS in lib/chain/curve.ts. The cap is COMPUTE_KAPPA × units a day (seatPerDay). See Dedicated seats.
| Parameter | Value | Constant | File |
|---|---|---|---|
| Latest edition, price and weight | 1.5× | LATEST_MULT | lib/chain/curve.ts |
| Chips that carry a Latest edition | M6, M5 Pro, M5 Max, M5 Ultra | LATEST_CHIPS | lib/chain/curve.ts |
| Devices a wallet can link | 32 | MAX_DEVICES | lib/chain/device.ts |
Compute rewards
| Parameter | Value | Constant | File |
|---|---|---|---|
| Cap, κ | 8 MLX per unit a day | COMPUTE_KAPPA | lib/chain/curve.ts |
| Half-life of the compute pool | 4 years | COMPUTE_HALF_LIFE_DAYS | lib/chain/curve.ts |
| Share released each hour, λ_h | 1.9768e-5 | COMPUTE_LAMBDA_HOUR | lib/chain/curve.ts |
| Free-seat weight | 0.125 | COMPUTE_FREE_WEIGHT | lib/chain/curve.ts |
| Free-seat cap | 1 MLX a day, 0.0417 an hour | FREE_PER_DAY | lib/chain/curve.ts |
| Free seats' share of a release, at most | 10% | COMPUTE_FREE_SHARE | lib/chain/curve.ts |
| Delivery target, dedicated seat | one job per 15 s | DEDICATED_MIN_PER_JOB (minutes) | lib/compute/seats.ts |
| Delivery target, free seat | one job per 12 s | FREE_CYCLE_S | lib/compute/seats.ts |
See Compute rewards.
Lock-ins
| Parameter | Value | Constant | File |
|---|---|---|---|
| Mined MLX on a dedicated seat | the wallet's shortest seat lock-in (seat table above) | lockDays in TIERS, computeLockDays | lib/chain/curve.ts |
| Mined MLX on a free seat | 30 days | COMPUTE_FREE_LOCK_DAYS | lib/chain/curve.ts |
See Lock-ins.
Free-seat throttle
| Parameter | Value | Constant | File |
|---|---|---|---|
| Shortest wait between jobs | 1 s | COMPUTE_FREE_JOB_GAP_MIN_S | lib/chain/curve.ts |
| Longest wait between jobs | 9 s | COMPUTE_FREE_JOB_GAP_MAX_S | lib/chain/curve.ts |
| Tokens in a short job | 32 | FREE_JOB_TOKENS | lib/worker/jobs.ts |
| Tokens in a full job | 160 | maxTokens in freshJob | lib/worker/jobs.ts |
See Free seats.
Jobs and checks
| Parameter | Value | Constant | File |
|---|---|---|---|
| Macs an index is handed to, at most | 5 | SHARE_HANDOUTS | lib/worker/core.ts |
| Answers that close an index | 3 | SHARE_ANSWERS | lib/worker/core.ts |
| Least time between hand-outs to one Mac | 200 ms | MIN_HANDOUT_GAP_MS | lib/worker/core.ts |
| Results a minute from one Mac, at most | 300 | RESULTS_PER_MINUTE | lib/worker/core.ts |
| Timing floor | 1 ms per token | FLOOR_MS_PER_TOKEN | lib/worker/core.ts |
| Speed floor against base Macs | 60% | SPEED_FLOOR | lib/compute/verify.ts |
| Measured jobs before the speed check applies | 40 | SPEED_MIN_SAMPLES | lib/compute/verify.ts |
| Base Macs needed for a baseline | 3 | SPEED_MIN_BASE | lib/compute/verify.ts |
See Jobs and checks.
Worker API
| Parameter | Value | Constant | File |
|---|---|---|---|
/api/worker/job and /api/worker/result, per Mac | 240 a minute each | WORK_ROUTE_PER_MINUTE | lib/worker/route.ts |
| A device route that sets no limit of its own | 30 a minute | DEVICE_ROUTE_PER_MINUTE | lib/worker/route.ts |
The other worker routes set their own limits in their route files. See The worker protocol.
Transactions and money
| Parameter | Value | Constant | File |
|---|---|---|---|
| Transactions a minute from one address | 60 | TX_LIMITS.ipPerMinute | lib/chain/limits.ts |
| The same, on one server instance | 40 | TX_LIMITS.perInstanceIpPerMinute | lib/chain/limits.ts |
| Transactions a minute from one wallet | 30 | TX_LIMITS.walletPerMinute | lib/chain/limits.ts |
| Failed transactions an hour before a wallet waits | 20 | TX_LIMITS.failedPerHour | lib/chain/limits.ts |
| New wallets an hour from one address | 10 | TX_LIMITS.accountsPerIpHour | lib/chain/limits.ts |
| New wallets a day from one address | 25 | TX_LIMITS.accountsPerIpDay | lib/chain/limits.ts |
| MLX one wallet may buy in a UTC day | $2,500 | buyDayUsd | lib/abuse/fair.ts |
| The same, with a linked Mac | $25,000 | buyDayUsdLinked | lib/abuse/fair.ts |
| Free-seat Macs that earn per network in an hour | 5 | freePerNetwork | lib/abuse/fair.ts |
| Different wallets one Mac may link to in 30 days | 3 | macWallets30d | lib/abuse/fair.ts |
| Smallest withdrawal | 10 USDC | WITHDRAW_MIN | lib/chain/ledger.ts |
| Withdrawal fee to Solana | 0.5 USDC | WITHDRAW_FEE | lib/chain/ledger.ts |
| Largest payout sent automatically | 2,000 USDC | HL_AUTO_MAX | lib/bridge/hyperliquid.ts |
| Automatic payouts in a UTC day, at most | 10,000 USDC | HL_DAILY_MAX | lib/bridge/hyperliquid.ts |
See Rate limits.