March 2020: A Stress Test for Every Bot
On March 12, 2020 -- now known as "Black Thursday" -- Bitcoin dropped over 50% in 24 hours. More than $1 billion in long positions were liquidated across major exchanges. Trading bots that were supposed to protect portfolios were put to the ultimate test.
The result? Architecture determined survival. Where your bot runs, how it connects to the exchange, and what happens when millions of traders hit the same servers simultaneously -- these are the questions that separate a functioning risk management system from an expensive spectator.
Three Architecture Models
Every trading bot falls into one of three categories based on where the software actually runs:
Cloud-Hosted Bots
Examples: 3Commas, CryptoHopper, Bitsgap, Cornix
Your bot runs on the provider's servers. You configure it through a web dashboard, and the provider's infrastructure handles execution. Your API keys are stored on their servers.
Self-Hosted Bots
Examples: unCoded Bot, Gunbot
The bot software runs on a server you control -- your own VPS, a home server, or a cloud VM. You manage the deployment and the infrastructure. API keys never leave your machine.
Exchange-Integrated Bots
Examples: Pionex
The bot is built into the exchange itself. No API keys needed since the bot is part of the exchange's infrastructure. However, you're entirely dependent on the exchange's stability and uptime.
Architecture Comparison
| Factor | Cloud | Self-Hosted | Exchange |
|---|---|---|---|
| Where it runs | Provider's server | Your server | Exchange server |
| API key location | Provider's server | Your server only | Not needed |
| API permissions | Read + Trade | Read + Trade | Full access |
| Uptime depends on | Provider + Exchange | Your server + Exchange | Exchange only |
| If provider shuts down | Bot stops | Bot keeps running | N/A |
What Happens During a Flash Crash
During extreme volatility events, the critical question is: can your bot still reach the exchange?
- Cloud bots share infrastructure with thousands of other users. When BTC drops 20% in an hour, every user's bot tries to execute simultaneously. The provider's API rate limits, queue backlogs, and server overload can delay or prevent your trades from executing.
- Self-hosted bots connect directly from your server to the exchange API. No shared queue, no middleman infrastructure. Your bot stays online as long as your server runs and the exchange API accepts requests.
- Exchange-integrated bots have the shortest path to execution since they're on the exchange itself -- but if the exchange goes down (as several did on Black Thursday), the bot goes down with it.
Cloud Bots: Pros and Cons
Advantages:
- Instant setup -- no server management required
- Mobile apps for monitoring and configuration
- Managed updates and maintenance
- Lower barrier to entry for beginners
Disadvantages:
- Shared infrastructure can become a bottleneck during high-volatility events
- API keys stored on third-party servers -- a security risk if the provider is breached
- Bot stops functioning if the provider experiences downtime
- Limited customization compared to self-hosted solutions
Self-Hosted Bots: Pros and Cons
Advantages:
- Full control over the execution environment
- Bot stays online during cloud provider outages
- API keys never leave your server
- No shared infrastructure bottlenecks during market crashes
Disadvantages:
- Requires basic server management knowledge
- VPS costs of $5--20/month on top of bot licensing
- You are responsible for uptime, updates, and security
Hardware Requirements for Self-Hosting
Running a trading bot is not resource-intensive. Most bots run comfortably on minimal hardware:
- CPU: 2 vCPUs
- RAM: 4 GB
- Storage: 50 GB SSD
- OS: Ubuntu 22.04 or Debian 12
VPS providers like Hetzner, DigitalOcean, or Contabo offer machines meeting these specs for $5--20/month. With Docker and tools like CapRover, deployment takes 10--15 minutes from a blank server to a running bot.
Spot vs Futures: Why Architecture Matters Even More with Leverage
Architecture risk compounds with leverage. If a flash crash hits and your bot cannot execute:
- Spot trading: A 50% price drop means you still hold the asset. Painful, but recoverable. Your BTC is still your BTC.
- Futures trading: A 50% move against a leveraged position can trigger liquidation. If your bot's stop-loss order cannot reach the exchange because the cloud provider is overloaded, the position gets liquidated by the exchange at whatever price the market offers.
For futures trading, the reliability of your bot's connection to the exchange is not a convenience feature -- it's a risk management requirement.
The Bottom Line
There is no universally "best" architecture. Cloud bots are ideal for beginners who want a quick start without managing infrastructure. Self-hosted bots are the better choice for traders who need maximum reliability during volatile markets and want full control over their API keys. Exchange-integrated bots offer simplicity but tie you entirely to one platform.
The question to ask yourself: when BTC drops 40% at 3 AM, do you want your bot's execution to depend on your own server -- or on a shared service handling thousands of panicked traders simultaneously?