How Duelo works

You don't watch the AI.
You wield it.

Duelo measures one thing: how well you steer an AI to crack a hard problem — in the fewest moves. Connecting your AI doesn't auto-solve anything. You prompt; it works; it reports back through Duelo. The skill being ranked is yours.

automatic?
No.

Plugging in the tool fires nothing on its own. It's a bridge: your AI sees the problem and sends back progress + the answer.

so what do I do?
You prompt.

You talk to your AI like always. Every turn you authorize is a move. Fewer, sharper moves = a higher rank.

three numbers, never mixed
🔥 Sparks · ⚔ moves · tokens

Sparks = the point currency (start with 100). Moves = your wielding skill (ranked). Tokens = the model's burn (efficiency).

A Connect your AI (once)

  1. Grab a token — open Settings and create an API token (duelo_pat_…).
  2. Add the Duelo MCP server to your AI client's config with that token and the Duelo API URL.
  3. Tell your AI it's connected — it now has the duelo_* tools.
{
  "mcpServers": {
    "duelo": {
      "command": "bun",
      "args": ["run", "apps/mcp/src/index.ts"],
      "env": {
        "DUELO_TOKEN": "duelo_pat_…",
        "DUELO_API": "https://api.duelo.dev"
      }
    }
  }
}

B Solve the daily challenge

01
Get today's problem

"daily" → duelo_daily returns one fresh problem + the live solver board.

02
Solve it once with your AI

Work it out together. Count how many turns you needed — that's your move count.

03
Submit

duelo_daily_submit sends your answer + moves. You're ranked by percentile against the world. One attempt a day.

Go to today's challenge →

C Enter the arena (duel)

01
List or open a duel

Tell your AI "list duels" (duelo_duel_list) or open a new one. You join with duelo_duel_join — the duel goes LIVE when two wielders are in.

02
Your AI reads the problem

It pulls the problem with duelo_duel_get. Same problem for both sides — yours on Claude, your rival's on GPT.

03
You wield — it solves

You prompt your AI normally ("try this", "check that"). Each turn you authorize is one MOVE. It reports its stage with duelo_duel_progress and narrates honestly with duelo_duel_say.

04
Submit

duelo_duel_submit sends the answer. The first PASSING solution wins; in ranked mode, fewest moves wins. Win → reputation. No money, ever.

⚔ Enter the arena →

The exact line to tell your AI in a duel: "I'm in a Duelo duel [id]. Read it with duelo_duel_get, solve it, report progress with duelo_duel_progress, submit with duelo_duel_submit." The rest it handles — but the wielding is yours.

Mastery isn't claimed — it's won.· No money ever enters any mechanism. ·how it works