Hummingbot 2.16.0: Connectors, LP Reliability, and Trading Tools
Summary
These release notes describe changes to Hummingbot’s client, Gateway, and related tools. Client updates include a headless command-line interface, new spot exchange connectors, connector fixes, and improvements to liquidity provision executors. The LP changes address full position unwinds, reporting confirmed swap fills, preserving exposure during shutdown, and consistent profit-and-loss reporting. Gateway updates add chain and routing support, improve Uniswap routing and allowance configuration, and strengthen wallet protections for network-accessible deployments.
The document is a product release summary, not a strategy evaluation. It also lists ecosystem and agent workflow features, including interactive reports and model selection, but does not provide trading performance data or comparative tests. Its operational details may help users understand execution, connector, and liquidity-provision behavior; the notes alone cannot establish how these changes affect live results, and the release date and feature availability should be checked against the version in use.
Key ideas
- The release adds a non-interactive command-line interface for controlling Hummingbot.
- Liquidity provision executor fixes improve unwind handling and use confirmed swap fills.
- Gateway adds chain and router integrations and changes Uniswap routing behavior.
- Wallet security controls are described for deployments reachable over a network.
- The notes report software changes rather than strategy performance.
Tags
Full text
# Hummingbot v2.16.0 Release Notes
# Hummingbot v2.16.0 Release Notes
*Released on July 29, 2026*
| Repository | Description | GitHub Release | DockerHub Release |
|------------|-------------|----------------|-------------------|
| [Hummingbot Client](https://github.com/hummingbot/hummingbot) | Core Client | [`v2.16.0 changelog`](https://github.com/hummingbot/hummingbot/releases/tag/v2.16.0) | [`version-2.16.0`](https://hub.docker.com/r/hummingbot/hummingbot/tags?name=version-2.16.0) |
| [Gateway](https://github.com/hummingbot/gateway) | DEX Middleware | [`v2.16.0 changelog`](https://github.com/hummingbot/gateway/releases/tag/v2.16.0) | [`version-2.16.0`](https://hub.docker.com/r/hummingbot/gateway/tags?name=version-2.16.0) |
!!! note
Other Hummingbot repositories such as [Condor](https://github.com/hummingbot/condor) and [Hummingbot-API](https://github.com/hummingbot/hummingbot-api) follow a continuous deployment model without fixed version releases. Use the `main` branch for these repositories.
## How to Install / Update
- **Hummingbot Client**: See the [Hummingbot Client Quickstart](../installation/hummingbot-client.md)
- **Gateway**: See the [Gateway Installation](../gateway/installation.md) guide — upgrade to **v2.16.0** for Robinhood Chain, Unichain, and wallet security updates. This release hardens wallet security, so pull the latest Hummingbot API `main` branch for matching auto-generated mTLS certificates
- **Condor + Hummingbot API**: See the [Condor Quickstart](../installation/condor.md) or full documentation at [condor.hummingbot.org](https://condor.hummingbot.org)
## Agent Builders Cup Hackathon
The **Agent Builders Cup** is a agentic strategy hackathon run by Botcamp, our affiliated education company. Build a Hummingbot V2 Controller or Condor Agent, apply to one of the exchange sponsor teams — **[Orca](../exchanges/gateway/orca.md), [Derive](../exchanges/derive/index.md), [Gate](../exchanges/gate-io/index.md), [XRPL](../exchanges/xrpl.md), [Bitget](../exchanges/bitget/index.md), and [Meteora](../exchanges/gateway/meteora.md)** — and compete for a **\$20,000 total prize pool**. Each sponsor selects two agents, and the agents compete in a **48-hour live trading competition**.
**The build window opens August 1, 2026** and runs through August 31, followed by judging in September, a livestreamed finals on October 1–2, and winners announced October 7 at our Token2049 side event in Singapore. See [botcamp.xyz/hackathons](https://www.botcamp.xyz/hackathons) for the full schedule, rules, workshops, and team sponsors.
[Register](https://www.botcamp.xyz/hackathons/agent-builders-cup-1){ .md-button .md-button--primary }
## 🐦 What's New - Hummingbot Client
### 💻 `hbot` CLI
Added **`hbot`**, a non-interactive command-line interface for running, controlling, and monitoring Hummingbot without the interactive TUI. Every command emits compact Markdown output with stable exit codes, and `run`/`observe` support **`--json`** for machine-readable output—enabling AI agents and humans alike to run Hummingbot from scripts, CI, and agent-driven workflows. It drives the same `HummingbotApplication` and `TradingCore` engine as the classic client through a headless host, with no MQTT broker required.
See the [`hbot` CLI](../client/hbot-cli.md) documentation for install instructions, commands, and examples.
**PR:** [#8337](https://github.com/hummingbot/hummingbot/pull/8337)
### 🔌 New Connectors (Gemini & Lambdaplex)
* **[Gemini](https://www.gemini.com)** – Spot connector for the regulated cryptocurrency exchange. Trade via the Gemini Fast API (WebSocket) and REST v1 API with full `ExchangePyBase` support—limit and market order placement, cancellation, balance tracking, and real-time order and trade updates over WebSocket ([API docs](https://docs.gemini.com/rest-api/)). **PR:** [#8027](https://github.com/hummingbot/hummingbot/pull/8027) | **Thanks to [erickuhn19](https://github.com/erickuhn19)! 🙏**
* **[Lambdaplex](https://www.lambdaplex.io/)** – Spot connector for the Hedera-native onchain exchange with an offchain matching engine and onchain settlement. Trade via REST and WebSocket with full `ExchangePyBase` support—limit and market order placement, cancellation, balance tracking, and real-time order book and trade updates; authenticate with an API key and unencrypted private key ([API docs](https://lambdaplex-labs.gitbook.io/lambdaplex/for-developers/api/orders)). **PR:** [#7889](https://github.com/hummingbot/hummingbot/pull/7889) | **Thanks to [petioptrv](https://github.com/petioptrv)! 🙏**
### 🛠️ Connector Updates
* **Hyperliquid:** Fixed perpetual order price quantization to exchange tick size ([#8356](https://github.com/hummingbot/hummingbot/pull/8356)). **Thanks to [chevoisiatesalvati](https://github.com/chevoisiatesalvati)! 🙏**
* **Binance Perpetual:** Fixed order book diff sequencing and rate-limit handling ([#8291](https://github.com/hummingbot/hummingbot/pull/8291))
* **KuCoin Perpetual:** Fixed trade stream WebSocket topic and timestamp field ([#8313](https://github.com/hummingbot/hummingbot/pull/8313)). **Thanks to [ipezygj](https://github.com/ipezygj)! 🙏**
* **Backpack:** Improved balance, leverage reporting, and rate oracle source ([#8323](https://github.com/hummingbot/hummingbot/pull/8323))
* **Bitget:** Added LIMIT_MAKER (post-only) order support to spot and perpetual connectors ([#8335](https://github.com/hummingbot/hummingbot/pull/8335)). **Thanks to [isreallee82](https://github.com/isreallee82)! 🙏**
* **Removed connectors:** Removed Cube, AscendEx, and Vertex connectors ([#8376](https://github.com/hummingbot/hummingbot/pull/8376))
### 💧 LP Executor Fixes & Improvements
Several fixes improve **LP Executor** reliability for live CLMM liquidity provision on Gateway DEXs—especially full position unwinds, accurate swap fill reporting, and graceful shutdown.
- **`keep_position=False` now fully unwinds** — the close-out swap sells the entire withdrawn base balance instead of the delta against the initial deposit, preventing silent wallet residue after an `EARLY_STOP`.
- **Gateway swaps report realized fills** — swap results read confirmed on-chain `amountIn`/`amountOut` instead of the requested amount, so follow-on LP opens don't fail when slippage reduces the wallet balance.
- **Shutdown preserves position exposure** — executors that can't finish closing before the shutdown deadline are force-stopped into `POSITION_HOLD` records; the orchestrator no longer re-calls `early_stop` on executors already shutting down, and the wait budget extends while executors make progress. `StrategyV2Base.on_stop` also restores market registrations before executor close so in-flight orders can still execute.
- **`net_pnl_pct` consistency** — returns a ratio like other executors instead of whole percentage points.
**PRs:** [#8310](https://github.com/hummingbot/hummingbot/pull/8310) | [#8389](https://github.com/hummingbot/hummingbot/pull/8389) | [#8391](https://github.com/hummingbot/hummingbot/pull/8391) | **Thanks to [mlguys](https://github.com/mlguys) and [erickuhn19](https://github.com/erickuhn19)! 🙏**
### ⚙️ Strategy V2 Executor Fixes
* **[#8362](https://github.com/hummingbot/hummingbot/pull/8362)** – Fixed OrderExecutor close orders to set `position_close=True` on perpetual connectors **Thanks to [lgrawet](https://github.com/lgrawet)! 🙏**
### Other Updates
* **[#8304](https://github.com/hummingbot/hummingbot/pull/8304)** – Improved candles feed initialization and historical candle fetching
* **[#8338](https://github.com/hummingbot/hummingbot/pull/8338)** – Fixed candle requests to always span at least one interval **Thanks to [matthiola0](https://github.com/matthiola0)! 🙏**
* **[#8311](https://github.com/hummingbot/hummingbot/pull/8311)** – Resolved race condition in account readiness for WebSocket assistants
* **[#8328](https://github.com/hummingbot/hummingbot/pull/8328)** – Updated rate oracle to treat USD as USDT-equivalent for balance conversions
* **[#8348](https://github.com/hummingbot/hummingbot/pull/8348)** – Fixed global stop-loss spam after position close in `pmm_mister` **Thanks to [ybapat](https://github.com/ybapat)! 🙏**
* **[#8377](https://github.com/hummingbot/hummingbot/pull/8377)** – Fixed Gateway order sizing for mint-address tokens and skipped BudgetChecker for Gateway swaps
## 🌉 What's New - Gateway
### 🔗 New Chains (Robinhood Chain & Unichain)
Gateway adds support for [Robinhood Chain](https://docs.robinhood.com/chain/connecting) (`robinhoodchain`, chainID `4663`) and [Unichain](https://www.unichain.org/) (chainID `130`), with Uniswap router, AMM, and CLMM wired on Robinhood Chain mainnet using official deployment addresses.
See the [Uniswap](../exchanges/gateway/uniswap.md) connector page for how to connect to these networks, and [Chains](../gateway/chains.md) for general chain setup.
**PR:** [#665](https://github.com/hummingbot/gateway/pull/665)
### 🔀 New Routers (Titan, DFlow, OKX DEX)
Gateway adds **Titan**, **DFlow**, and **OKX DEX** as Solana router connectors alongside Jupiter, and consolidates Solana transaction signing through a single signing chokepoint.
See [Connectors](../gateway/connectors.md) for setup and usage.
**PR:** [#665](https://github.com/hummingbot/gateway/pull/665)
### 🦄 Uniswap Improvements
* **Uniswap v4 routing** — Routing now includes **v4 pools** on chains in the Uniswap SDK's v4-supported list (mainnet, Arbitrum, Optimism, Polygon, Base, BSC, Avalanche, Celo, Unichain, and more); other chains continue to route across v2 + v3 only. No API or approval changes: v4 swaps execute through the existing Universal Router + Permit2 flow — the router simply considers v4 pools and picks whichever route prices best. On Unichain, on-chain quote batching is reduced from 80 quoter calls to 10 per multicall so public RPCs accept quote requests reliably.
* **Permit2 allowances no longer expire by default** — Permit2 grants from `/approve` (used by `uniswap/router`) were previously hardcoded to expire after 48 hours, forcing bots to re-approve every trading pair every 2 days. A new optional `permit2ExpirationSeconds` setting in the Ethereum chain config controls the expiration; when unset, grants never expire, matching plain ERC20 approval semantics on other connectors. Allowances remain amount-scoped and revocable.
**PR:** [#665](https://github.com/hummingbot/gateway/pull/665)
### 🔒 Wallet Security
Hardened Gateway wallet security for network-reachable deployments: at-rest KDF for wallet keys, loopback bind by default, opt-in API authentication, and rate-limiting. Controls engage only for non-loopback traffic, so local and Docker setups are unaffected. Hummingbot API now auto-generates shared mTLS certificates on first start to match.
**PRs:** [gateway #659](https://github.com/hummingbot/gateway/pull/659) | [hummingbot-api #185](https://github.com/hummingbot/hummingbot-api/pull/185)
### Other Updates
* **[#656](https://github.com/hummingbot/gateway/pull/656)** – Added retry for read RPC calls on rate-limit errors for Solana and Ethereum **Thanks to [mlguys](https://github.com/mlguys)! 🙏**
## 🦅 What's New - Condor and Hummingbot API
### 🧠 Agent Memory & Skills
Condor agents now support **persistent user memory** and reusable **skill playbooks**—markdown guides the agent retrieves by relevance and injects into chat context. Memory and skills are scoped per assistant, exposed via MCP tools (`manage_memory`, `manage_skill`), and manageable with the new `/memory` command.
See [Condor](../condor/index.md) for documentation.
**PR:** [#135](https://github.com/hummingbot/condor/pull/135)
### 🤖 OpenRouter Model Picker & Advisor
Building on [OpenRouter support from v2.15.1](2.15.1.md#openrouter-llm-support), Condor's web dashboard now has full model picker parity with Telegram `/agent`—including [OpenRouter](https://openrouter.ai/), Ollama, and LM Studio—so you can browse and select models from the live catalog in the browser. A new **agent model-selection advisor** inspects what's configured (cloud API keys, local LLMs) and recommends a model suited to each agent's role, steering you toward **local models** or **free OpenRouter options** when appropriate to reduce token usage and costs.
**How to use:**
1. Create an API key at [openrouter.ai/keys](https://openrouter.ai/keys) (optional for browsing; required to run OpenRouter models)
2. Add `OPENROUTER_API_KEY=sk-or-...` to your Condor `.env` file, or run Ollama/LM Studio with a tool-capable local model
3. In the web dashboard, start a new chat and pick from the unified agent/model dropdown—OpenRouter models show live pricing, including $0 free options
4. When building agents, the advisor recommends a model based on your setup and the agent's complexity
**PR:** [#161](https://github.com/hummingbot/condor/pull/161)
### 📊 Interactive Reports
Condor reports are now **self-contained interactive trading reports** with shared datasets, filters, computed metrics, linked charts, drilldowns, searchable tables, CSV export, and optional auto-refresh. Generated HTML embeds its data and browser assets, so reports work in the Condor dashboard or as downloaded offline files. A new **Report Component Gallery** demonstrates the full ReportBuilder surface with simulated data.
See [Condor](../condor/index.md) for documentation.
**PR:** [#157](https://github.com/hummingbot/condor/pull/157) | **Thanks to [mlguys](https://github.com/mlguys)! 🙏**
### Other Updates
* **[#140](https://github.com/hummingbot/condor/pull/140)** – Revised README for Hummingbot API naming and Tailscale security recommendations
* **[#143](https://github.com/hummingbot/condor/pull/143)** – Added DELEGATE execution mode for fire-and-forget background agent tasks
* **[#146](https://github.com/hummingbot/condor/pull/146)** – Fixed agent drawdown calculation to measure from exposure instead of peak profit **Thanks to [mlguys](https://github.com/mlguys)! 🙏**
* **[#159](https://github.com/hummingbot/condor/pull/159)** – Fixed Codex ACP package integration to use maintained `@agentclientprotocol/codex-acp` bridge **Thanks to [mlguys](https://github.com/mlguys)! 🙏**
* **[#185](https://github.com/hummingbot/hummingbot-api/pull/185)** – Secured Gateway with auto-generated shared mTLS certs
* **[#190](https://github.com/hummingbot/hummingbot-api/pull/190)** – Replaced RateOracle with in-house ticker pool and GeckoTerminal DEX pricing
* **[#193](https://github.com/hummingbot/hummingbot-api/pull/193)** – Updated Gateway client to use unified `/trading` endpoints and stop masking Gateway errors
* **[#182](https://github.com/hummingbot/hummingbot-api/pull/182)** – Added Makefile reset target for cleaning up Docker and credentials
* **[#184](https://github.com/hummingbot/hummingbot-api/pull/184)** – Enhanced README with Tailscale setup and API access details
* **[#192](https://github.com/hummingbot/hummingbot-api/pull/192)** – Fixed rate finder import after hummingbot token normalizer renameShown in full with attribution under the source's licence. Licence: Apache-2.0
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.