We’re back with Episode 9 of The Bot Pod! This week, Mike and Fede are eating their own cooking—they’ve started running Condor internally for QA and client market making—and they put it on display: deploying live PMM Mister bots with the new global take-profit / stop-loss, reading five-minute controller snapshots in real time, and using a Condor routine to reverse-engineer Hyperliquid’s HLP vault. Along the way: a hard-won lesson on slippage, a sober take on Worldcoin, an urgent reminder to lock down your server against AI-driven attacks, and the new F1-style Agent Builders Cup hackathon.
Watch the full episode: YouTube
Register for the hackathon: botcamp.xyz
Install Condor: condor.hummingbot.org
Episode Highlights
0:00 Dogfooding Condor
The big news: the team is now using Condor internally—both to run their QA operations and to power a new market making effort for clients. The thesis for the episode is simple: by using their own product, they’ll make it better for everyone.
1:00 Market Discussion: Saylor Sells & “Is Crypto Dead?”
Michael Saylor sold Bitcoin for the first time, and Mike’s TradFi friends are texting him asking if crypto is dead. Both hosts read that as a contrarian buy signal—there are only 21 million Bitcoin, and fiat keeps getting printed.
“When all the people are asking ‘Is crypto dead?’, it’s probably the best signal to buy.” — Fede
3:00 HYPE, LP Mistakes & Buying at All-Time Highs
HYPE was the week’s outlier, ripping from ~58 to ~72. Both hosts had conviction early but fumbled the execution: Mike bought HYPE six months ago around the HIP-3 launch, then parked it in an Orca HYPE-SOL LP pool and watched it convert entirely to SOL. Fede did the same, then later flipped a small position from ~$40 to ~$70K-equivalent for a tidy $3K profit. The recurring lesson: conviction is cheap; clean execution is hard.
“I never like to buy things at the all-time high.” — Fede
10:00 The Worldcoin Identity Bet
A genuine disagreement. Fede is bullish on Worldcoin’s role in proving humanity—logins for dating apps where you can’t tell a human from an AI. Mike is skeptical: identity verification is a small market, Worldcoin has scanned roughly 1% of humans, and the token has historically traded like a Sam Altman–backed meme coin.
“I think the revenue potential for identity verification is pretty low. It’s not a big market.” — Mike
13:00 What’s New in Condor: Five-Minute Controller Snapshots
The week’s headline feature. Condor and Hummingbot API now store a snapshot of each running controller every five minutes—realized and unrealized P&L, volume traded, positions held, executor state, and any custom info the controller wants to surface (like its current signal). It’s the same mechanism behind the portfolio page, now applied to live bots, giving you the full progression of a bot’s performance instead of just a point-in-time picture. There’s also a new routine download feature and fixes across the executors page.
22:00 PMM Mister: Global Take-Profit & Stop-Loss
PMM Mister gains a global stop-loss and global take-profit on top of the per-executor ones. The idea: be more aggressive to generate more volume, then use the global thresholds to control inventory and reset back to zero. In between, the bot does a lot of market making; on a deviation, it stops and starts over—turning a continuous process into one with discrete, manageable outcomes.
23:00 PMM Mister vs. pmm_v1: Where to Start
Mike’s primer for newcomers. PMM Mister is the advanced controller: self-managing executors across many order levels, each with its own SL/TP, and a “position held” bucket that lets the bot hold inventory rather than dumping at a loss. Powerful, but complex—so beginners should start with pmm_v1, which replicates the classic pure market making strategy, then graduate up.
“If you’re totally new, start with a simple
pmm_v1controller. Once you’re comfortable, migrate to PMM Mister—that’s how you run things the way a professional market maker does.” — Mike
26:00 Deploying Two Controllers: 3% vs. 7% Exposure
Live demo: Fede deploys one bot (a single Docker container) running two BTC controllers in parallel—$1,000 each, one exposing 7% of quote around the mid-price, the other 3%. The 7% bot does roughly double the volume of the 3% bot, but also carries more inventory risk. Mike explains how the Hummingbot API spins up the container, runs the strategies, and begins reporting performance into the snapshot view.
34:00 Securing Your Server: Tailscale & the AI Bot Threat
The episode’s most important PSA. The team is seeing freshly deployed Hummingbot API servers get scanned by AI-driven bots within moments of going live. Condor’s install scripts now close all exposed ports and put the machine on a Tailscale private network, so only your own devices can reach it. Cloudflare One/Tunnels is a valid alternative, and a community tip flags Socket Firewall for supply-chain scanning. Guides are landing on the Hummingbot site and Condor docs shortly.
“The moment you create a server, there are AI-based bots trying to infiltrate it. Because of AI, the game has changed.” — Mike
40:00 Reading the Numbers: Volume & Basis-Point Take-Profits
Why does a bot with only ~$15 per side rack up hundreds of dollars in volume but pennies in P&L? Because the take-profit is set to one basis point (0.0001)—the bot fills, immediately books a sliver of profit, and goes again, hedging each fill the instant it lands. Widen the take-profit to three basis points and the P&L profile changes entirely. It’s a clean illustration of how PMM Mister generates turnover while keeping risk tightly bounded.
48:00 Editing a Running Bot’s Config on the Fly
Condor maintains two layers of config: the general config you author, and a live copy baked into the deployed bot. Fede edits the live bot’s min-base-percentage from 0.2 to 0.1 and saves—updating the running bot without a restart, and without touching the original. Controllers mark which fields are is_updatable, so unsafe changes (like the trading pair or connector) are silently ignored.
50:00 “How Do I Make Money?” — The Honest Answer
The question they get every single week, answered honestly. Markets are efficient; there’s no black box. Expect to break even or lose a little at first while you learn. Real edge comes from a specific inefficiency—providing liquidity on a thin venue and hedging on a deep one, getting paid by a client to market make their token, or earning liquidity rewards. Hummingbot and Condor don’t print money; they make running that operation at scale dramatically easier.
54:00 Routines: Dissecting Hyperliquid’s HLP Vault
The standout demo. Using a Condor routine, Fede pulls Hyperliquid’s public API to x-ray the HLP vault: ~$349M TVL, ~1.35% APR, split into a losing “strategy A” and a profit-making liquidator “strategy B” that net out to roughly break-even. Because Hyperliquid lacks Binance-style hedge mode, the vault runs two inversely correlated strategies to hedge. Mike—a former HLP investor who exited because it was a black box—notes the vault is a big reason Hyperliquid launched with deep liquidity. Fede also debunks a viral claim (via hl.eco) that Hyperliquid has 3× Binance’s liquidity: he asked Condor, and it wasn’t true.
1:02:00 Why Routines Are Condor’s Best Feature
Mike’s verdict: routines are the most useful thing they’ve shipped in Condor. Each one is Python that can call any API and emit a portable HTML report—graphs, indicators, markdown—that you can email or send over Telegram. Reports can already be scheduled hourly or weekly; auto-delivery and a community routine hub are coming.
“Routines are the most useful feature we’ve added to Condor so far.” — Mike
1:04:00 XRPL, Rewards & the Exchange Land Grab
On a viewer question about XRPL’s low fees: it’s a key Hummingbot partner, and the XRP Liquid program is currently giving away 1,000 XRP per week to liquidity providers on pairs like XRP-RLUSD. Zooming out, Mike frames the broader land grab—Hyperliquid adding prediction markets, Polymarket and Kalshi adding perps—where every venue is converging on every market type, and Hummingbot’s job is to serve the traders, not the exchanges.
1:11:00 Condor Builders Cup: An F1-Style Trading Competition
Coming up: an F1-style trading competition. Each team picks two strategies; Botcamp’s slots go to the top demo-day strategies from Cohort 13—Raj’s tight, academically-grounded market maker and Wei Hong’s cross-exchange perp strategy. ~40 people have already registered. Builders get about a month to refine a strategy and apply to a sponsor team (each with its own criteria), then each winning agent gets $1,000 in capital to race over a 48-hour live competition. Register and stake your idea at botcamp.xyz.
“Each winning agent starts with $1,000 in capital and races during a 48-hour competition to see who wins.” — Mike
Next Week
The team keeps dogfooding Condor for their internal QA and client market making, with more fixes landing weekly. Watch for the Tailscale security guide on the Hummingbot site and Condor docs, and get registered for the Condor Builders Cup at botcamp.xyz before the build period opens. Join us live—possibly on a Wednesday next time—on YouTube.
Full Transcript
00:00:00 Intro: Dogfooding Condor
Mike: Hey everyone, I want to welcome everyone to the ninth episode of the Bot Pod podcast. I’m one of the co-maintainers, along with Fede, of the Hummingbot open source framework. Hey, Fede—where are you right now?
Fede: I’m in Italy, in Sardinia.
Mike: Nice. Fede’s still a millennial—he doesn’t have a mortgage and a kid like me—so he’s able to work from anywhere. He’s in Sardinia working there for the whole month.
We’re quite excited to do another episode. We’re recording on a Wednesday today, and it looks like we already have lots of folks live. Feel free to drop any questions about Hummingbot or Condor—we’re going to demo some new features that Fede has added to Condor in the last week.
We’re pretty excited because we’re actually starting to use Condor internally ourselves, to manage our internal QA operations as well as a new market making effort we’re starting for our clients. By dogfooding our own product, hopefully we can make it better for you guys as well.
But, like we always do, let’s start with a discussion about where the markets are. Unfortunately, it’s been a rough week.
00:01:00 Market Discussion: Saylor Sells & “Is Crypto Dead?”
Mike: I think because Michael Saylor sold Bitcoin for the first time, it’s caused some commotion in the markets. My friends in TradFi are asking me, “Is crypto dead?” But honestly, from my side, I actually look at it as a good time to possibly buy some Bitcoin. At the end of the day, there’s only 21 million Bitcoin, and we see new fiat currencies issued all the time.
If you believe in the value of a scarce financial asset—and I think Bitcoin’s already crossed a chasm into something that will be linear over time—times like this are a good time to acquire. Not financial advice, obviously, but in my opinion, if you believe in crypto, now is a good time to buy it.
Fede: Actually, for me it’s like, when all the people are asking, “Is crypto dead?”—based on your friends’ question, that type of person asking that—it’s probably the best signal to buy.
Mike: True. The one outlier in the downturn, though, has been HYPE. Last time we tracked it, it was 58. Now the price is 72, which is really impressive given how the rest of the market has performed.
00:03:00 HYPE, LP Mistakes & Buying at All-Time Highs
Mike: I did start acquiring some HYPE myself. And actually I’m kind of kicking myself, because I first started buying HYPE about six months ago, when they first introduced HIP-3. What’s happening now is kind of what I thought would happen—that perps would start to penetrate the rest of TradFi, and people would start taking HYPE seriously as one of the main perp DEXes.
Unfortunately, what I did was I took that HYPE and stuck it into an Orca LP pool for HYPE-SOL. So it got converted entirely to SOL. I rebought my HYPE at a higher price, and this time I’m just holding it. To me, it’s probably going to be a long-term hold—a small position now. But I do think there’s a chance Hyperliquid represents the decentralized perps token, and as perps get more widespread, the token will do okay.
Fede: I agree with that. Right now it’s very priced—the week before was okay, but I never like to buy things at the all-time high. Even though there’s still upside, if the current price is the all-time high, all the buyers of that asset are buyers who bought at a much lower price. But I have the same thing as you—I bought when it was very low.
[Fede’s Wi-Fi drops briefly; he reconnects with his camera off to free up bandwidth.]
Fede: What I was saying is that I also did the same thing as you. I bought HYPE, put it in a range with SOL, and ended up with 100% SOL. Then I bought some the other day, when we were talking on the live stream, at 40-something. I bought maybe three or four thousand dollars’ worth, and then I sold everything the other day at around seven thousand. So I made about 3K of profit.
Mike: That’s pretty good, actually.
Fede: It’s really good. But at the same time, we missed the large move—when it was 20 was the right place to buy. We’ll always have another chance, though.
00:08:00 Worldcoin: A 3% Slippage Lesson
Fede: Right now the one I’m angry with myself about is Worldcoin. Remember, on Monday I said in the meeting that I sold all my Worldcoin at 0.36. Now it’s 0.51.
Mike: And I think you sold it in the FDUSD market, so you incurred some slippage, right?
Fede: Yeah. I normally sell with a limit order, because that’s a zero-fee market for limit orders. But I was doing it from my phone during the meeting, and everything was going down, so I said, “Now everything is going down, I’ll reduce my exposure for this volatile coin.” I used that market and had 3% of slippage. It was the bad move of the week.
Mike: That’s actually one thing for the traders out there: if you’re selling on an exchange, make sure you know how much liquidity there is for your pair. Usually you want to sell in the USDT market, because that market has the most liquidity. Fede was making a market in the FDUSD pair for Worldcoin, which is thinner.
But the good news is that overall we’re getting better at standardizing our operations using Condor plus Hummingbot API. When you trade manually, you can always fall into these traps and make a mistake. The advantage of Condor is that if you set everything up with routines, you can monitor everything more easily, and automate a lot of these tasks—letting the bot do it for you instead of doing it manually.
00:10:00 The Worldcoin Identity Bet
Fede: That’s a good thing to discuss—what people think about Worldcoin, because I think there’s a chance it becomes a bigger thing. What I’m most bullish on is the interactions Worldcoin will start having with other applications. For example, with a dating app like Tinder: now you don’t know if you’re talking with a human or with an AI. Worldcoin could power those logins.
Mike: To be honest, I’m very skeptical—not because I don’t think they have good technology, but because I think the revenue potential for identity verification is pretty low. It’s not a big market. The percentage of humans they’ve identified is something like 1% of the overall population, and I think they’d have to cross at least 50% for it to be useful from an ID perspective.
To be fair, that might happen in, say, 10 years at the pace technology’s advancing. But Worldcoin has historically traded like a meme coin, because it’s backed by Sam Altman and there was big hype around it a couple of years ago. So the question is more, can they regain that attention from the market? It’s possible. I’m just not sure how quickly they can add new IDs. I’d be interested to see the velocity of new people added.
I do think you can make money trading it, though.
Fede: Before, on the main website, they had that data, but right now I’m not seeing it.
Mike: That’s probably because it’s not looking very good, so they took it down. Sorry—I’ve been in this business too long, so I’m jaded by all the shenanigans I’ve seen. Usually, if there’s no data, it probably means it doesn’t look good.
00:13:00 What’s New in Condor: Five-Minute Controller Snapshots
Mike: Let’s get into the meat of today’s podcast. There have been some changes to Condor in the last week—do you want to summarize what we’ve added?
Fede: Yeah. We added a bunch of small fixes across different areas of Condor and Hummingbot API—improvements on the executors page, and in the routines we added a download feature, so you can download a routine and send it to a customer or a friend.
One very cool thing for when you’re running bots: this was an improvement done in both Hummingbot API and Condor. Now we’re storing a snapshot of the controller performance—realized and unrealized P&L, volume traded, positions held, the P&L of those positions, the state of the executors, and any custom info a controller wants to provide. For example, if your controller provides the current signal, that’s going to be snapshotted every five minutes by default by the Hummingbot API.
That gives you a very fast way to visualize the performance of a running bot without going into the details of each individual trade. It’s like the portfolio page we have—we just take a snapshot of the portfolio, convert everything to the same unit, and we’re doing the same thing here for the controllers. Once you deploy a bot, you have a snapshot every five minutes of how it’s performing. There’s also a combined view, which is really cool because you can see a lot of the controllers working together as one combined performance view—or you can filter to see your individual ones.
There were also fixes on how to update the config of a running bot. Now you can update the config of a running bot, where there was an error before. It’s important to understand that we have two levels of config for the controllers.
Mike: Sorry—real quick, I think it’d be easier to show people rather than tell them, because it’s harder to visualize. Let’s give people a sense of the changes, and maybe run a simple PMM Mister bot to show how the reporting looks.
[Fede’s Wi-Fi makes his screen share too low-res to read, so Mike shares his screen and Fede walks him through it.]
00:19:00 The Runs Tab & Archive Cleanup
Fede: I added this Runs view, which is worth testing. When you deploy a bot, two things get stored. First, a record in the database that says, “This bot was deployed at this time with this configuration.” Second, a Hummingbot container is created—a folder with the database, the logs, the configurations, and everything. You have bot one, bot two, bot three, and each bot has its own data, logs, and configs.
Once you stop a bot, it’s sent to an archive folder, in case you want to do a post-execution analysis after it’s stopped. The feature I added is: when you click “delete bot run”—say because it failed or it was a random run—it gets deleted from the archive bots folder and from the database records. So we don’t keep track of it, which helps if you’re running low on space.
00:22:00 PMM Mister: Global Take-Profit & Stop-Loss
Fede: This is the difference between a general config and a bot config—let me show it with a simple example. First I need to update PMM Mister in Hummingbot API; there’s a small update for the position side just to make it simpler for users. What’s necessary is rebuilding the Hummingbot image with image build -t hummingbot, because there were also fixes in Hummingbot we need to pull in.
Let me deploy a bot. I’ll grab one of the configs I was running locally—let’s say PMM BTC—and put it in Hummingbot API. To upload a config, you have two options: upload the YAML file directly, or just copy it in. So it’s very simple to add a new config.
Another new thing for PMM is a global stop-loss and a global take-profit. This is really nice, because now you can generate much more volume with this PMM—you can be more aggressive, and then use the take-profit and stop-loss to control your inventory and come back to zero. For example, you start 100% quote, so you’re going to acquire BTC—buy, sell, buy, sell—and then you have two outcomes: take-profit or stop-loss. In the middle there’s a lot of market making activity, and if the market range stays in the same place, it’s perfect for you. If the market deviates, you just stop and start over.
The good thing is you can make the process more discrete rather than continuous. And you can always disable it if you don’t want to use it.
00:23:00 PMM Mister vs. pmm_v1: Where to Start
Mike: I’d like to pause and explain a bit for those new to the podcast. What we’re showing is a PMM Mister controller. This is a more advanced single-market market making strategy, built on all the lessons we’ve learned building Hummingbot over the last few years.
There are a lot of configuration parameters, because it lets you deploy self-managing executors across a number of order levels, buy and sell. For each executor you can define an individual stop-loss and take-profit. Once those executors finish, they move the inventory into a “position held” bucket, and you can apply a different global stop-loss and take-profit on that.
One reason I built this is that we’re running it ourselves, and we’re finding that the ability to hold inventory—to not sell at a lower price, and instead wait for the market to rise again, or to control how much inventory you’re holding relative to your wallet—is very helpful from a market making perspective.
It does introduce more complexity, so my advice if you’re new is to check out another controller called pmm_v1. That one replicates the original pure market making strategy from the legacy CLI—it just places orders above and below the price and refreshes them. It’s simple, but it’s probably not going to make money over the long term, because if you naively refresh orders, you’ll likely end up buying at a higher price and selling at a lower price as the market moves around.
So if you’re totally new, my recommendation is to start by running a very simple pmm_v1 controller and understand what’s going on. Once you’re comfortable, migrate to the PMM Mister controller, because that’s how you’ll be able to run things the way a professional market maker does.
00:26:00 Deploying Two Controllers: 3% vs. 7% Exposure
Fede: Thanks for the explanation, Mike. I’ll create two controllers so people can see how you can run two at once. In the first one, PMM BTC, we’ll put 10 executors active per level, and we’ll set the portfolio location—how much you expose around the mid-price—to 7%. The other one, PMM BTC1, uses 3% and 15 executors. This shows how aggressive you can be in exposure.
Mike: And that’s a percentage of your total quote amount? And how much are you allocating to each bot?
Fede: Yes, of the total quote. 1,000 to each. So I have the two configs. To deploy them, I go to “deploy bot,” pick the config, and deploy. It takes a little while to appear—we’ll have a transition showing we’re deploying.
Mike: Let me explain what’s going on. When Fede deploys a bot, the Hummingbot API—which is the backend for Condor—launches a new Docker container. That container is what we colloquially call a bot. This bot has two strategy configurations, and it runs them in parallel using the same container instance. The reason we do this is to let you have, say, five or 10 controllers in a single instance—but you can also separate them across instances, because each instance might be on a different server or operating on a different exchange. You can isolate a lot of the operations involved in quantitative trading into one container. Then the Hummingbot API starts tracking that bot and reporting its performance into this view.
Fede: This is going to look more appealing in the next five minutes, because we capture this data every five minutes. One interesting thing we added is a conversion of all the metrics to a single currency. That’s why you see values like 69.77 instead of a fixed value—it’s converting the FDUSD into USDT.
Mike: So Fede’s deployed two bots, and they’ve already generated a couple hundred dollars in volume. The reason we’re confident letting this run is that the PMM Mister strategy does a good job, if configured correctly, of managing the risk of each order. It sets a stop-loss and take-profit on each level, and globally you can instruct it to have a global take-profit and stop-loss as well.
Our experience is that you can run these strategies for a good amount of time and they’ll make money—some will lose, but break-even is probably what you’ll experience. Unlike the original PMM strategies, the ability to hold inventory lets these at least break even over time net of fees, whereas the original strategies tended to lose money over time.
00:34:00 Securing Your Server: Tailscale & the AI Bot Threat
Fede: One thing I’d like to comment on: nowadays with AI, we’re much more vulnerable to attacks on our servers. We see that when we deploy a new Hummingbot API, it’s automatically scanned by other AIs trying to attack servers. So we’re providing a way we recommend to keep your server secure—already merged into Condor—that uses Tailscale.
If you’re not aware of Tailscale, look it up or ask ChatGPT or Claude. Basically, it creates a local network for all your devices. Our installation scripts will now start by closing all the ports your server has exposed to the web, so you don’t have any vulnerability there. Second, it adds that computer to your Tailscale network, so now only the devices you’ve added can access this new server. Everything works on the same network without you having to expose any port to the outside.
We strongly recommend going that route. CheeseAndGarlic says they use Cloudflare One—that’s another good option. We’re supporting Tailscale because we were familiar with it and it’s very simple. Personally, for my side projects, I use Cloudflare tunnels, which are really good for exposing things to the outside.
Mike: This is quite important. As Fede mentioned, the moment you create any type of server now, there are AI-based bots trying to infiltrate it, automatically scanning for vulnerabilities across all the servers out there. There’s a pull request on the Hummingbot site right now with a Tailscale guide—we’ll try to publish that in the next couple of days, and another guide on the Condor docs.
In the past, because we didn’t have Tailscale set up properly, some people launched servers without using any service like Cloudflare or Tailscale, and they saw bots go in and try to steal their keys. This is really important. Because of AI, the game has changed—there are a ton of bots out there trying to steal money.
CheeseAndGarlic also recommends checking out Socket Firewall and Scanner for supply-chain attacks—a really good suggestion. We appreciate any suggestions the community has on how to make our bots safer. We’ll have our team investigate Cloudflare support after we get Tailscale up and running, because we want to make it as easy as possible for people to deploy their bots safely.
00:40:00 Reading the Numbers: Volume & Basis-Point Take-Profits
Fede: Okay, now my Wi-Fi is working. Remember the difference between the two configs we deployed? The first one, PMM BTC, used 7% around the mid-price, and the other one used 3%. That’s why this one has almost double the volume of the other.
Mike: So when you say 7%, is that 7% of your total quote, and is that the amount in each order level, or in total?
Fede: In total. So with $1,000, 7% means it’s placing $70 around the mid-price. Half is for the buy side, so during the loading period it’s $35 buying first. The second one, at 3%, is $30, so it’s placing $15 per side.
Mike: Maybe a dumb question, but if the second bot only had $15 on the buy and sell side, how did it generate over 260 in volume in only 60 minutes?
Fede: That’s why I wanted to show Binance—it’s buying and selling all the time. The other question is, if it generated that much volume, why is the P&L only one cent? It’s because 251 times 0.0001—that’s the take-profit set here, one basis point.
Mike: I see what’s going on. You’re setting orders, and as soon as they’re filled, you’re setting a take-profit right above, one basis point higher. So you’re always buying and selling right away as soon as everything hits. This kind of strategy is designed to place orders around the mid-price, get them filled, and hedge that risk immediately using the take-profit and stop-loss for every executor. That’s why these strategies are very good at generating volume without a lot of risk.
Fede: That depends on how you configure it. If you increase the take-profit—say three basis points—it would be a totally different game, and the P&L might be three times this. So it depends a lot on how you configure it.
00:44:00 Realized vs. Unrealized P&L
Fede: On the P&L chart, we have two lines. The first shows the P&L evolution over time. We have the unrealized P&L as a dashed line, the realized, and the total. The realized grows as a continuous line, and the unrealized moves independently. Can you guess why?
Mike: I think it’s because the unrealized is based on the position you’ve held?
Fede: Exactly. The unrealized is based on the position held. Right now the position is $29. That means if we start closing it now, we’d be taking profit from that $29 position.
00:45:00 General Configs vs. Live Configs
Fede: Here we have the combined view of these two bots. We can filter to see one, both, or the other. Now, this PMM BTC1—if we go to the editor, we see its config. This is the general config. If we go to Hummingbot API, under configs/controllers we have PMM BTC and PMM BTC1—those are the general configs. But in the deployed instance, inside that bot’s folder, we also have a PMM BTC and PMM BTC1.
So there are two configurations: one general, and once we decide to deploy the general config, it goes inside the bucket of the bot. The bot has live configs inside it, and what this lets us do is modify those configs independently from the main configs. We generate a set of generic configurations, deploy them in a bot, and once deployed, each becomes an independent config we can modify from there.
Mike: Can you give me an example—maybe modify something?
Fede: Let’s say I want to move a value on PMM BTC1. You see here it says min base percentage 0.2. Let me put 0.1 and click save. Config saved—and now if I go back, I see 0.1.
Mike: So that means it’s being used now by the live bot?
Fede: It’s being used by the live bot, but I’m only modifying the config of the live bot—not the original. The original still has 0.2.
Mike: This is really cool, because it means you can have lots of bots running, monitor them, and change their configs on the fly without starting a new instance or stopping them.
Fede: Exactly. Plus, you can modify them live without affecting the original main configuration.
Mike: I’m guessing there are certain things you can’t modify—like the trading pair?
Fede: Right, you can’t. There’s a parameter in the controller—you can see it on the generic PMM Mister or any controller—where, if the parameter is updatable, it has a JSON schema extra that says is_updatable: true. If it’s true, you can update it. You can technically change the other parameters, but the strategy won’t take them into account. Only the ones marked updatable will be used.
00:50:00 “How Do I Make Money?” — The Honest Answer
Mike: Before we move on, let me answer a question from CheeseAndGarlic, who asked about the P&L example I mentioned earlier and how much volume.
Fede: That was on Botcamp, right?
Mike: No, that was just a manual trading example on Solana, from Fede’s own wallet—not with a bot. We get some form of this question every time, because what people want to do with bots is make money. So the way we try to answer it: what we’re building with Hummingbot is a framework—a set of tools that helps you do something. That something might be automating a trading activity, or running a business like market making.
Generally speaking, markets are efficient. There’s no easy way to just make lots of money. It’s not a black box—you can’t just throw money at it. Usually, if you’re running a market making strategy like this, initially you’ll either break even or lose some money, because you have to learn how the market works. Over time, if you stick at it, you can find a strategy. That might be purely making money off arbitrage or market making, but more likely it’s because you’ve identified some inefficiency—providing liquidity on a less liquid exchange and hedging on a more liquid one, market making for a customer who pays you to provide liquidity for their token, or earning rewards on a platform like XRP Liquid that pays for providing liquidity.
The way we look at it, Hummingbot and Condor is a toolset optimized for people doing market making and trading. There’s no big secret, but we’re convinced that if you use Condor and Hummingbot, it makes doing this at scale a lot easier—you can configure each strategy, run them independently, and change them on the fly. So my advice, as always: experiment with a small amount of capital using one of the simpler strategies, and eventually you can scale it to a market maker operation run by a single person.
Fede: One important thing to look at here: remember the difference between the two configs—the portfolio location. The one we exposed more is now suffering more on the unrealized. Why? Bitcoin is going down, and as we expose more capital on each order, we get filled for more, so we end up holding more inventory. If the market goes down, it goes down double. It’s interesting to see this relationship. Right now I’m losing about 81 cents across the two, and made about 10 cents on the two controllers. But this is expected—the market maker is at the minimum base percentage it should be holding, and it has 1.4K more to buy before it’s filled to the max base percentage. This is part of the market making logic.
00:54:00 Routines: Dissecting Hyperliquid’s HLP Vault
Fede: Another thing I’d like to show about routines—I have quite a lot of them right now. For example, I started doing an analysis of the HLP vault, the other day, just from my phone. I strongly recommend getting started with routines. You can organize them by topic, by agent, so you can ask your agent about it. Here we’re seeing the TVL of the HLP strategy.
Mike: This is the Hyperliquid vault—the vault they run.
Fede: Yeah, it’s the HLP vault. The APR is 1.35%, and it has 349 million in TVL. Here’s the P&L of the last 30 days.
Mike: I actually was an investor in this vault a year ago. Back then the APR was something like 30%. One reason I exited was that I wasn’t sure what the strategy was—it was kind of a black box. But I do think this vault is one of the reasons Hyperliquid has done very well: they were market making for their own markets from the get-go, so they had really good liquidity on all the major markets as soon as they launched. And anyone can create these vaults—as a user you can create your own vault and have people invest in it. This vault feature was actually one of the main reasons we added the Hyperliquid connector about two years ago.
This routine’s very interesting—it’s just using their API, right?
Fede: Yeah. And the interesting thing is that the HLP is split: there’s a strategy A, which is losing money, and a strategy B, which is a liquidator vault that’s making money—but overall it’s roughly break-even. On a million in capital it only made about $1,000 in P&L, so it’s not that big. The reason they run two strategies is that Hyperliquid doesn’t have hedge mode like Binance, where you can go long and short at the same time with the same account. Since Hyperliquid doesn’t, they need two strategies to hedge—strategy A in blue, strategy B in purple.
Mike: Interesting—you can tell they’re long and short because they’re inversely correlated.
Fede: Yeah. From what I can see, they’re long on some names and short on others—they even appear to be long on competitors like BNB. (Some of the individual tickers here are hard to read off the dashboard, so I won’t assert the exact set.) The interesting thing I’m trying to understand is how this HLP is getting filled. For BTC, for example, here’s how they’re getting filled.
Mike: That’s a lot of data they have available on the API.
Fede: Yeah, it should all be public. They’re quoting as a maker, but the HLP is also taking. Here we have the trades—open shorts, open longs—and the trade composition: around 26% taker, the rest maker. We can also see the P&L by coin. So first of all, you can analyze the risk the HLP vault has—for example, if a given coin goes down X amount, how exposed it is.
This is all made by Condor. To create a routine like this, you just need to have your Cloud Code or whatever you’re using initialized. You go to Agents—here I asked it to compare the liquidity between Binance and Hyperliquid, because a friend told me there’s a site called hl.eco that says Hyperliquid has three times more liquidity than Binance. I just told Condor, “Give me the liquidity on Binance and Hyperliquid”—and it’s not true what the website says. So there are a lot of lies out there.
You go to the plus button, click the routine builder, and these agents help you create the report. The interesting thing is that the routine is Python code that can call APIs or whatever, and at the end it generates a report—a structure of graphs, indicators, markdowns, whatever you want. You can’t add too much customization, but you don’t need to. You just need to see the information the way you want.
01:02:00 Why Routines Are Condor’s Best Feature
Mike: Honestly, routines are the most useful feature we’ve added to Condor so far. I’m using it all the time now to create reports for analyses I’m doing internally or for clients—we started to market make for a couple of clients. Being able to create a customized report of what’s going on with a market maker operation and send it to a client every day or week is really helpful.
The way we’ve structured it, the report is just HTML, so you can email it or send it via Telegram, and anyone can open it on their phone or in a browser. It’s a really portable artifact. There’s already a scheduling feature where you can run the report continuously—every hour or every week—and soon we’ll add the ability to automatically send that report via Telegram or email to yourself or a customer. We’ll probably also add a hub where you can upload your routines and find ones others have built. We think this routines feature is one of the most useful parts of Condor because of how flexible it is.
Fede: Yeah, and it’s very simple to schedule—you just click Schedule. And to download, it’s right here, Download Report.
01:04:00 XRPL, Rewards & the Exchange Land Grab
Mike: Before we end, one more question from CheeseAndGarlic: “XRPL is very interesting because of the low fees.” I totally agree. XRPL is one of our key partners—they sponsor the Hummingbot Foundation, we maintain the XRPL integration, and we maintain a program called XRP Liquid where people can earn rewards. Right now we’re giving away 1,000 XRP per week for people providing liquidity to the key pairs.
If you’re interested in trading XRPL, using XRP Liquid is a smart move, because you can earn rewards for market making on major pairs like XRP-RLUSD, EUR-RLUSD, or BTC-RLUSD. Especially if you’re new to Hummingbot, you can run either a pure market making strategy or a cross-exchange market making strategy and earn rewards.
What we try to do with Hummingbot is support every major blockchain, CEX, and DEX. There’s constant competition between new and existing markets—every exchange is trying to compete with every other exchange. Right now Hyperliquid is adding prediction markets, and Polymarket and Kalshi, which started as prediction-market exchanges, are now adding perps. Every exchange is supporting different market types and trying to compete, whether centralized, decentralized, or on-chain.
Our job at Hummingbot is that we partner with these exchanges and blockchains, but our real user base is the traders—folks like you and us. As traders, we may favor certain exchanges, but overall we’re trying to make money from the overall market landscape by filling in the gaps: providing liquidity where it’s most needed and taking arbitrage opportunities where they’re available.
On the XRPL minimum order—there’s no minimum order on XRPL, because it’s a blockchain. The transaction fees there are still very low, usually less than one cent, so the minimum order is whatever the blockchain’s basic constraint is—probably less than a dollar. That’s the advantage of these more decentralized chains compared to trading on exchanges. Every chain and exchange has different rules, so there’s some investment you have to make in understanding how to trade on each market.
Fede: That’s a great point. The minimum order amount on Hyperliquid is $10, which is quite high compared to others—it doesn’t let you play around with small capital. On XRPL you can play with $1.
For some reason Binance came back, so I’ll show what the bot we deployed looks like. These orders are the hanging orders, or the take-profits of other executors that were filled, using one-minute candles since we deployed. The bad thing is this market doesn’t have as much activity as it had in the past, but we’re still feeding it trades.
It’s important to understand that we have two limits for placing orders. One prevents us from placing an order based on a cool-down time—after a fill, you need to wait 10 seconds. The other is that to place another order, the distance should be at least 0.1%. That’s why the second order is here. So we have two components validating that we’re not buying too much at the same price.
This market is 65 million in volume. If we check the USDT market, it’s 2.11 billion—so the difference in volume between the two markets is quite large. At some point this market was almost higher in volume than the other one. I don’t know what happened with the FDUSD perps—suddenly they all went down.
Mike: Are you still getting zero fees for making on this pair?
Fede: Yeah, zero fees maker. That’s why I’m trading here. And the minimum order amount is $5. So, checking the bots, we’re probably still negative on the unrealized, but we’re generating volume. In about an hour, the one we exposed at 7% is doing more than double the volume of the 3% one—but it’s also taking more risk. The turnover is more than two times the total quote amount in one hour. So it’s quite a nice turnover.
01:11:00 Condor Builders Cup: An F1-Style Trading Competition
Mike: There’s one thing I want to show before we end. We’ve been making updates to our Botcamp website for the hackathon we’re going to launch shortly. For those who don’t know, Botcamp is our educational arm—we have courses and a cohort a couple of times a year where we teach people how to build bots. Our cohort recently ended—cohort 13—and in it, people built strategies using Condor and demoed them on demo day. You can go to botcamp.xyz/cohorts to watch the demo day recap.
The gist is that the top strategies presented at demo day will represent Botcamp in our upcoming hackathon. It’s an F1-style trading competition: each team selects two strategies to represent them, and for Botcamp those will be the two top strategies from demo day. For example, Raj built a strategy that uses a more advanced academic model to provide liquidity very tightly, so he generated a ton of volume with a small amount of capital in his demo. The second strategy, from Wei Hong, was a cross-exchange strategy that plays two perpetual exchanges against one another. We thought these were very sophisticated, which is why they won.
We already have something like 40 people registered for the hackathon, and you can see some of the strategy ideas they’ve put up. We’ll start the hackathon in about two weeks, so you can already register and get prepared. During the hackathon we’ll have live streams explaining how it works, and you can apply to each of the team sponsors—each team defines its own criteria. For example, Derive would probably pick a strategy that runs on Derive, and they’ve added their own selection criteria.
When the hackathon window opens, you’ll create a strategy, make a video, and apply to a team. You’ll have about one month to build, optimize, and refine your strategy. After that, we’ll work with each sponsor to select the winning agents. Each winning agent starts with $1,000 in capital and races during a 48-hour competition to see who wins. It’s the first time we’re doing this, so it’s a bit of an experiment for everyone—but I’m excited, because it’s a chance for people to build a custom strategy they’ve envisioned, and then we can compare all of them live over a fixed time period with the same amount of capital. We’ll manage the competition process to make it fair.
So if you go to botcamp.xyz and click the hackathon tab, you can register, tell the community what you want to build, and prepare for the hackathon to start.
01:15:00 Wrap-Up
Mike: That was about it. I want to thank everyone for joining this episode of the live stream. We usually do this on Wednesdays or Fridays—we might do it on Wednesdays next time, since we seem to get a slightly bigger audience. We’ll be back next week with more improvements to Condor and more stuff to show you. So please register for the hackathon, install Condor, check it out, and give us feedback on Discord on what you want to see.
Fede: Bye-bye.
Mike: Thanks, everyone. I’m going to play some more music before we leave.
Fede: The track you played at the beginning was very good.
Mike: I’ve been playing around with Suno. There’s a bunch more in the catalog I’ll try to use. All right, everyone—see you next time.
[Outro music.]








