Two people, 10 months, 10 million dollars profit: A complete review of Hyperliquid stock arbitrage.

CN
2 hours ago
As institutions gradually enter the market, this window is closing.

Author: CBB (@Cbb0fe)

Translation: ShenChao TechFlow

ShenChao Overview: This is CBB's complete review of his arbitrage business over the past 10 months. After HIP-3 launched on Hyperliquid in October 2025, he and his brother started from scratch exploring Interactive Brokers (IBKR) and built a bot to exploit the price difference between HIP-3 and TradFi:

In November, they executed about $850 million in volume, earning over $500,000; in January 2026, with the surge in metal prices, the monthly volume reached $1.7 billion, earning over $600,000 just in funding fees. However, due to data from the IBKR interface stopping to refresh, the bot kept taking short positions to correct a non-existent spread, resulting in a net short position of $120 million in gold futures. After landing in Dubai, he manually closed the position, ultimately losing $1.1 million.

The day after fixing the risk control, a silver retracement brought about a price difference of about 3% between Hyperliquid and IBKR, and they earned back $600,000. By September 2026, institutions were gradually entering the market, and Ethena announced plans to enter stock basis trading, indicating that this opportunity might be coming to an end for them.

October 2025.

For the past eight months, we have been running the number one arbitrage bot on HyperEVM.

But this hard work is coming to an end.

After tussling with Wintermute for the past few months, a new player has entered the game, significantly compressing profits.

It’s fine. My brother and I are used to it.

We've never tried to compete long-term with institutions and their multitude of employees. We can't do it. There are only two of us.

Our advantage has always been deploying a strategy as quickly as possible and squeezing it dry before the big players come in.

They can't launch a strategy within 48 hours. They have regulatory constraints, internal processes, approvals, and so forth.

None of that exists for us. We just need to be as fast as we can.

So, it’s time to look for new hard work.

We are thinking: What’s next?

That’s how 10/10 happened. Cryptocurrency seemed completely over. Everyone was doomed. There was nothing exciting left to squeeze.

We started to look around.

On October 13, HIP-3 launched on Hyperliquid. Three days later, Unit/TradeXYZ officially launched their first stock perpetual contract market: XYZ100.

Since Hyperliquid still had over 40% of the supply to allocate to the community, we thought it might be a good idea to create some volume on HIP-3.

This is actually the same logic that led us to the HyperEVM arbitrage opportunity eight months ago: we just wanted to create spot volume for Unit and Hype on Hyperliquid.

We didn’t know if it would work, but we wanted to try: building and operating a stock perpetual contract arbitrage bot between HIP-3 and TradFi.

Initial Exploration of TradFi

One thing to remember: we have never traded a single stock in our lives. We also don’t really know what futures are. We are basically clueless about TradFi.

What we do know is that IBKR is a highly competitive platform for what we want to do, so we decided to explore it.

In the initial days, I was basically trying to figure out how to use the IBKR platform.

I took screenshots of almost everything and sent them to Claude:

“What is this?”

“What does this mean?”

“What should I do here?”

“How do we hedge XYZ100?”

That’s basically how we started learning TradFi.

Meanwhile, my brother began studying IBKR's API to figure out what could and couldn’t be done.

Coming from the crypto space, he was used to quickly jumping on exchange APIs and getting things running. IBKR is a whole different world.

Market data subscriptions, contract specifications, order types, permissions, API limits, TWS, IB Gateway...

There was so much to figure out, and at first, we weren’t even sure if we could make this work.

But after a week of tinkering with IBKR, we started to get an idea.

Building the Arbitrage Bot

The strategy is quite simple.

We take IBKR’s quotes as the true prices and continuously check for arbitrage opportunities on HIP-3.

If a market on HIP-3 is trading at a discount relative to IBKR, we go long on HIP-3. Only after completing the transaction on Hyperliquid do we open the corresponding short position on IBKR.

If a market on HIP-3 is trading at a premium relative to IBKR, we do the opposite: we short on HIP-3 and go long on IBKR after the transaction.

Theoretically, it’s quite simple.

In practice, we need to set a lot of parameters for each HIP-3 market.

Taking the IBKR leg as an example, for NVDA:

["NVDA", 55, 400, { maxDelta: 800, slippage: 0.1 }]

55 is our minimum hedge size. IBKR has a minimum fee of $1, so we want to avoid doing a lot of tiny trades. We let delta accumulate, and once it reaches 55 shares of NVDA, we hedge on IBKR.

400 is the maximum size for our single IBKR order hedge to avoid excessive slippage.

maxDelta: 800 is our safety valve. If for some reason our trades on IBKR continue to fail, and the spread between the two legs reaches 800 shares of NVDA, the bot will stop trading that market.

