Condor can’t create an arbitrage executor. None of its tools creates one, so agents and the Condor chat can’t use it. Create it through the Hummingbot API with
POST /executors/, as shown below.Overview
How it works
- On each update, the executor asks both markets what price it would get for
order_amount: a buy onbuying_marketand a sell onselling_market. If the quote assets differ, it converts the sell price with the rate oracle. - It computes the profitability: the gap between the two prices as a fraction of the buy price, minus the estimated fees on both sides as a fraction of
order_amount. - When the profitability is above
min_profitability, it places a market buy onbuying_marketand a market sell onselling_marketat the same time. - When both orders have filled, it ends with close type
COMPLETED.
FAILED.
Configuration
The two trading pairs must have the same base asset, or an interchangeable one. The base assets are the only part that is checked. Hummingbot treats these as interchangeable: ETH and WETH, BTC and WBTC, BNB and WBNB, POL and WPOL, AVAX and WAVAX, ONE and WONE, USDC and USDC.E, SOL and USOL, ETH and UETH, BTC and UBTC, and any two tokens whose names both contain
USD.
Via the API
Buy 10 SOL on Binance and sell 10 SOL on KuCoin as soon as the gap is worth more than 0.4% after fees:order_amount of the base asset on the selling market, and enough quote on the buying market to buy order_amount. If not, it ends with INSUFFICIENT_BALANCE.
Close types
Stopping early
Stop the executor withPOST /executors/{executor_id}/stop. It stops right away. keep_position only changes the close type: nothing is unwound either way, and nothing is added to the Position Hold.
What it reports
The executor’scustom_info includes buy_connector, sell_connector, buy_pair, sell_pair, the last quoted buy_price and sell_price, trade_pnl_pct (the gap), tx_cost_pct, profit_pct (the gap minus costs) and failures. Its net_pnl_quote is the sell proceeds minus the buy cost minus fees, and is reported only once the executor has completed.
Considerations
Learn more
- Executors overview: lifecycle, close types and the API
- XEMM Executor: earn the spread with a resting limit order instead

