Borrowing it
Nothing to install: this file belongs to bulletxyz/bullet-bots. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/bulletxyz/bullet-bots/master/.claude/skills/bullet-mm-setup/SKILL.mdgit clone --depth 1 https://github.com/bulletxyz/bullet-botsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/bulletxyz/bullet-bots/bullet-mm-setup)<a href="https://agentmods.dev/skills/bulletxyz/bullet-bots/bullet-mm-setup"><img src="https://agentmods.dev/badge/skills/bulletxyz/bullet-bots/bullet-mm-setup/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/bulletxyz/bullet-bots/bullet-mm-setup"><img src="https://agentmods.dev/badge/skills/bulletxyz/bullet-bots/bullet-mm-setup.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00088 | $0.04680 |
| Opus 5.5 | $0.00035 | $0.01872 |
| Sonnet 5.5 | $0.00018 | $0.00936 |
| Haiku 4.5 | $0.00009 | $0.00468 |
Grade D, and why
bullet-mm-setup scanned grade D with 3 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Asks for rootmediumPrivilege escalation
A mod that escalates privileges can change anything on the machine, not only the project.
`brew install jq`, otherwise the package manager (`sudo apt-get install -y jq`). Downloads and executes remote codehighSupply chain
curl | sh runs whatever the server returns today, which is not necessarily what it returned when this was reviewed.
otherwise `curl -L https://fly.io/install.sh | sh` (then use `~/.fly/bin/fly`). Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
(`curl -s "https://tradingapi.bullet.xyz/fapi/v1/ticker/price?symbol=BTC-USD"`) and How it starts
The opening of the file, as written. The whole thing — 264 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Set up a Bullet market maker
The user is crypto-native but may never have used a terminal deploy tool. You run the commands; they click links and approve. Plain language, say what you are about to do and why. Aim for 10 minutes; batch questions, since every round trip costs.
Hard rules:
- Never ask the user to paste a private key, seed phrase or Telegram token into chat
unless they chose the own-bot Telegram path (then only the BotFather token, and set
it straight into
fly secrets set; never echo it back). - Never print the Fly deploy token or paste it into chat: pipe it straight into
gh secret set(step 3). - The bot makes its own key on the Fly machine. The user only pastes the bot's PUBLIC address into Bullet.
- Do not place orders yourself. Never use the
latestimage tag. - New bots paper trade first (
BB_MM_DRY_RUN=true). Real orders only after step 7. - Work from the root of the user's bot repo once step 3 creates it.
fly.tomlandconfig/simple-mm-fly.tomlare already tuned; do not change the strategy numbers.
Steps
1. Funding and account
- Say this plainly, in one sentence: this is software that trades real money, you can lose money and the losses are yours, Bullet's terms apply, so start small.
- Get the BTC price
(
curl -s "https://tradingapi.bullet.xyz/fapi/v1/ticker/price?symbol=BTC-USD") and state the minimum before they fund: the bot quotes 2 orders of 0.0003 BTC, so its max position (20% of equity) must be at least 0.0006 BTC, i.e. equity of at least 0.0006 × BTC price × 5 (about $245 at $81.5k; give the current figure). - In the same message, offer the account choice:
- Sub-account (recommended). The bot's key is a delegate on that sub-account only, so Bullet itself stops it touching the main account or other sub-accounts. Opening a sub-account costs about $1.
- Main account. No sub-account needed, but the bot treats the account's whole
BTC-USD state as its own: every 60 s it cancels BTC-USD orders it didn't place,
it counts any BTC-USD position toward its caps and quotes to unwind it, and its
close tool would flatten the whole position. The key can trade everything else
in the account too (it can never withdraw).
No funded Bullet account yet:
https://app.bullet.xyz/trade?r=BB(referralBB). Have them fund the chosen account (for a sub-account: create it, move the capital in) and reply with its index (the number shown next to it in the app, e.g. "Subaccount 1" is 1) and its equity in USD.
- Propose limits and confirm with the user before using them:
BB_MM_MAX_POSITIONin BTC = about 20% of equity / BTC price (round down to 0.0001 BTC steps). Below 0.0006 the account is too small: stop until they add funds. Never raise the cap above 20% of equity to make it fit.BB_MM_DAILY_LOSS_USD= about 5% of equity. Explain: "max position is the most BTC the bot will hold either way; the daily loss is the amount at which it stops and cancels."
What ships with it
3 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 9d ago First seen · 264 lines · 88 tokens per session scan D 4d2bf2968c7e
bullet-mm-setup is a skill published in the GitHub repository bulletxyz/bullet-bots (10 stars, last pushed 9d ago), licensed Apache-2.0. It adds 88 tokens to every session and 4,680 once invoked, about $0.0004 per session on Opus 5.5. A static security scan graded it D with 3 findings (asks for root, downloads and executes remote code, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-29.
bullet-mm-setup compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| bullet-mm-setupbulletxyz/bullet-bots | Skill | 10 | 9d ago | Apache-2.0 | D | 88 | Claude Code |
| agentic-streetLeoYeAI/openclaw-master-skills | Skill | 2.2k | 6d ago | MIT | A | 91 | Claude Code, Codex |
| token-pickaeonfun/aeon | Skill | 788 | yesterday | MIT | A | 25 | Claude Code, Codex |
| bridgealsk1992/CloddsBot | Skill | 3.1k | 1mo ago | MIT | A | 13 | Claude Code, Codex |
| hyperliquidalsk1992/CloddsBot | Skill | 3.1k | 1mo ago | MIT | A | 19 | Claude Code, Codex |
| marginfialsk1992/CloddsBot | Skill | 3.1k | 1mo ago | MIT | A | 11 | Claude Code, Codex |
| airdrop-hunting-guidenirholas/three.ws | Skill | 269 | yesterday | Apache-2.0 | A | 54 | Claude Code, Codex |