Hummingbot Connector 6.2.0
12 September 2026
This release has upgrade notes. Read them before updating — they describe behaviour changes that need your attention.
Hummingbot Connector v6.2.0
Release Date: September 12, 2026 Tags: ORDER TRACKING, CANCELLATION, PERPETUAL, PAPER TRADING, CONNECTOR
Overview
An order the platform could not identify was tracked for ever. When a placement neither succeeded nor failed cleanly, the connector's own escape hatch raised a message one word away from the phrase Hummingbot tests for — it said "as not found" where the framework looks for "order not found". So every one of them was filed as a transport failure, the framework's not-found counter never moved, and the order was re-polled and re-cancelled on every cycle for the life of the process. The install that reported it called the result "half the log", surviving restarts and server-side order book cleans alike: Hummingbot restores in-flight orders from its own database on start, so each restart re-adopted the phantom.
The perpetual connector was worse off, and one of its two faults took down the entire lost-order polling pass on every cycle.
Paper trading an XEMM preset is now refused, because on Hummingbot 2.16 it does nothing at all while reporting itself healthy. See Upgrade Notes.
Redeploy the connector. KIT_VERSION is now 2026.09.12.1.
Requires Core v6.7.8.
Update Instructions
pnpm updatorThen redeploy the connector into your Hummingbot checkout and restart the bot.
There is no schema change and no setting to configure. The order-ageing work lives entirely in the connector's own Python — a backend update alone delivers none of it, and a bot running the old kit keeps every behaviour below.
Upgrade Notes
A stuck order clears itself after this — but find out first whether it is real
An order in this state exists only in the bot's own records. It may also be resting on the venue, unattributed, holding the customer's funds; the two cases look identical from the bot, which is why it is retired rather than assumed gone.
- Fixed the connector so an order that never received an exchange id is reported as not found and aged out of tracking. Measured against Hummingbot 2.16.0 on the same box with only the kit changed: on the old kit the order was still stuck after twelve polls, on this one it was retired on the first.
- Before you assume a phantom was harmless, check your own open orders. The platform's open-orders view is the authority on whether anything is resting — the bot is not, and never was.
- If one is resting, cancel it from the panel. Restarting the bot will not clear it, and neither will an order book rebuild.
Paper trading an XEMM preset is refused, not generated
There were only two shapes available and both were wrong, in opposite
directions. Simulating both legs produces a taker a V2 controller cannot price
through: on Hummingbot 2.16 the log fills once a minute with a missing-module
error for the paper venue, the executors sit at RUNNING with trading disabled,
and nothing trades — without crashing, so status looks healthy. Simulating
only the maker fires a real hedge, in real size, on your own account, for
every imaginary maker fill.
- Changed — asking for paper trading on an XEMM preset is now refused with the reason, rather than handing over a file that does one of those two things.
- Rehearse with a PMM preset instead; paper trading is supported there.
- If you deliberately want a live maker against a simulated hedge, set the preset's own taker connector to the paper venue. That path is unchanged and the generated file carries the warning. What is refused is the platform choosing it for you.
Fixed
An order with no exchange id could never leave the bot's tracker
- Fixed the message the connector raises for an order whose placement never resolved either way, which for eleven days did not contain the phrase the framework's own not-found test looks for. The predicate and every message that has to satisfy it now live in one place, and the suite asserts they agree rather than trusting the wording.
- Fixed the cancel path's log line, which said the cancel would be retried without saying what would ever end the retrying. A cancel is not what retires a phantom — the status poll is, because it reads the order by id — and the line now says so.
The perpetual connector could not report an unidentified order at all
- Fixed the perpetual connector, which returned the order's current state for an id-less order. That reads to the framework as a poll that succeeded, so the not-found counter never incremented and the order stayed in the tracker for the life of the process while the strategy went on counting its notional against the allocation — quoting around margin that is not there. The spot connector grew a grace window for this and the perpetual never did.
The perpetual connector's lost-order pass died on its first error, every cycle
- Fixed two overridden methods on the perpetual connector whose parameters had been renamed. Hummingbot calls both by keyword, so each call raised a type error instead of answering — and because the framework calls them from inside its own error handler, the failure escaped and took the whole lost-order polling pass with it, on every cycle. The spot connector's pair was already correct, so the perpetual alone was affected.
The perpetual funding rate was unavailable on an install without the Futures addon
- Fixed the perpetual funding-rate endpoint, which reached its calculation through a module that only exists when the Futures addon is installed. The route therefore failed to load on a spot-only install and simply was not there, so a bot asking for the funding schedule got a bare 404 from the router with nothing to explain it. It now loads everywhere and says plainly when perp funding is not available on that server.