Skip to content
AgentsLive

Opponents that play like people.

Ocheso Agents are chess players for your platform, at any rating from 100 to 2600. They take the time a person would, choose the moves people choose, and mind their manners. You call them over an API.

Agent at the board · 5+3
Coffeehouse attacker · 1400 · 5+3

Move 1, Black to play1 / 6

chat good-luck

Consideringshare of 100 tries

  1. c587%
  2. e58%
  3. d51%

SampleA dashed border means sample or replayed data, computed by Ocheso's own code; the line underneath says how it was made. Real, live data sits in a solid frame. Precomputed by Ocheso's agent brain, the same code the API runs: 100 tries per position. Not a live call. 2× speed.

1 · Calibration

Measured, not guessed.

5.5 millionrated games with clocks behind its think times

48.4%how often its first choice is the move a person actually played, on positions it never trained on

100–2600ratings, across 12 archetypes and 41 traits

0.5–0.7 sper move end to end, measured against our servers in Dublin

Think time · 5+0
  • 800
  • 1200
  • 1600
  • 2000

Median seconds per move. Rated Lichess games with clocks, September 2026. Move 1 isn't shown: the clock doesn't run on a player's first move. Below 800 the data is thin.

Show the numbers
5+0: median seconds per move, by move number and rating
Move800120016002000
21.581.120.970.97
31.951.210.920.86
42.541.631.170.98
5–83.562.421.801.54
9–164.773.883.433.30
17–254.564.364.314.46
26–402.883.133.373.61
41+1.241.451.581.73

Every think time starts from what people at that rating spent at that time control and that point in the game, in 5.5 million rated games with clocks from the Lichess open database (September 2026). Move choice is fitted on 2,003 real positions; on the half held back from the fit, the agent's most likely move was the person's own 48.4% of the time.

Known limits

  • From about 1600 up, our agents blunder too rarely: under 1% of moves at 2000 and above, against 5–6% for people. If you match agents to strong players, expect them to play a little cleaner than the person they imitate.
  • Chess only: there are no checkers agents yet.

2 · Archetypes

Twelve characters to start from.

  • Typical

    Plays like most people at its rating.

    Opens with

    • WhiteItalian
    • vs 1.e4e5
    • vs 1.d4Queen's pawn

    Clock

    Even pace: Thinks at its usual pace all game.
  • Coffeehouse attacker

    Goes for the king, sets traps, plays fast and loves a sacrifice.

    Opens with

    • WhiteItalian
    • vs 1.e4Sicilian
    • vs 1.d4Indian

    Clock

    Even pace: Thinks at its usual pace all game.
  • Solid grinder

    Trades into endgames it understands and squeezes. Hard to beat, slow to resign.

    Opens with

    • WhiteLondon
    • vs 1.e4Caro-Kann
    • vs 1.d4Queen's pawn

    Clock

    Even pace: Thinks at its usual pace all game.
  • Nervous improver

    Studies hard, plays carefully, rattled by mistakes and by stronger opponents.

    Opens with

    • WhiteItalian
    • vs 1.e4e5
    • vs 1.d4Queen's pawn

    Clock

    Even pace: Thinks at its usual pace all game.
  • Time-trouble addict

    Thinks for ages early, then plays the last ten moves on the increment.

    Opens with

    • WhiteQueen's Gambit
    • vs 1.e4French
    • vs 1.d4Queen's pawn

    Clock

    Time trouble: 1.45× its usual time for its first 25 moves, then its usual pace.
  • Endgame technician

    Weak in the opening, deadly once the queens come off.

    Opens with

    • WhiteLondon
    • vs 1.e4Caro-Kann
    • vs 1.d4Queen's pawn

    Clock

    Even pace: Thinks at its usual pace all game.
  • Hope-chess beginner

    Reaches for the queen early, makes threats and hopes. Plays on to mate.

    Opens with

    • WhiteScholar's attempt
    • vs 1.e4e5
    • vs 1.d4Queen's pawn

    Clock

    Even pace: Thinks at its usual pace all game.
  • Speed demon

    Moves fast, premoves, wins on the clock as often as on the board.

    Opens with

    • WhiteItalian
    • vs 1.e4Scandinavian
    • vs 1.d4Indian

    Clock

    Fast start: 0.6× its usual time for its first 10 moves, then 1.15×.
  • Stubborn defender

    Never resigns, defends everything, accepts a draw gladly.

    Opens with

    • WhiteLondon
    • vs 1.e4French
    • vs 1.d4Queen's pawn

    Clock

    Even pace: Thinks at its usual pace all game.
  • Sharp tactician

    Sees combinations others miss; less comfortable in quiet endgames.

    Opens with

    • WhiteItalian
    • vs 1.e4Sicilian
    • vs 1.d4Indian

    Clock

    Even pace: Thinks at its usual pace all game.
  • Solid classical

    Knows its openings, castles early, prefers long games.

    Opens with

    • WhiteRuy Lopez
    • WhiteQueen's Gambit
    • vs 1.e4e5
    • vs 1.e4Caro-Kann
    • vs 1.d4Queen's pawn

    Clock

    Even pace: Thinks at its usual pace all game.
  • Friendly regular

    Always greets, always says good game, loves a rematch.

    Opens with

    • WhiteItalian
    • vs 1.e4e5
    • vs 1.d4Queen's pawn

    Clock

    Even pace: Thinks at its usual pace all game.

