Features

Everything in the box

One engine shared by the browser and the chain, two boards, a coach, thirteen lessons, a full review after every game, and an app you can install. Here is the whole thing.

The engine

One set of rules, in one place

Most online chess has two chess engines: one in your browser to draw the board, and one on the server that has the final say. When they disagree, you lose the argument.

ITZA Chess has one. The rules live in a small, deterministic Rust core with no standard library. The contract links that core directly. Your browser runs the very same code compiled to WebAssembly. There is no second implementation to drift, so the board in front of you and the referee on the chain cannot disagree about what is legal.

It is checked the way chess engines are actually checked - by counting every legal position to a given depth from known test positions and comparing against the published totals, including 4,865,609 positions at depth five from the opening.

Under the hood

Rules engine
Rust, no_std, deterministic
In the browser
The same core, as WebAssembly
Move on the wire
One packed 16-bit value
Verification
Full perft suite, start & tactical positions
Chess960
All 960 starts, distinct and playable
Build number
Shown in the app, so a stale copy is obvious

Because a move is sixteen bits, sending one as its own transaction is cheap enough to be the normal way to play - which is what makes the contract able to referee at all.

The board

Two boards, five piece sets, five themes

The flat board is fast and familiar. The 3D board is a table you can walk around. Swap between them in the middle of a game and nothing is lost.

The 2D board

  • Drag a piece, or click the square you are leaving and the square you want.
  • Premove while your opponent is thinking.
  • Confirm-move, so a slip of the thumb is recoverable.
  • A promotion picker that waits for you to choose.
  • Right-click to draw arrows and highlight squares.
  • Coordinates inside or outside the frame, your choice.
  • Colourblind-safe highlight colours.
  • Piece names on hover, spoken properly: "White Knight on b1".
  • An illegal drop buzzes and flashes the square red.

The 3D board

  • Drag a piece to move it, drag the felt to orbit the camera.
  • Scroll to zoom, double-click to snap back to your seat.
  • Flip rotates the camera round to the black side.
  • Pieces are turned from profiles in code - no model files to fetch.
  • Selection, last move, premove and check show as tile tints.
  • Legal moves as floating dots, captures as rings.
  • The 3D library is served from the node, never a CDN, and only loads the first time you ask for it.
Classic Green
default
Walnut
warm
Brown
classic
Slate
cool
High Contrast
low vision
♖♘♛
Classic

The staunton shapes everyone knows.

♜♞♝
Modern

Cleaner silhouettes, heavier weight.

R N Q
Letters

Bold letters in discs. Maximum readability.

♔♗♕
Ornate

Decorative medieval silhouettes.

Against the free tier everyone actually uses

Most people never pay for a chess site

So the fair comparison is not against a subscription. It is against what you get without one, and the tools that actually make you better are the ones kept behind the paywall everywhere else.

Free, per dayThe big sitesITZA Chess
Game reviewOne free, rest paid A free look daily, full review when you subscribe
PuzzlesA handful freeA daily allowance free, more when you subscribe
Playing chessFreeFree, all time controls and all bots
Coaching while you playReacts to the move you played Scores every legal move, before you commit
LessonsSampler, rest paidAll thirteen, free
AdvertisingYes, unless you payNone, ever
Result you can verifyTrust the operator Written by the contract

Free-tier limits at other sites change from time to time; check theirs before taking ours as current. The row that does not change is the last one.

What the chain fixes

A result cannot be fabricated. The contract saw every move of the game and computed the rating itself, so there is no version of events that exists only on somebody's server. No centralised site can offer that, because on a centralised site the operator is always the last word.

What it does not fix

It does not tell you whether a human chose the moves. Someone running an engine in another window is invisible to a contract, and anybody claiming a chain solves cheating is selling something. Fair-play enforcement is a hard problem everywhere: the big sites close six figures of accounts a year over it, titled players included.

What we do have is the timing of every move, recorded on chain by the referee rather than reported by the client - which is the strongest signal there is for telling a person from an engine.

Tactics and pairing

A puzzle rating that is not just a number we keep for you

Two things most chess sites do on their own server, done on the chain instead.

Contract-refereed puzzles

The contract holds the position and the solution. It hands you the position, you play the line, and it checks the line and settles the result. Your tactics rating is therefore earned the same way your game rating is, which is not true anywhere else we know of.

  • Normal mode is rated and moves your Puzzles ladder.
  • Offline mode is pure practice and never touches it.
  • Miss one and the teaching colours explain what the position wanted.

