惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
DataBreaches.Net
IT之家
IT之家
博客园_首页
博客园 - 【当耐特】
V
V2EX
Apple Machine Learning Research
Apple Machine Learning Research
G
Google Developers Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Recent Announcements
Recent Announcements
F
Fortinet All Blogs
GbyAI
GbyAI
腾讯CDC
H
Hackread – Cybersecurity News, Data Breaches, AI and More
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
I
InfoQ
H
Help Net Security
T
Tailwind CSS Blog
B
Blog RSS Feed
Martin Fowler
Martin Fowler
人人都是产品经理
人人都是产品经理
The Cloudflare Blog
博客园 - 叶小钗
雷峰网
雷峰网
量子位

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant
I built an open-source crypto trading bot that runs 4 exc...
GainAlgo · 2026-06-24 · via DEV Community

GainAlgo

GainAlgo is an MIT-licensed crypto trading bot I've been building. The latest update lets it manage four exchanges from a single server and one dashboard:

Exchange Futures (USDT-M) Spot
Binance
Bybit
Upbit
Bithumb

That's 2 futures + 4 spot markets, all in one process.

Honesty first: it's not a money machine

On its own, the bot is roughly break-even. I think of it as tilling the field and standing guard 24/7 — the human still does the final harvest. Defaults are deliberately safe: every engine off, paper mode, single server. Live trading is an explicit, per-exchange opt-in.

If you came for "wake up to money piling up," this isn't that. It's a framework you tune — together.

Why one server?

Running a separate bot per exchange means juggling windows and duplicated infra. GainAlgo keeps them in one place but fully isolated:

  • Capital — one exchange's balance/positions never leak into another's sizing.
  • Records — trade journals, daily P&L, and gate stats are kept per-exchange.
  • Settings — entry/exit configs are tuned independently per exchange.

One screen, zero cross-contamination.

What shipping multi-exchange taught me

Before open-sourcing the latest work, I ran a multi-agent adversarial audit over the code and fixed what it surfaced:

  • a paper-mode path that still queried the live account,
  • missing order idempotency (a retry could double-fill),
  • per-exchange record files that could overwrite each other.

Small bot, but I'd rather knock on the bridge before crossing it.

Try it

git clone https://github.com/gainalgo/nunnaya

Copy .env.example.env, fill only the exchange keys you use (withdrawal permission off), and run. It boots in paper mode by default — observe first.

Contribute

This is a community project — the whole point is finding good configs together. Issues, PRs, and honest teardowns are welcome.
⭐ Repo: https://github.com/gainalgo/nunnaya