slippage: 0.1 is the maximum slippage we allow when hedging on IBKR.

Then, for the HIP-3 leg:

NVDA: pair("NVDA", "xyz:NVDA", {makerSize: 400, makerOffsetBuy: 0.12, makerOffsetSell: 0.12, cancelDelta: 0.02, takerRatioBuy: 0.05, takerRatioSell: 0.1, takerMin: 1, takerMax: 2000, limit: 110000, makerEnabled: true, preMarketOffset: 0.04 })

It looks complicated, but the logic is actually quite simple.

makerSize determines how much we put out, makerOffsetBuy / makerOffsetSell determines the price difference we want relative to the fair price. cancelDelta tells the bot at what price movement to cancel and relist.

For taker trades, takerRatioBuy / takerRatioSell determines how much price difference we need before consuming liquidity, while takerMin / takerMax controls the size we are willing to execute.

limit is the maximum total position we allow in this market, and makerEnabled simply lets us toggle order placement.

Finally, preMarketOffset adds some additional spread during the pre-market period since liquidity on the TradFi side tends to be much lower at this time of day.

First Trade

By the end of October, we were finally ready to give it a try.

The first few days were a bit hectic. We stumbled through the IBKR API, sometimes facing disconnections, and my brother had to come up with ways to keep everything connected and running.

But we quickly realized there were plenty of opportunities. It felt essentially like picking up money.

In November, we executed approximately $850 million in volume on HIP-3, earning over $500,000 in profit.

That was pretty good.

December was slightly calmer. We did about $550 million in volume, and profits were still substantial, but we really started to think about whether we should focus our efforts elsewhere. It was good money, but not a gold mine.

We decided to keep going as usual. As long as there was something to squeeze, we usually found it hard to stop.

Metal Frenzy

January was when HIP-3 truly started to take off.

Gold and silver began to skyrocket, with demand on Hyperliquid reaching insane levels. Earning money became almost too easy, and we had just been preparing for this type of market over the last two months.

One issue we encountered was liquidity. Virtually everyone wanted to go long on commodities on Hyperliquid, which meant we had to continuously inject more capital on the IBKR side to hedge.

We kept putting money into IBKR, but moving such a large sum would cause issues with the bank.

EtherFi was an absolute godsend in this regard, allowing us to withdraw a quite substantial scale of funds quickly.

In January, we achieved $1.7 billion in trading volume on Hyperliquid, earning over $600,000 just from funding fees.

But as I mentioned earlier, there are only two of us. We don’t have internal processes. We act fast. And we are basically testing everything directly in the production environment.

Sometimes, this comes at a cost.

On January 27, I had just landed in Dubai, preparing to grab a coffee with my brother to discuss the bot.

Suddenly, I received a warning of a margin call from IBKR.

I didn't understand how this was possible. It was still early, and nothing big was happening in the market.

I logged into IBKR.

We were net short $120 million in gold futures.

Gold was in the midst of a strong rally.

We immediately shut down the bot.

In that moment, I was shaking. I was genuinely afraid of being liquidated. I wasn't that familiar with IBKR since all the trading on that side was done by the bot.

Over the next 15 to 30 minutes, I manually closed out the $120 million short position in gold.

Later that afternoon, when the market opened, we finally figured out the loss:

-$1.1 million.

That stung.

But we had no time to cry. We needed to figure out what happened and fix it fast.

The reason was actually quite dumb.

The IBKR interface data had not refreshed properly. The bot thought there was a spread between our positions on Hyperliquid and IBKR, so it kept executing short trades in gold on IBKR to correct a non-existent spread.

Once. Again. And again.

Until it shorted $120 million in gold, and we started receiving margin call warnings.

We clearly needed more control.

We needed to ensure that the data we received from IBKR was indeed fresh. We needed to add extra checks before allowing the bot to continue increasing positions. More generally, this bot was never designed for the current volume and scale of opportunities.

We spent the entire day fixing everything.

The next day, we launched a new version of the bot.

But we had lost confidence.

Maybe we really didn’t know what we were doing. Maybe the risk-reward ratio just wasn’t worth it. We had just lost $1.1 million over a ridiculously stupid issue, and now we felt the bot would mess up again.

Since launch, for the first time, we seriously considered whether to stop.

But by now, you should know us… we are extremely greedy.

We wouldn’t give up because of a seven-figure loss. We would push harder.

And I think this is something we are quite good at. Almost every bot we ever created together faced remarkable losses. And somehow, we always clawed our way back.

We wouldn’t spend hours crying. We try to understand where things went wrong, fix it, and then keep moving forward.

