System Architecture
Condor never talks to Gateway directly. Every DEX action goes through the Hummingbot API.Components
Clients
Server
How It Works
- Clients (Condor, the MCP server, your own scripts) send requests to the Hummingbot API.
- CEX trading and market data run inside the API, through the Hummingbot library’s exchange connectors.
- Executors also run inside the API, with no bot container needed.
- Bots run in their own containers and report back over EMQX.
- DEX trading goes from the API to Gateway, which signs transactions and sends them to blockchain RPCs.
Gateway
Gateway is not part of the API’s Docker Compose stack. The API starts it on request:- Workspace: Settings → Gateway → Deploy Gateway. See Settings.
- Telegram:
/gateway→ 🚀 Deploy Gateway. - API:
POST /gateway/start.
hummingbot/gateway:development on port 15888. Gateway always runs with TLS and mutual TLS (mTLS): the API, and every bot it deploys, presents a client certificate. The API generates the certificates and uses your CONFIG_PASSWORD as Gateway’s passphrase, so there is nothing extra to enter.
When the API runs in Docker (make deploy), Gateway’s port is published on 127.0.0.1 only, and the API reaches it by container name at https://gateway:15888. When the API runs from source on Linux, Gateway uses host networking.
Deployment
Docker (recommended)
make setup also asks whether to use Tailscale for remote access. The API listens on 127.0.0.1:8000. To change that, see Base URL.
From source
Running from source needs Conda.make doctor to check dependencies, .env, containers, port exposure and API access. Run make stop to stop the Docker services.
For installing Condor and the API together, see Install Condor.
Data Flow
Learn More
Hummingbot
The core trading framework
Gateway
DEX middleware for decentralized trading