Quick match

Pick a clock and press one button. You go into a seek pool, the contract pairs you with someone near your rating, and the band widens as you wait rather than leaving you staring at an empty lobby.

  • Pairs on time control and rating band.
  • Offers you the nearest Challengers if nobody turns up.
  • The hand-picked lobby is still there when you want to choose.

Online play

A lobby, a clock, and a referee that never blinks

The lobby

Open games list the creator's name and rating, the time control and the tags on the game. Create one, join one, or cancel your own. Walk away mid-game and a resume pointer brings you back to it.

Clocks that forgive a bad line

Clocks are projected from the chain's own record of when the last move landed, so both players see the same time. A fifteen-second grace after the flag means a dropped connection does not cost you the game outright.

Claims, offers and results

Offer a draw, accept one, or resign. Claim a win on time once the flag has fallen and the grace has passed - and only then, and only if you are the one being kept waiting.

Resync you never notice

If your device and the chain ever disagree about the position, the client throws its copy away and replays the game from the chain's record. The chain is always the one telling the truth.

In-game chat

Talk to your opponent over the same encrypted messaging that powers ITZA Chat, with an unread badge and a notify sound. Only the current opponent's conversation appears, and the whole feature can be switched off.

Chess960

All nine hundred and sixty starting positions, generated properly and played properly. Pick one, or let the game choose.

Afterwards

Every game keeps its receipt

When a game ends the review is already waiting. Each move is graded from brilliant down to blunder, both sides get an accuracy score, and the move you should have played is there beside the one you did. Click any move to jump to that position, then keep playing from it on an analysis board.

Finished games are filed in History as cards, each with a picture of the final position, a won, lost or drew badge, the rating change, the opponent, the time control and the date. Open one to step through the whole game with the arrow keys, copy the PGN, or start a rematch.

A saved game is only coordinates and a little metadata, which is small enough to live on the chain under your own account. Sign in on another device and your games are already there. Local history keeps working with no connection at all - the chain layer syncs on top of it when there is one.

In the review

  • Brilliant, great, good, inaccuracy, mistake, blunder.
  • Accuracy percentage for both players.
  • The engine's preferred move on every turn.
  • Click-to-step through the whole game.
  • Turn the finished game into an analysis board.

In your history

  • Board thumbnail of the final position.
  • Result badge and rating change.
  • Full move list and one-tap PGN copy.
  • Rematch, for games against the computer.
  • Mirrored to the chain, up to two hundred games.

Analysis aids

Help when it is fair, off when it is not

The evaluation bar and the best-move arrow are genuinely useful, and genuinely unfair in a rated game. So they are gated.

Aids on

  • Casual games
  • Games against the computer
  • The analysis board
  • After a game has finished

Aids off

  • Live rated games against people
  • Live staked games, when staking arrives

This is enforced by the client and is part of what makes a rated result mean something.

Comfort

Built to be usable, not just pretty

A chess app is a lot of small squares and small pieces. Several of the settings exist purely so that stops being a problem.

  • High Contrast board - pure white against near-black, with black and white coordinates and a bright amber highlight. Rebuilt specifically for low vision.
  • The Letters piece set - bold letters in discs, when silhouettes are hard to tell apart at a glance.
  • Colourblind-safe highlights for selection, last move and check.
  • Piece names on hover, announced correctly to screen readers.
  • Confirm-move, so nothing is committed by accident.
  • A light background throughout, by default.

Twenty-one settings, remembered

Everything you change is kept on the device and applied the next time you open the app.

Board
Theme, piece set, coordinates
Moving
Drag, click, premove, confirm
View
2D or 3D, flip, highlights
Coaching
Teaching mode, eval bar, arrows
Sound
Moves, alerts, notifications
Chat
On or off
App
Background, install, sign out

Install

A website that behaves like an app

Installable on every platform that allows it, and fully playable when the network is not.

Home screen

Runs standalone with no browser bar, on iPhone, iPad, Android and desktop.

Offline

Practice games, lessons, review and history all work with no signal at all.

No app store

Nothing to download, nothing to approve, nothing to update by hand.

Served over HTTPS

Required for installation, and for the signing that happens underneath it.

Installation steps for your browser

See it on a board.

Every feature on this page is live right now. Open the app and try the ones you care about.