Before earning back that money, this loss effectively became a taboo topic between us.

The next day, after silver retreated from an all-time high, a spread of approximately 3% appeared between Hyperliquid and IBKR at one point.

We made about $600,000 in profit from it.

We were back.

Liquidity Management and Speed Optimization

By this time, we were making decent money.

And we knew how to play this game. If there was this much money to be made, more people and their multitude of employees would rush in.

So we needed to get stronger as fast as possible.

The first problem was capital.

This is very different from pure crypto arbitrage, where transferring funds between different venues might take under five minutes. Here, we really had to wire money to IBKR, and then pull it out from there.

So we designed a dynamic system based on the available liquidity at IBKR.

When liquidity on IBKR is low, we are willing to lose a bit of money to close existing positions and free up funds. At the same time, we require a larger price difference for opening new positions.

When liquidity on IBKR is abundant, we do the opposite. We are willing to open new positions with a smaller price difference and deploy capital more aggressively.

The second thing that needed improvement was speed.

So far, we have been taking IBKR's quotes as the true price source. It can work, but this data source is relatively slow.

As more participants entered this game, we knew it would eventually turn into a speed game, and relying solely on IBKR's data wouldn’t be enough.

We started looking for alternatives and found Databento.

With Databento and a Nasdaq authorization, we could obtain much faster direct market data.

We submitted the application in January and finally got approved by the end of the month.

From Metals to Oil

In February, metals were still heating up, and we achieved approximately $1.5 billion in volume.

And it seemed that was not enough; by the end of February, Trump decided to bomb Iran, making the market extremely volatile, pushing oil prices above $100.

At this point, we were earning about $60,000 to $120,000 daily from arbitrage spreads and funding fees. Except on weekends, when the TradFi markets were closed, and we were bored to death.

When we “only” earned $40,000 over the past 24 hours, we genuinely felt something was wrong. We started checking the bot, adjusting parameters, trying to figure out what happened and what could be improved.

Claude helped us a lot with this. We could feed it all our HL and IBKR transaction records, allowing it to analyze where we were losing the most, what issues arose, and how we could improve.

This was actually the first time we used AI for trading analysis, and it made a significant difference.

Even when everything was going smoothly, we maintained this obsession. This was basically the only way we knew to stay ahead.

My brother and I discussed the bot all day long. He pushed code updates almost every day, while I continuously adjusted parameters based on market conditions.

Semi-Conductor Frenzy

By the end of April, as the Iran conflict began to cool down, we thought this insane profitability was finally coming to an end.

Over the past few months, we earned about $500,000 per week, and we really couldn’t see what could continue to drive these opportunities.

Just then, semiconductors and all bottleneck trades started to explode.

Codes like SNDK and MU began trading like pure memecoins.

This was insane.

When we started building this bot in October, basically nothing was happening in the market. Since then, we have gone through metals, then oil, and now semiconductors, all trading like dog coins on BSC.

What happened?

There is clearly a huge element of luck involved. We happened to be in the right place at the right time, with products ready for this type of market.

But I also think it was somewhat prescient to bet on HIP-3, stock perpetual contracts, and more specifically, TradeXYZ this early.

In May, June, and July, our monthly volume stayed between $1.5 billion and $2.5 billion, earning roughly $400,000 to $500,000 weekly.

Conclusion

It is now early September.

Since we started, quite a few institutions have joined this game. Ethena also announced plans to enter stock basis trading in the coming weeks.

For us, this opportunity might be ending soon, but this journey has been incredibly enjoyable.

In 10 months, during a time that felt like a complete crypto winter, we accomplished:

  • $32 billion in volume between HIP-3 and IBKR
  • 1.5% of TradeXYZ's total volume
  • $10 million profit

Of course, this was possible because we had a lot of liquidity to deploy. But the actual return on invested capital still had an annualized rate of about 35% to 45%, depending on the period.

More importantly, this has been an excellent opportunity for us to engage with the TradFi world for the first time and understand how it operates.

Ten months ago, we had never traded a single stock and knew almost nothing about futures. Now we have traded $32 billion.

All we have left is to pray for Hyperliquid's third season.

Thank you for reading to the end.

We will be back with another story.

CBB 🫡

免责声明:本文章仅代表作者个人观点,不代表本平台的立场和观点。本文章仅供信息分享,不构成对任何人的任何投资建议。用户与作者之间的任何争议,与本平台无关。如网页中刊载的文章或图片涉及侵权,请提供相关的权利证明和身份证明发送邮件到support@aicoin.com,本平台相关工作人员将会进行核查。

Share To
APP

X

Telegram

Facebook

Reddit

CopyLink