Skip to content

Run a market-making bot ​

On the Write page you set quotes by hand and sign each change. A bot keeps quoting for you: it prices every strike, repaints when the price moves, and pulls its quotes when something goes wrong.

Runner's bot is maker, one program that runs on your own computer, and your AI agent sets it up and drives it. There is no Runner account, no API key and no hosted service. The bot's key is made on your computer and stays there.

Start ​

Paste this one line into your AI agent. Any agent that can run commands works: a coding agent on your laptop, a cloud agent with its own computer, an agent on a server.

text
Set up a Runner market maker from https://assets.userunner.fun/bots/mm/SETUP.md

The agent follows that runbook from the top. It connects the Runner MCP server, installs the maker build for its computer and checks it against the published hash, then asks you each question in turn. If the runbook says there is no build for its computer yet, it stops there and says so.

Where it runs ​

The bot has to keep running, and its quotes stay on the book when it stops. Pick the computer first.

ComputerFit
A cloud server or VM that stays upBest. maker installs itself as a service that restarts it if it fails.
A persistent computer your agent platform gives youGood. A scheduled task checks on it.
Your laptop or desktop (Linux, macOS, or Windows through WSL2)Fine to try. It stops when the computer sleeps.
A sandbox that is wiped when idleNo. Nothing survives it.

What it asks you ​

  1. Your main address. Your own wallet, the one address money can ever leave the bot to. Withdrawals and sweeps go there and nowhere else.
  2. What to quote. Which coins, what to sell, the budget and the pace. The recommended start is cash-secured puts on one coin at the conservative pace, which needs USDC only. Market-making options explains how to choose.
  3. Funding. The bot works out exactly how much SOL (rent and network fees), USDC and token its wallet needs for what you chose, and gives you the address to send it to.
  4. A dry run. It runs the whole loop against live prices, sends nothing, and shows you what it would quote.
  5. Going live. It repeats the coins, sides, spread, size and the loss that halts it, and starts only when you say yes.

What it never does without asking ​

The agent asks you first before it goes live, changes what it quotes, sweeps money to your main address, swaps tokens, exports the key or uninstalls. Set up approvals in your agent if it supports them; the runbook says how.

Before you go live ​

  • The wallet is hot. Runner has no trade-only key: the key that quotes is the key that withdraws. Keep only what the bot quotes with in it, and your savings in your own wallet.
  • Quotes outlive the computer. A quote curve has no expiry. If the bot or its computer stops, its quotes stay on the book at their last price until something pulls them. The watchdog, the pull on exit and the wide starting spreads are there because of this.
  • Writing risks apply. Assignment, locked collateral and a loss on a sharp move are all yours. See Risks.

Day to day ​

Ask your agent in plain words. It runs the matching command and reads you the answer.

AskWhat happens
How is it doing?maker status: running or halted, quotes on the book, SOL left for fees.
What traded, what did it make?maker fills, maker pnl: each fill, premium received and paid, fees, realised and unrealised P&L.
Stop quoting nowmaker pull: every quote comes off the book; the bot stays up, halted.
Shut it downmaker stop: pulls, then exits.
Take money outmaker withdraw, then maker sweep to your main address.

Strikes on a market come and go. A strike nobody quotes, rests on or writes against is empty, and anyone may reap it to free its slot; the protocol's keeper does so about thirty minutes after it empties. If a strike your bot had quoted is reaped and listed again, it is a new strike, and the bot repaints it on its next tick by itself. Nothing is lost.

Removing it ​

maker uninstall stops the bot, pulls every quote, closes its trading account so the rent comes back, sends every token and the last SOL to your main address, and deletes the key. It stops before closing anything while a position is still open, and says which one; close it first (Close a short), then run it again.

For AI agents ​

  • Runbook: https://assets.userunner.fun/bots/mm/SETUP.md. Every release is also pinned at bots/mm/v<version>/, and bots/mm/latest.json names the current version, every file and every binary hash.
  • Skills: runner-maker-setup, -policy, -funding, -ops, -review and -rfq ship beside the runbook, in the agentskills.io format.
  • Protocol and live read-only market state: the MCP server at https://mcp.userunner.fun/mcp. These docs are on it as runner://docs/…, with the program spec and the IDL.
  • Your own pricing: maker run --strategy exec:<path> asks your program for target quotes each tick over JSON lines; maker keeps the key, the caps and every signature. The runner-maker-policy skill has the protocol.
  • Answering RFQ: maker run --rfq answers requests on the relay with signed quotes, beside the paint or instead of it (--no-paint), priced by builtin:reference or your own exec: program (maker.yaml rfq:). maker rfq dry-run prices live requests and signs no quote; maker rfq status shows what is live. The runner-maker-rfq skill has the RFQ message.