Read from the game's data files as this page is built. For how to play, see the player guide; for what a minted unit is, how it works.
Rules run in a pure, deterministic TypeScript engine. A game is setup + seed + actions[]; replaying the log reproduces the exact state hash. The same engine runs in your browser (hotseat, vs AI), in a Web Worker (the AI), and in Supabase Edge Functions (async PvP), so nobody — client or server — can disagree about a result.
| terrain | move (marines / craft / capital) | defence | notes |
|---|---|---|---|
| Open space | 1 / 1 / 1 | +0 / +0 / +0 | |
| Asteroid field | 2 / 2 / — | +1 / +2 / +0 | |
| Nebula | 2 / 2 / 2 | +1 / +1 / +1 | ranged attacks into it −2 |
| Gravity well | 3 / 3 / 3 | +0 / +0 / +0 | ending a move here costs 1 MP next turn |
| Debris belt | 1 / 1 / 1 | +1 / +1 / +1 | |
| Starbase | 1 / 1 / 1 | +2 / +2 / +2 | starbase · income 100 |
| Shipyard | 1 / 1 / 1 | +2 / +2 / +2 | shipyard · income 100 |
| Relay | 1 / 1 / 1 | +2 / +2 / +2 | relay · income 150 |
| Repair dock | 1 / 1 / 1 | +2 / +2 / +2 | repair dock · heals +2 · income 0 |
| unit | SOFT | LIGHT | ARMOUR | ARTILLERY | STRIKE | CAPITAL | DEF |
|---|---|---|---|---|---|---|---|
| Marine squad | 6 | 4 | 6 | 7 | — | 5 | 6 |
| Assault marines | 7 | 5 | 11 | 8 | — | 7 | 8 |
| Skiff | 11 | 6 | 4 | 8 | 5 | 3 | 7 |
| Interceptor | 7 | 9 | 3 | 6 | 12 | 2 | 8 |
| Gunship | 7 | 11 | 7 | 9 | 6 | 6 | 11 |
| Heavy gunship | 8 | 12 | 11 | 11 | 4 | 9 | 13 |
| Rail platform | 9 | 8 | 10 | 6 | — | 10 | 4 |
| Missile battery | 12 | 10 | 13 | 9 | — | 15 | 5 |
| Point-defence corvette | 5 | 8 | 5 | 6 | 15 | 4 | 9 |
| Bomber | 6 | 4 | 13 | 10 | — | 14 | 8 |
| Cruiser | 9 | 11 | 11 | 11 | 8 | 11 | 12 |
| Dreadnought | 11 | 12 | 14 | 13 | 6 | 15 | 15 |
Zone of control: on · capture threshold 60, each Capture action adding progress by the squad's HP (60 at 10 HP, 30 at 6–9 HP, 20 at 4–5 HP, 15 at 3 HP, 12 at 2 HP, 10 at 1 HP) · capturing units do not counter and defend at −3 · flank +1 per prior attack (cap 3) · counter uses post-damage HP · rounding half_down.
Minted units are Counterparty subassets HEXTREK.UXXXXXX under the parent HEXTREK, quantity 1, indivisible, locked, held in the player's own wallet. The issuance description points to /meta/XXXXXX.json (CIP25). That document is the unit's mint certificate, its type, rank, XP, upgrades, callsign and record as at mint, whose hash is anchored on chain, and its live record, the game's signed word on the unit now. Minting runs on signet for now, and signet mints are test assets. Every alpha commander keeps their commander name, match history and an alpha participant badge on mainnet, and their rating carries across, eased halfway back towards the starting rating. Commanders who earn HEXTREK.ALPHATEST keep their full rating, and also keep their units, with their ranks, XP and perks; their units minted on signet are re-issued on mainnet free at the launch, to the mainnet form of the same wallet, with their alpha origin recorded in the certificate. Every other signet token stays in its signet wallet as a keepsake. Records from bugs or farming are voided. Trading and rebuilds are coming. More in how it works.