We’re back with Episode 5 of The Bot Pod! This week, Mike and Fede announce the Condor Agents Hackathon, demo the new Reports feature, and build a research routine comparing Solana DEX tokens live on stream. Plus: voice-controlled trading via Telegram that feels like magic.
Watch the full episode: YouTube
Register for the Condor Agents Hackathon: Hackathon Registration
Give us feedback in Discord: Discord
The big news: Hummingbot Foundation is launching its first-ever agentic trading hackathon, and registration is open now.
Here’s what makes it different—the winning agents aren’t just for show. They will be run in a sandboxed environment with real capital in a 48-hour live trading competition to win prizes provided by sponsors including Ripple, Gate, Orca, and Berkeley Street Capital.
“This is the first time someone has tried to put together an agentic trading hackathon plus competition, and I think Condor is the right place to do it because with Hummingbot, it gives you a really big surface area to build upon.” — Mike
The hackathon kicks off in three weeks with workshops on building on XRPL and working with quant hedge funds. Submissions close about a month later, and then the real competition begins.
Fede walks through several quality-of-life updates in Condor:
Market tab merged into Trade tab — Everything in one place now
New Editor page — Manage controllers and configs like an IDE, upload files, create from templates
Improved Bots page — See realized P&L, unrealized P&L, volume, age, and logs at a glance
OpenRouter integration — Cheaper API calls and access to more models, including free options
One of the most practical additions: routines can now generate HTML reports with interactive charts instead of just sending images to Telegram.
“The thing is that I have this picture, but I cannot zoom in. I can see it, but it’s not as good as an HTML. So now if I go to reports, the HTML was generated, and I can zoom in and understand what is actually happening.” — Fede
Reports are stored automatically (up to 30) and can be scheduled alongside your routines. When an agent runs a routine, you can see exactly what data it was looking at when making decisions.
Mike and Fede build a research routine from scratch comparing three Solana DeFi tokens: ORCA, MET, and RAY.
The goal: pull market cap data from GeckoTerminal, fee revenue from DeFi Llama, and generate comparison charts—all in about 15 minutes of conversation with Condor.
“Before, this would be like going to a Jupyter notebook, trying to make it manually. And now it’s just talking there and receiving a picture with the output.” — Fede
The analysis revealed something interesting: Meteora is generating more fees than ORCA but trading at a lower market cap. A potential long MET / short ORCA opportunity may be lucrative.
Fede sends a voice message to Condor via Telegram:
“Create a grid executor on ORCA to go long between 1.9 and 2.02 with $300 and a take profit of 0.15%”
Condor transcribes the audio using Whisper (auto-downloads on first use), understands the intent, and creates the grid—all in seconds.
“I really like the experience of just talking because for me, it’s like I much rather prefer to talk rather than write. And it’s like now I can say, ‘Can you tell me the state of that grid?’ and it will just tell me.” — Fede
Now that routines and reports are working, Episode 6 will dive into agent structure—how to edit and iterate on agents as they run. Mike and Fede will continue developing the ORCA/MET/RAY strategy, potentially using the LP executor for concentrated liquidity positions.
Join us live next week on YouTube. Drop your questions in the live chat—we answer them on stream.
00:01:00 Introduction
Fede: We were having very good results with an operation we’re running with my friends. I also played a lot of padel and I won all the matches that I played last week.
Mike: Unfortunately, my days of winning basketball are over. I’m just trying to stay competitive and play with the old people and the kids.
Let’s get into it. Before we get started with Fede’s part of the live stream where he’ll cover the new changes in Condor, I want to introduce the hackathon that we’ll be starting pretty soon. Let me share my screen.
00:02:00 Hackathon Announcement
Mike: If you go to this link here—I put it in the YouTube chat already—this page describes the hackathon and the schedule. As you’ve probably seen in the previous versions of this podcast, Condor gives you the ability to create agents, which are basically strategies you describe in a strategy file that uses an LLM to help you execute trades based on what it observes in the market.
Our hope is that these agents can be actually intelligent and help you maybe run bots or manage a bot better than a deterministic, simple controller or script can. We’re still building the framework, but we think people can already start building agents using Condor.
Starting in a few weeks, we’ll be launching this hackathon for trading agents. We have some sponsors already: Ripple, Gate, ORCA, as well as a quant hedge fund called Berkeley Street Capital. We’ll be onboarding a few more sponsors as well.
The way it works is that people will be submitting agents, and then the winners of the hackathon will be run in a sandbox environment with real capital in a trading competition, so we can really evaluate how these hackathon winners actually perform in the real world.
We’ll have about a one-month period when the hackathon kicks off. Right now, registration’s already open, so you can go to the website and register. You’ll be able to see the list of other participants. We’ll be providing participants with more information to help them flesh out what they’re building and find collaborators among all the participants.
The actual kickoff will be in three weeks. You’ll be able to submit your agent, and we’ll have various workshops over that time to introduce you to building agents using some of our sponsored exchanges and protocols. We’ll have one for building on XRPL, another workshop for looking at the inner workings of working at a quant hedge fund, hosted by our sponsor Berkeley Street Capital.
We’ll have maybe one or two more workshops as we flesh out the schedule. The submission deadline for the hackathon will be about one month after it starts, in June—right now it’s June 21st. After that, we’ll judge the hackathon winners based on the demo they provide, the code, and the video.
Once we select the winners, we’ll take them and run them using Hummingbot instances with real capital, and evaluate how well they actually perform over a 48-hour period.
We’re pretty excited about this because this is the first time someone has tried to put together an agentic trading hackathon plus competition. I think Condor and Hummingbot is the right place to do it because with Hummingbot, you have a really big surface area to build upon.
You can build any type of strategy running on any type of CEX or DEX, and with the Condor agents framework, you can just use natural language to create that strategy. You don’t need to write lots of complex code anymore. We’re hoping we’ll see lots of good submissions from the hackathon. We’ll evaluate them and work with our sponsors to select the best strategies for each category, then basically pit them against each other in the trading competition.
The whole thing will wrap up in early July with the final competition winners announcement, but we’ll also have a separate hackathon winners announcement before that.
Registration is now open, so you can register, submit your email, and we’ll have a mailing list that provides more information. When the hackathon starts, you’ll be able to flesh out your agent here.
That was my part of the announcement. We’ve also started working on version 2.15, the next version of Hummingbot, which has some base-level improvements. Fede is already building some of those improvements into Condor because we want to make sure you’re able to use the latest changes we’re making.
Fede: Yeah.
Mike: So—
Fede: There’s a question that says, “Do we need to risk some money or do you fund our strategy?”
Mike: Yeah. The idea is we would provide the funding for the strategy. We would take your code—you specify which exchange you’d run this on, all the parameters that go into it—and then we’d run the strategy along with others using the same amount of capital to evaluate it.
This is actually a good question. Do we need to risk money or do we fund the strategy? Basically, we would work with our sponsors to select the best strategy that fits their categories.
Fede: There will be a selection process because probably we’ll have a bunch of submissions, right? First, we’ll filter which are humans and which are agents, so we just let humans participate—that will probably be the filter with the video. Then from all the strategies submitted, we’ll have an initial filter of “these ones will advance to the next round,” and the finalists will be available for the competition. Then we’ll run the bots with the capital.
I think this is a very good initiative. I think people would like to see bots competing against each other.
Mike: Yeah.
Fede: Do you want to start checking the new things in Condor?
Mike: Yeah, why don’t you give people a sense for what’s new.
00:08:00 Condor Updates Overview
Fede: Basically, there were some things we were working on this week. First, the feeds for candles and open interest on Binance Perpetual were broken. I just fixed them and pushed the update—the library is released again. You’ll need to update your Hummingbot API to have this fix because the WebSocket contract changed from Binance Perpetual.
There are also some improvements on the configs on the Hummingbot API side. Plus, there was a redesign on Condor. We merged some of the pages—the market page is now merged into the trade page. We also improved the bots page to have the configs more like an IDE inside the website.
The WebSocket integrations on the frontend were improved, and the backend layer is much better now because it shares data for the Telegram bot and the web UI through one centralized place.
I also added a new feature called reports. I think you’ll like it. I’ll showcase a few now. Basically, when you run a routine, that routine can send you a Telegram message with a picture, respond to text, do all those things we already know how to use.
But we’re just one more step away from creating a report. So I said, “Let’s see how a report feature would look like.” I already made it. When you instruct a routine to generate a report at the end, it will generate an HTML with graphs and markdown—whatever you have there. You have a buffer of maximum 30 reports, and the old ones get cleaned up.
If you schedule a routine every day, instead of sending via Telegram, you can just have the report being generated and go to the website to check the status there. But let’s see them in the UI.
Mike: Yeah, let’s take a look.
00:10:30 Reports Feature Demo
Fede: Can you see my screen now?
Mike: Let me add it to the scene. Yeah.
Fede: We’re going to have some fun in Condor. I’ve been playing around creating a strategy. This was just 15 minutes talking with Condor, with the agent builder, saying “I want to do some research on Bollinger Bands on ORCA. Can you get the candles of one minute for the last two hours and generate—when it goes below the band, above the band—what’s the percentage of this band? When it’s increasing, the value will increase and decrease. I’d like to see the compression or expansion of this band.”
So if the band is increasing, this will be increasing. Here the market goes down, there’s a trend, this band is expanding. Here it’s getting contracted, then expanding again.
Before, this would be like going to a Jupyter notebook, trying to make it manually—I’d say two years ago. Now it’s just talking and receiving a picture with the output.
Mike: Can you show how you generate this? What was the message?
Fede: Yeah, we’re going to generate a new one during this session today.
I also said I’d like to evaluate the volume of the market so I can see volume spikes. Actually, I want to see buy pressure and sell pressure. Here in the first part, the buy pressure was very negative. But this is the second iteration—the first iteration was something more like this, where we spot volume spikes.
Overall, there’s a lot of potential in receiving data here. But before seeing how we can generate one of these, let’s see the new interface of Condor.
00:13:00 UI Walkthrough
Fede: The portfolio page is the same that we had before. I’d like to keep this one simple because it’s just seeing your portfolio stuff.
There’s a question: “The indicator values—volume bands—are calculated by Condor?” Yeah, they’re created by Condor. I’m going to show you how you can see them and create your own indicator. The good thing is you can create an indicator—you can even get a Pine Script from TradingView and tell Condor, “Hey Condor, translate this Pine Script code into Python code to visualize it in the charts,” and it’ll be able to do it.
The other change I did: before, we had a market tab here. I merged that market tab into trade. Now the trade tab has the OHLCs with executors, the positions, and the config.
If you go here to “Depth,” you’ll also see the order book and the trades coming from this market. This is really nice because we shouldn’t need two pages for this. You can see the different markets being loaded and the data that’s available.
But I think this page is probably not so useful for you right now—the depth—because you’ll mostly be looking at the price and using the config to generate different configurations for the executors you’d like to deploy. But it’s nice to have.
There were some improvements on the UI for the different executors, but the biggest change on the trade page is merging markets and trade.
00:15:00 Bots Page
Fede: In bots, we also have some changes. Let me show you how a real bots page looks. These are the bots I’m running for one of the clients.
The bots page will show you: what is the realized P&L, unrealized P&L, total P&L, volume traded, the age that the bot is running. Now I also added here to see the controller config, and you have the logs of the bots. Here it’s failing because it doesn’t have budget. Maybe there’s an error here. You can see all logs and filter by error logs.
Mike: These are actively running bots right now?
Fede: Yeah, these bots are running from the—
Mike: Okay, nice. So basically each one’s a separate instance? Or is it one—
Fede: There are three bots because it seems like Dreamman deployed them badly—he should be deploying three bots in the same container, but for some reason he deployed three different bots. But in this case, it can be just one single bot sharing all three controllers.
We also have the editor here. We got the top three bots from the 15 bots we were running and said, “Let’s try to run this with more capital.”
00:16:30 Editor Page
Fede: Another change is we have this editor page. Instead of having controllers and configs separate, we have this editor page where you can see the code of the controller and update it if you want. You can also see the controller configs. We have all these configs that we were running.
You can analyze a config, update it, delete it, whatever. This editor helps you switch between controllers and configs and adapt the one you need. You can also upload a file—a YAML file or a Python file—if it’s a controller.
You can also create a new one from a template, so if you have the controller, you can pick it, all the parameters will be loaded, and you can create them.
Mike: To be clear, these are the same controllers that work in Hummingbot, right? If someone created a custom controller here without any changes, they could use it themselves as well?
Fede: Yeah. If they create a custom controller, they can just go to this UI and upload it.
Mike: Nice. I would say we’re focusing on controllers right now. In the future, we may try to support scripts, but right now we’re focused on controllers because each controller has this “total amount quote” that says how much in quote you want to give it, which allows us to calculate the P&L of your bots correctly.
In the future, we may allow people to run scripts if they want to continue using something from the past. But we recommend overall that if you’re using Hummingbot right now with controllers, this is a better way to run it than what you were probably doing before with CLI.
Fede: Yeah. If they have a script they were using, we could add a new tab that says “adapt script to controller”—we can spawn a Claude session that translates the script to a new controller.
Mike: Usually a script is using some custom gateway controller or something custom, so I’d say the use case for scripts is more someone doing something custom.
Fede: You can do the same in a controller if it’s custom—there’s no problem with that.
Mike: Yeah, anyway.
Fede: It’s just Python.
00:19:00 Agents Page
Fede: Then we have the executor stuff—same tab as before, you can see executors and all that. Then we have agents. I’m currently working on this, mainly unifying the sessions.
Before it was overview, strategy, learnings, sessions, and dry run. I removed strategy and learnings as separate tabs, and now I’m putting the strategy and learnings here. I’m trying to figure out how to improve the experience even more. Maybe I should add an editor like this one, maybe I should just let the user expand to check it.
I’m trying to figure out by testing what the best solution is. But I think you’re also not going to modify this directly too much—you’re probably going to modify these things with the agent itself.
I also made another change that’s not reflected yet because this was an older version of the learnings. I found that it was adding a lot of information that’s sometimes redundant. So I said it has to organize learnings into market data learnings and executor learnings, so it’ll probably keep the information more concise.
Mike: The question is, are these things users should edit or not? By having an editor, we’re saying these are things that could be edited by the user.
Fede: Could be. For example, let’s say I don’t like this insight—I can just go here and remove it, save it.
Or I’d like to add another learning to say, “Hey, please take a look at this because you’re missing when this happens.” You can manually input a learning from here, and it will be automatically incorporated. But you can either write it here or talk with the agent builder and say, “I would like to add this insight.”
Mike: I think for removal, what you just did of removing an insight is something people may want to do because it’s easier than trying to tell the agent. Overall, the two ways is actually not bad. The only thing I’d add is some type of expand or download button. Maybe just expand.
Fede: Yeah, they can access the file. Maybe an expand here would be nice. I’ll add it.
Then we have sessions here. You can see the trades that the agent took. This is one of the trades, this is another trade, so on top of the candles you can see where there was actually trade activity.
There’s one thing about the color—it’s not easy to spot where these trades are because it’s red and the same red. Maybe I’ll try to make it bigger or find a way to point out where these executors are.
Mike: Okay.
Fede: Overall, I improved the interface, putting this on the same level. Then we have the overview, take a snapshot—there’s a kind of overview for the executors.
And this view—if you go for each executor, you can see where they were and it will load the data around it.
00:23:00 Routines Demo
Fede: Lastly, we have the routines that you already know. These are the ways you can trigger a routine. For example, let’s say we trigger the “top movers.” This will give us the top movers on Binance Perpetual.
If I run top movers, I have this result, this output that’s probably what I’ll receive in Telegram. But here’s the change I made: what happens if this top movers routine can be run on a schedule—every minute or every five minutes? Where will I see this output? Because Telegram will be a little verbose, and sometimes I don’t want to receive everything in Telegram. That’s why I created reports.
If you go to reports, you’ll see that 34 seconds ago this one was created. This is what a report looks like. See, it generated this graph that shows the gainers and losers. You can expand the graph also. So it’s like—good.
This is nice because now we can create HTML with these reports, and it’s very simple to create. Let’s say we run the technical analysis on SALT—six hours of candle data.
Let’s run it. It’ll be here—as you can see, it’s running. When it ends, I see this output here. See, this is a picture—the same picture I receive in Telegram.
This is what I was trying to improve—this experience—because I have this picture but I cannot zoom in. I can see it, I can analyze it, but it’s not as good as HTML. Now if I go to reports, the HTML was also generated. Here I have the analysis and the HTML, so I can zoom in and understand what’s actually happening in the market.
This is a small improvement that the framework now has—including reports.
Mike: Can you walk through again how you tell a routine to trigger the report? Where are you defining that?
Fede: Actually, it’s very simple. You tell Condor to do it. But let’s say we look at the one we just created—top movers.
You see the run? First, I have this figure that I’m generating. What you need to do is import the report builder. At the end of the routine, you need this report builder source—this routine—to tell what routine is generating this report.
In the markdown, you add the markdown you want. If you want to add a Plotly chart, you add the figure you generated—the chart. If you want to add a table, you add a table. This step is what actually generates the report.
These reports you can find here in the charts folder. You’ll have the HTML generated by this report class. From here you can also clean them—removing the reports you generated.
I think this approach of HTML reports is quite convenient.
Mike: Are you gonna include some samples with this?
Fede: Yeah, I updated all the ones I have here—they’re also moved to reports.
Mike: Okay, got it.
Fede: In the project, I’m also providing this routine that’s loaded by the Condor agent. This has an explanation of how to add the report. I’ll provide the update on this too, so now your agent will know how to create reports.
Mike: Got it. Are you gonna show people how to do it now?
Fede: Yeah, I think the best way will be trying to create a report showing this. By the way, let me add this so I don’t forget.
So let’s see how we can create a report now. Any inspiration from the chat? Does anyone want to generate a report about something?
Mike: Do like a token or an indicator you want us to use, or even a strategy type maybe.
Fede: I don’t know what you want, guys. Just mention it in chat.
If not, we can move on.
Mike: Yeah. Actually, why don’t we do something on ORCA since that’s a token that has risen a lot recently. I think a couple of Solana tokens have gone up. Maybe we can look at ORCA and figure out if there’s—actually, maybe ORCA versus Meteora, that might be a possibility.
Fede: I like that.
Mike: Based on—
Fede: What I’d like to know is—yeah, maybe we can do analysis between ORCA, Meteora, and Radium, comparing also the market caps, maybe.
Mike: Yeah, I think it’s a good idea. If you want, we can also try looking at the revenue data from DeFi Llama.
Fede: That would be nice.
Mike: Do you have a link? Is there an API?
Fede: Data is free?
Mike: It should be, yeah. Why don’t you start the agent—start the building process. I’ll do some research into the DeFi Llama data while you’re doing it.
00:30:30 Live Coding: DEX Token Comparison
Fede: Okay. This is how I’ll start doing research. This is really nice because you don’t need to know—you just need to ask. That’s the best thing.
I’ll tell it—let’s create this as a routine. I’ll say: “Hi Condor, I would like to create a routine to compare the market cap evolution over time of ORCA, MET, and RAY. Can you check the GeckoTerminal API and see what data we have available?”
I’ll tell it to check the GeckoTerminal API. I created this GeckoTerminal Python wrapper a long time ago for getting data from GeckoTerminal. There are some examples in the code—in the usage, I created a notebook so you can see how to get networks, DEXes by network, trending pools, top pools, new pools, and also specific tokens on a network.
With this, I think Condor should be able to get the supply. With the OHLCs we should be able to see the market cap because I don’t think it’s showing market cap directly. Let’s see what Condor tells us.
It seems like it’s searching. I thought the GeckoTerminal API should also have market cap. Let me see.
Mike: Yeah, I think they have market cap and TVL if I’m not mistaken.
Fede: But I don’t know if they’re doing it for OHLCs—the output of the OHLC.
No, it’s just returning this, it’s not returning market cap, so what I have is correct. But I have the data of the number of tokens available, so it should be able to figure that out.
Mike: Okay. By the way, it looks like we can get fees from DeFi Llama. Let me send you the link. I’ll send it to you in Discord.
Fede: Okay. He gave me this change on file. I don’t know what this is. It’s the data of the—
Mike: That’s the GeckoTerminal data for these protocols.
Fede: Yeah. Okay.
Mike: So just to maybe more precisely define the type of strategy we’re talking about for the seven people watching and everyone watching YouTube afterwards: basically what we’re talking about is some type of portfolio allocation or stat arb strategy that’s looking at three tokens that are Solana decentralized exchanges.
All three—Meteora, ORCA, and Radium—are DEXes that Hummingbot has integrations to. We’re very familiar with how users might approach these. All three are AMM DEXes with AMM pools and concentrated liquidity pools. A lot of LP strategies you might want to use are probably using Meteora or Radium using concentrated liquidity pools.
Recently ORCA has shot up in the market. I think it went from $1 to $2—something like that. It spiked up to almost two, went down to one, recently spiked up to two again.
I think that actually puts ORCA’s market cap above Meteora and maybe even Radium.
Fede: I don’t think they beat Radium yet, but we’ll see.
Mike: Yeah.
Fede: One thing is—I just told this and see all the work it’s doing. It was actually able to say, “Okay, I can get the token and I can use GeckoTerminal to get—” and now it’s finding the top pools to get the OHLC data from them.
Mike: Cool. So the strategy—we’ll basically look at, try to look at these market caps or maybe even the fees these protocols are earning, because that’s also visible on-chain, to analyze which tokens are undervalued or overvalued given all these metrics.
It’s like a mix of using fundamental analysis to formulate a strategy to do some mean reversion perhaps or some other trading play. But overall, the first step, as Fede mentioned, is to identify the data you’re interested in.
Here we’re looking at market caps, the price obviously, historical revenues, and other factors. This is good for agents because in the past you’d have to put this in a spreadsheet and spend hours cleaning the data, putting it together, collecting it. Now you can hand all that off to your Condor agent.
Fede: I would say to avoid rate limits, use the data from Binance Perpetual and use the data from GeckoTerminal for the market cap calculation. Also, I’d like to include into the routine the fee revenue data. Here’s an explanation of how to get it.
Okay, let’s see. Oh sorry, it seems like it went to messages.
Mike: It should be okay. If it’s Claude behind the scenes, it should handle that pretty well.
But interestingly, as this is working, some folks on Discord have already reported trying out Condor with other open source models. Because actually—I’m not sure if you’re gonna show this later—but now you’ve added more support to the models menu, right? Beyond the defaults?
Fede: There’s more support for other models. David told me today that he finally integrated Open Router. Now with Open Router, first you can get cheaper requests, then you can get other models to use. There are also some free models you can use from the API there, and he told me they were able to do tool calls, so it’s actually nice to see.
Let me see what’s the state. With these two things I probably messed it up, but maybe this is working. I’ll need to create a new session. This might happen because remember it’s in trial, but—it was actually responding.
I’ll start a new session. Now it’ll analyze the routine we were creating for the market cap comparison and fee revenue.
Mike: Evaluate this later on, by the way, because I think your screen’s not coming in very clearly. I’m not sure if it’s just on my end or it’s on the actual stream itself.
Yeah, if in the audience you’re seeing blurry screens, please let us know because we’re experimenting with different ways to stream. Maybe we’ll end up using different software if you can’t see what we’re presenting.
Fede: Let’s make it continue from here. I don’t know if it’s—I’m seeing the screen on Restream well, but I don’t know why we’re still having that type of problem.
Mike: For me, my Restream is blurry, but I’m not sure if the actual output on YouTube is blurry as well. It’s hard to tell. We’ll see in the final output. I’ll try to clean it up.
Let me know if the quality is fluctuating. That’s one unfortunate thing about livestreaming. Maybe we’ll experiment with doing a pre-recorded one in the future.
Fede: Okay. Here it’s trying to update with the fees data, so we’ll see if it’s able to come up with the report. Now the final stage will be—run the routine and we should see the HTML report on the website.
That would be the goal: can we create in less than 15 minutes or 10 minutes a report that compares the market caps, the fee revenues of these three protocols, and just have a visualization?
We have five minutes left, so let’s see if we can make it.
Mike: Let’s see.
Fede: Can you run it? Let me see. It’s on Binance Spot—Meteora.
Mike: Yeah, Meteora is definitely on Binance Spot.
Fede: And ORCA is also—yeah. Okay. Can you run it?
Let’s see what we find.
Managed routines, this... Remember, the good thing about this is that it’s like code mode. I’m experimenting with code mode right now. I think I mentioned this the other day, but there are some people—mostly the guys from Cloudflare, some from Pydantic—pushing for this code mode thing.
Basically, instead of letting the agent use MCP tools directly, they have the tools, but they’re not calling the tools directly. Instead, they’re creating code with those tools, executing all that, and then just getting the output. That reduces token usage a lot.
Seems like the report was generated. Let me see what the final result is. If we go to Condor—okay, there’s something here from one minute ago.
Mike: Okay.
Fede: We don’t have the market cap evolution. Okay. I’ll tell it that the market cap evolution isn’t there. But we have the daily protocol fees.
Mike: Nice.
Fede: Actually, MET is outperforming all of them.
Mike: Yeah. That would be my intuition as well, because I think MET is actually making more fees than ORCA or Radium. That’s actually why I hold quite a bit more MET. But I do hold all three because all three are partners of ours.
But I’m a little bit overweight MET because I think the revenue is—I’m glad your chart is validating my intuition. Anytime you confirm your buys, it always feels good.
Fede: Yeah. I also have most of my portfolio in MET—probably mostly these values.
Mike: Nice.
Fede: I also told it the legends aren’t correct. But see, now in the state we’re in, you can just chat in Telegram and generate a report that compares the fees, that gives you a chart for market cap—it’s like—
Mike: And price as well, because you can also look at the candles and incorporate.
Fede: Yeah. I’m making it fix that issue.
Mike: Okay.
Fede: So in this chart, we should be able to see the market cap evolution. But the interesting thing here is that in FDV, ORCA is still lower than the other two.
Mike: That makes sense.
Fede: But check the fees in 30 days—
Mike: Yeah.
Fede: And this interesting “market cap over analyzed fees”—this is a nice proxy to see that Meteora’s value should probably be higher.
So yeah. I see the fix was switching from this—okay, let’s see. The new report is here, so now we can see it.
Mike: Does that update automatically or do you have to run it again?
Fede: No, he ran it again for me.
Mike: Okay.
Fede: What’s strange is that market cap evolution—this value doesn’t make sense to me compared to this value.
Mike: Yeah, the market cap evolution chart seems a bit off.
Fede: Indexed at... Ah, this is indexed to 100—this is the evolution, meaning the changes in market cap.
Mike: Yep.
Fede: I would tell it I’d like to see market cap as an absolute value.
Mike: Okay, got it. It’s probably using price as a proxy for market cap here. To get actual market cap, it either needs historical supply or historical market cap.
Fede: Yeah, but I have the FDV, so I have the total number of tokens. I can use price times that value. That’s what it’s doing, actually, for me.
But here the trade would be: short ORCA, long Meteora, based on all these things. If you want to have a kind of delta neutral strategy where you long one and short the other, I think it would be short ORCA and long MET based on the values we’re seeing here.
That might be a good idea. But what I want to show is: here’s how you can create these routines. Also, if I go back, it should be the new version. How fast we can iterate this is incredible—I’m already on a new version.
Mike: Nice.
Fede: This is crazy. These are real values.
Mike: Radium has always been higher than the other two despite the—
Fede: Yeah. But ORCA did come back because ORCA was lower than MET. Now ORCA is passing MET, so I think MET will come up.
Mike: Yeah.
Fede: But yeah.
Mike: We probably won’t cover this today, but let’s say you wanted to actually turn this into a trading agent. What would be the next step?
Fede: The next step would be talking with agent builder and saying, “I want to create a trading agent that uses this routine to analyze the data.”
Then I would be asked: when does it take trades, how does the strategy work, will it keep positions around the three pairs with changes? It would be a conversational flow with the agent builder. Then the agent will be able to run this routine on demand and create executors on demand.
That’s how it works.
Mike: So the agent would also run this routine which generates a report? So it’s kind of like you’d get the report that the agent is submitting?
Fede: Yeah. For example, if I go here and say—I have an agent called BB trader. Can you check the routine it has to calculate the indicators?
Yesterday I was creating an agent. This is one of the agents I’m currently trying to work on. This agent has a routine.
So the routine it has—it’s explaining to me here how the agent works and how it’s generating decisions. But I’d like to say: I want to focus on the routine. Can you add report generation to it so I can see the output in reports?
What happens here is: if I add the report, the training agent will be able to execute local routines and general routines. If the routine the agent is calling has the implementation of this report, when the routine finishes, I’ll find in reports the output of that specific routine.
So I can see what the agent was looking at when it was doing something. I’ll also probably add one at session level so I can keep track of which ones ran at that session.
Basically it’s doing the refactor right now. As you can see, the generate chart was returning the buffer of the PNG—because I was sending through Telegram that information. But now it’ll return a figure and have two paths: one that sends the PNG via Telegram and another that saves the data.
But the important thing is this is the data your agent will see. It’s good for you to understand what your agent will be seeing when trading.
Mike: Okay.
Fede: So it’s updating the routine. Let’s wait one more second so we can see the output. I think it’s getting really nice.
Mike: Yeah, it’s cool that because it has access to Hummingbot and also the internet, it can access pretty much any data source out there and help you visualize this.
Fede: Yeah. You can run this on a server, connect it to Condor, and have your Telegram wherever you are—you’re able to use this feature.
Mike: Yeah.
Fede: Yeah.
Mike: We should actually check how well the web dashboard works on mobile. We should make sure it’s usable on mobile, that you can navigate to these different tabs.
Fede: Yeah, that would be interesting. I’m always in favor of mobile usage, but I understand people want—
Yesterday I had a great experience just sending voice messages to Condor.
Condor can transcribe the messages and then send it to Claude. I recommend checking that too. At first it’ll take a little bit if your Condor session doesn’t have Whisper downloaded—it’ll download Whisper and then be able to do the transcription.
Mike: Can you demo that? Are you saying users would have to—the LLM will download Whisper or do they have to do it themselves?
Fede: That would be an automatic process. But the first time it’s doing the process, it will be downloading, so it’ll take a little bit of time.
See here—it ran the routine. You see this routine, and also it generated this report. This is a report the agent is receiving. This is to analyze the candles. If we want to analyze the candles, this is a report generated by that specific routine.
00:54:00 Voice Trading Demo
Fede: Let me demo what it would look like to send a voice message to Condor. I want to—
Mike: Do something like “how’s it going” or “how’s it feeling today.”
Fede: Hey Condor, how is it going? So you see that here appears “audio transcribing voice,” and here it transcribed, and now it’s sent to Condor again.
Mike: Nice.
Fede: “All good, ready to trade. What do you need?” I’ll tell it: can you tell me the price of ORCA USDT on Binance Perpetual? Let’s see if it’s able to get it.
Transcribe voice... Get market data. ORCA $1.96, perfect.
Now I’ll tell it: I would like to create a grid executor on ORCA to go long between the prices of 1.9 up to 2.02, and I would like to invest $300 with a take profit of 0.15%. Let’s see if it’s able to do it.
Mike: Okay. Let’s see.
Fede: It’s getting the executor schema.
Let me go ahead and create it. I’ll tell it... yes, create it.
Mike: So just hitting the talk button and holding it down, talking, and then releasing it—is that how you’re doing it?
Fede: No, I’m with the phone.
Mike: Voice message, right? Yeah. Sorry, I’m a Gen X American, so I never use voice messages. I’m asking as a complete voice message noob.
But honestly, that’s a really good experience, especially if you’re on the go trying to place a trade. I’m gonna start trying that.
Fede: We are already doing some trades.
Mike: Nice. You already put a grid on. Okay. So you basically put a long grid between 1.9 and 2.02. Where’s it trading now? ORCA 1.996? Okay, 1.94.
Fede: Yeah.
So yeah, we finally created some—
Mike: Yeah. So basically this long grid—you’ll be buying ORCA between a little bit below the current price up to 2.02. If it hits 2.02, the grid will stop, right? And then you’ll—
Fede: Yeah, I’ll take profit at that value.
Mike: And then if it hits 1.89, that’s a stop loss and you’re gonna get out as well.
Fede: Yeah, stop loss. But “keep position” is set to true—yeah, I’ll be holding the long position. But I don’t think that’ll be a good idea for ORCA right now because it’s very volatile. But yeah, this is a great—
Mike: I think there’s a good chance it’s gonna hit 2.02. Yeah. But maybe we’ll let everyone know what actually happened to this grid.
Fede: Also, I really like the experience of just talking, because for me it’s like—I much rather prefer to talk rather than write.
Now I can say, “Can you tell me the state of that grid?” and it will just tell me. If not, I’d need to write that, and I’d probably be two times slower writing it.
Mike: Yeah. I see what you mean, especially for individual trading. The Telegram voice interface is actually really amazing.
Fede: Yeah. “Your grid is cooking.”
Mike: Nice.
Fede: But overall, this is what it is. I think we have room to improve, but always—week after week it’s getting better.
Mike: Yeah. To try it out, the link is condor.hummingbot.org.
Like I said, we’re trying to improve it week after week. It’s open source, it’s free, and it’s maintained by Hummingbot Foundation, which is the same folks behind the Hummingbot open source framework that’s been widely used by professional market makers since 2019.
We’re also working with exchanges in our day job to integrate into Hummingbot, and some of those will likely be sponsors in the hackathon.
As one final note, as I mentioned, the hackathon is now open for registration. I think the link is in the very top of the chat on YouTube. We’ll also make sure it’s in the episode description when we share it.
You can already start registering for the hackathon. You can fill out your profile and then find collaborators among other participants. We’ll actually kick off the hackathon in about three weeks.
00:59:30 Wrap-up
Mike: Maybe next time, we’ll actually get into more of the agent structure. Now that we’re able to create agents, I think the next step is to really try some agents out and see how we can edit them and iterate on them as they run.
But I think routines are a really important part of this because the first thing you want to do is formulate what your strategy is. You may have a hypothesis like we did right now about MET versus ORCA versus Radium, but actually analyzing and figuring out how you want your agent to behave given the data you have is the next part.
Maybe we’ll actually continue this next week and try to figure out: is there some type of trading strategy we can employ? If so, how should we do it? Should we use grids or should we use the LP executor that we now have in Hummingbot that will be supported in Condor too?
There’s a few ways we can approach it. But overall, we’d love for you guys to just try it out, register for the hackathon, and see what kind of agents you can build. Hopefully we’ll find some cool agents, give them some real money, and see how they actually perform in a 48-hour trading competition. That will end the first trading agents—or Condor agents—hackathon. That’s what we’re calling it now.
Fede: Yeah. All right.
Mike: Okay.
Fede: I think that’s all. I’ll see you next week.
Mike: Yep. See you guys. Bye everyone.
Fede: Bye.

Comments
Nothing yet. Say the first thing.
Sign in to join the conversation.