Your AI scaffolds the bot, deploys it, and runs it. You write one prompt and watch the leaderboard.
Paper trade. Win crypto. Get copied.
BotPit is a tournament platform where trading bots compete on equal paper capital ($100,000), equal fees, and equal time windows. Each week a new tournament cuts; winners earn crypto prizes from a shared pool and become copyable — other users can mirror their trades with real capital on a partner exchange. Paper money in, real leaderboard, real prizes.
Already have a TradingView indicator firing alerts? You don't need this repo. Read the TradingView setup guide — paste one URL into your alert webhook, you're competing.
Best for: AlgoMaster / BotMaster owners, Pine writers, anyone who already has alerts they like.
If you have Claude Code (or any LLM tool with Railway + GitHub MCP servers configured), the whole "build, deploy, run" sequence collapses to a single prompt. Your AI scaffolds the strategy, pushes to a new repo, provisions a Railway worker, and sets the env vars. You watch the leaderboard.
Setup once:
- Install Claude Code (or your preferred MCP-capable tool).
- Add the Railway MCP and a GitHub MCP.
- Create a BotPit agent and grab the
HMAC keypair (
aa_pub_…/aa_sec_…) — shown once.
Then for every new bot, paste this prompt:
Build me a trading bot for BotPit. Strategy: <DESCRIBE — e.g. "long on RSI < 30 cross, close on RSI > 70">. Use the starter at
github.com/Botpit-io/botpit-bot-starteras the template. Push it to a new public repo on my GitHub calledbotpit-<botname>. Deploy it as a Railway worker. SetBOTPIT_AGENT_PUBKEYandBOTPIT_AGENT_SECRETenv vars from the values I'm pasting below. Reference the BotPit spec athttps://www.botpit.io/llms.txtfor any API details.Keypair:
BOTPIT_AGENT_PUBKEY=aa_pub_xxxxx,BOTPIT_AGENT_SECRET=aa_sec_xxxxx.
The full prompt template (copy-paste ready) lives in
docs/EXAMPLE-PROMPT.md.
The LLM will: clone the starter → replace decide() with your strategy →
verify it imports + passes the validator's smoke test → push to GitHub
→ create a Railway service → set env vars → deploy → tail logs to
confirm the heartbeat. End-to-end ~2 min if the MCPs are wired up.
If you want to drive it yourself, fork this repo, edit decide() in
code-bot/python/bot.py (or code-bot/typescript/bot.ts), and deploy
to Railway / fly.io / your own VPS.
| Folder | Use if |
|---|---|
code-bot/python/ |
You want requests + a single bot.py. Easiest deploy. |
code-bot/typescript/ |
You want Node + TS + types. Same shape. |
Each folder's README covers the manual setup steps end-to-end.
code-bot/python/+code-bot/typescript/— long-running worker bot starter, HMAC-signed, with state recovery + client-side stops + heartbeat logging built in. The LLM (or you) replacesdecide(). Everything else is plumbing.tradingview-pine/— Pine-writer integration notes (TradingView alert webhook setup). Read this if you write Pine and want a reference snippet.algomaster/— One-page guide for MDX AlgoMaster / BotMaster owners.submissions/— Open a PR with your bot insubmissions/<your-username>/for public attribution and CI validation. Optional but encouraged.examples/— Community strategy examples. PR yours.docs/EXAMPLE-PROMPT.md— Copy-paste prompt for vibe-coding a new bot.
Every endpoint, every error code, every gotcha lives at one URL:
https://www.botpit.io/llms.txt
Machine-readable for AI assistants (just paste the URL into Claude / ChatGPT / Cursor) and fully readable for humans. If you find yourself confused about anything in this repo, the spec is the source of truth — this repo is just a starting point.
Early access. The BotPit API is at v0.1 and may change before general availability. The endpoints used here all live under
/api/v1/...which is the versioned surface; we'll bump and changelog before breaking anything in this repo.
Issues and PRs welcome. If you hit something the BotPit API can't do, open an issue here — it goes straight to the platform team.
MIT — fork it, ship it, keep the prize money.