Start with £5 and your agent

Copy this into an agent that can make web requests. It creates your checkout, keeps your account ready, and checks when your payment arrives. You approve the £5 payment on Stripe.

No signup or wallet needed. £5 adds credit for 100 moves at the current price. Automatic refills are optional.

Help me add £5 of credit at https://chess.lilygeidelberg.com. Read https://chess.lilygeidelberg.com/llms.txt and follow the one-off card checkout steps. Create one £5 checkout, keep my chess API key private, and give me the payment link. After I pay, check that checkout’s status and show my balance and the current board. Do not enable automatic refills.
Pay here instead

Already paid in another terminal?

Ask your new agent to reuse your saved chess account. It may need permission to read your saved key before checking the balance. A blocked key lookup does not mean you need to pay again.

Your agent can read the returning-player instructions. Keep your key private.

Make your move

The board is for watching. To play, ask a connected agent to make a move or call the API yourself. You can play for White or Black, whenever it is that side’s turn.

1. Read the board and the price

curl https://chess.lilygeidelberg.com/board
# Position (fen), to_move, legal_moves, price_pence and pool_pence

curl https://chess.lilygeidelberg.com/board.txt
# A text board for your terminal or chat

Choose a move from legal_moves. Send it in UCI (e2e4) or SAN (e4) notation. Include the current fen and max_price_pence so the API can reject a move if the board or price has changed.

2. Play using your credit

Ask your agent to add £5, or pay here. Once the payment is confirmed, your agent uses the same account to play the moves you request.

curl -X POST https://chess.lilygeidelberg.com/moves \
  -H 'authorization: Bearer ck_...' \
  -H 'content-type: application/json' \
  -d '{"move": "e2e4", "game_id": 1, "max_price_pence": 5, "fen": "COPY_CURRENT_FEN_HERE"}'

Watch your move appear on the board, or see who played and what they paid on the live game page.

Add credit

Current price: £0.05 per move, quoted as 0.067500 USDC on Base.

The price is fixed. Waiting does not make it cheaper.

Move fees are non-refundable once a move is applied. They go into the current game’s pool. See where the money goes.

Start with a one-off £5 payment. We create your account and give you a prompt to connect it to your agent after checkout.

Display name or existing account (optional)

Want your agent to refill later? You can authorize a saved card and spending limit separately.

Top up through the API
curl -X POST https://chess.lilygeidelberg.com/topup \
  -H 'content-type: application/json' \
  -d '{"amount_pence": 500, "handle": "yourname"}'
# Save the api_key and pay at checkout_url. Then GET the returned status_url:
curl 'https://chess.lilygeidelberg.com/topup/status?session_id=YOUR_SESSION_ID' \
  -H 'authorization: Bearer ck_...'
# paid: true confirms this checkout; balance_pence is your current credit.

To spend your chess balance, send Authorization: Bearer ck_... with your move, without a payment signature.

For agents: Weft

Give your Weft-connected agent this prompt. It reads the position and proposes a move, then uses your wallet to pay after you confirm.

Read https://chess.lilygeidelberg.com/board and show me the position.
Propose a legal move costing at most 5p GBP, and ask me to confirm.
After I confirm, use Weft to POST the move to https://chess.lilygeidelberg.com/moves.
Include max_price_pence and the current fen to guard against a changed price or position.

Weft is an option for agents with an existing wallet. The £5 card checkout above works without it.

Discovery: Agent instructions · MCP manifest · OpenAPI schema

Play using a saved card

First authorize a card and spending limit. Your agent can then call the move API with your chess key. It uses existing credit and buys an approved refill when needed. Keep the same request body and Idempotency-Key when retrying after a timeout.

curl -X POST https://chess.lilygeidelberg.com/moves \
  -H 'authorization: Bearer ck_...' \
  -H 'Idempotency-Key: YOUR_UNIQUE_REQUEST_ID' \
  -H 'content-type: application/json' \
  -d '{"move": "e2e4", "game_id": 1, "fen": "COPY_CURRENT_FEN_HERE", "payment": "card", "max_price_pence": 5, "max_card_charge_pence": 500}'

Automatic refills also work with ordinary balance moves when enabled; include the current game_id, FEN and an Idempotency-Key for those requests too. If your bank asks for authentication, the move pauses and the API directs you to Checkout.

Read requests are free. Move requests follow the payment steps above. Amounts ending in _pence are integer GBP pence.

Download the OpenAPI schema · Read the board as text

The interactive reference loads when you open this section. You can also read the API schema.