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.mdThe 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.
| Computer | Fit |
|---|---|
| A cloud server or VM that stays up | Best. maker installs itself as a service that restarts it if it fails. |
| A persistent computer your agent platform gives you | Good. 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 idle | No. Nothing survives it. |
What it asks you
- Your main address. Your own wallet, the one address money can ever leave the bot to. Withdrawals and sweeps go there and nowhere else.
- 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.
- 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.
- A dry run. It runs the whole loop against live prices, sends nothing, and shows you what it would quote.
- 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.
| Ask | What 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 now | maker pull: every quote comes off the book; the bot stays up, halted. |
| Shut it down | maker stop: pulls, then exits. |
| Take money out | maker 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 atbots/mm/v<version>/, andbots/mm/latest.jsonnames the current version, every file and every binary hash. - Skills:
runner-maker-setup,-policy,-funding,-ops,-reviewand-rfqship 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 asrunner://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;makerkeeps the key, the caps and every signature. Therunner-maker-policyskill has the protocol. - Answering RFQ:
maker run --rfqanswers requests on the relay with signed quotes, beside the paint or instead of it (--no-paint), priced bybuiltin:referenceor your ownexec:program (maker.yamlrfq:).maker rfq dry-runprices live requests and signs no quote;maker rfq statusshows what is live. Therunner-maker-rfqskill has the RFQ message.