Live from GET /v1/agents/library, refreshed hourly. Calibration v2-native-sf19-2026-10.Clock: time spent on each of its first 40 moves, against its usual pace (dashed).

Tune 41 traits across strength, style, openings, clock, temperament, manners and when it plays. Then try the result on any position in the playground.

Open the agents console

3 · Chat and decisions

Manners.

Your platform chooses the words; an agent never writes free text into your chat. Draw offers, resignations and rematches are its own decisions, made the way someone of its temperament would.

  • good luckgood-luck
  • have funhave-fun
  • nice movenice-move
  • well playedwell-played
  • good gamegood-game
  • thanksthanks
  • oopsoops

4 · Routine

A week of its own.

Each agent keeps a weekly routine: sessions of different lengths on the days and hours its persona plays, so the same opponent isn't online at every hour of every day.

Friendly regular · Africa/Douala
  1. Mon 2618:30–18:48 · 19:11–19:43
  2. Tue 27offline
  3. Wed 2818:33–19:26 · 19:45–20:50 · 21:50–22:00
  4. Thu 29offline
  5. Fri 30offline
  6. Sat 31offline
  7. Sun 1offline

5 sessions this week, from 10 to 65 minutes. Offline the other 5 days.

SampleA dashed border means sample or replayed data, computed by Ocheso's own code; the line underneath says how it was made. Real, live data sits in a solid frame. One sample week for this personaTimes in Africa/Douala. Drawn by the same schedule code that answers presence.

5 · API

One call per move.

POST /v1/connect/sessions/{id}/move
curl https://api.ocheso.com/v1/connect/sessions/$SESSION/move \  -H "Authorization: Bearer $OCHESO_AGENT_KEY" \  -H "Content-Type: application/json" \  -d '{"moves":["e2e4"],"clock_ms":294000,"wait":true}'

1... c5Played at play_at, 0.6 s after the request · 2× speed

Response200 OK
{  "session": "5b0c…e21",  "ply": 1,  "move": "c7c5",  "san": "c5",  "resign": false,  "offer_draw": false,  "think_ms": 635,  "wait_ms": 551,  "compute_ms": 84,  "chat": [{ "intent": "good-luck", "after_ms": 2419 }],  "eval_pct": 46.4,  "explain": ,  "play_at": 1792935720635}

SampleA dashed border means sample or replayed data, computed by Ocheso's own code; the line underneath says how it was made. Real, live data sits in a solid frame. Real route and field names. Values from a precomputed run.

How it behaves

  • Sync: the reply carries the move and how long to wait, or send wait: true and it arrives when it's due (up to a minute).
  • A retry for the same position gets the same answer.
  • A position the game has already moved past is refused.
  • A paused agent stops mid-game; a revoked key stops at once.
  • Measured end to end: 0.5–0.7 s a move, most of it network.

Errors, verbatim

  • 409It isn't the agent's move: it plays white.
  • 409The agent has already moved past that position.
  • 409That session has ended.
  • 401Send your agent key: Authorization: Bearer och_...

6 · Platform routes

Built for lobbies, not just games.

  • GET/v1/connect/presenceWhich agents are online now, and until whenLive
  • POST/v1/connect/seatA person is waiting for a game: should an agent take the seat, and which?Live
  • POST/v1/connect/agents/{id}/challengeA person challenges an agent: accept, decline or let it sitLive
  • POST/v1/connect/agents/{id}/friend-requestA person asks an agent to be friends: accept, and whenLive
  • POST/v1/connect/sessions/{id}/drawThe opponent offers a draw: does the agent accept?Live
  • POST/v1/connect/sessions/{id}/endThe game is overLive
  • POST/v1/connect/difficultyHow hard a position is for people, by rating, with or without a clockLive

7 · Policy

Policy and price.

Agents play where you put them. They never enter competitions Ocheso runs.

Pricing: not billed while we're early. Moves are counted per agent in your console.

See pricing