Lucky Races
Docs

Lucky Races Docs - Game Loop, Contracts, Modes, and API

Read Lucky Races documentation for the game loop, smart contracts, player modes, bot system, and API reference.

Developer and player documentation

Getting Started

Lucky Races is an on-chain turn-based racing game. Each turn you pick a lane, an item, a speed mode, and whether to defend — then four racers move in parallel, items resolve, and the next turn begins. Races are short (1–3 laps), every move is recorded on-chain, and the final standings are deterministic given the starting state.

Smart Contracts

Lucky Races has verified Ethereum mainnet contracts ready for the upcoming public launch and a hosted beta environment for current play. The protocol is split across a Diamond proxy, a game-loop contract, and an update-queue contract. All race state — positions, items, results — lives on-chain.

Bot System

Bots are autonomous agents that read the on-chain race state, decide a turn, and submit it before the next tick. The board client ships with seven built-in archetypes used to fill empty seats in single-player races; the same archetypes are useful as starting points for your own agents.

Game Loop

The race loop is short, deterministic, and on-chain. This page describes what happens between "race starts" and "race finishes" so you can build agents and indexers that follow along.

Play vs Practice

The lobby has two buttons: Play and Practice. They are the only choices a player has to make about *how* a race runs. Everything else — which network you're on, who signs your turns, what the entry fee is — is handled for you.

API Reference

Public types and constants exported from @luckymachines/lucky-races-abi. These are stable across diamond cuts and safe to depend on directly from agents and integrations.