dYdX + Hummingbot Bounty Hunt

Blog»dYdX + Hummingbot Bounty Hunt
dydx bounty cover

Hummingbot

2021-07-30 · 6 min read

We are happy to announce a new round of bounties to challenge the Hummingbot developer community!

This time we are working with dYdX, a leading decentralized perpetuals exchange, and distributing $15,000 in prizes among all the creative hackers and devs that help grow the community-driven Hummingbot open-source project.

If you want to discuss with other members of the community and our developers about your ideas (or maybe find a teammate to tackle the bounty challenges), make sure to visit our Reddit page!

The bounty is divided into three prizes:

New Strategy Bounty - $10,000

The first challenge is to create a new strategy to be used with the Hummingbot client, leveraging dYdX advantages (Check details below).

Content Bounty - $2,000

The next challenge is about creating excellent content teaching how to use Hummingbot + dYdX. Any format (video, guided tutorial, article, etc.) is eligible as long as the contents make the experience of starting firing up a Hummingbot instance with dYdX easier.

Tips - $3,000 shared among meaningful and interesting contributions

Even if your contribution isn’t the winner of the main prize, both Hummingbot and dYdX team will look into all contributions and share some tips among the runners-up.

Schedule

  • Start date: Monday, Aug 9, 2021

  • Last day for submissions: Friday, Oct 1, 2021

  • Winner announcement: 2 weeks after submission

  • Register here

  • Feel free to discuss anything related to this bounty on Reddit

Now, let’s learn more about each bounty!

New Strategy Bounty

Goal

Build a new strategy customized strategy for the dydx_perpetual connector

Background

Hummingbot currently has two dYdX connectors:

  • dydx: Connector to the spot market, on Ethereum Layer 1

  • dydx_perpetual: Connector to the perpetual markets on Ethereum Layer 2 that uses StarkWare ZK-Rollups

The goal of this bounty is to create a new strategy for the dydx_perpetual exchange. See https://docs.hummingbot.io/exchanges/dydx-perpetual/ for more information.

At the moment, two strategies are available for dydx_perpetual:

  • spot_perpetual_arbitrage: Aims to capture the premium difference between spot and perpetual prices. More information

  • Perpetual_market_making: A standard market-making strategy that aims to capture the spread between buy and sell orders on a single exchange. More information

But there are still a lot of different strategies that can be created using Hummingbot as the codebase. Here are some ideas:

Perpetual <> Perpetual Arbitrage

Many quant trading strategies exploit short-term differences in price amongst other exchanges. For instance, a perpetual market on Binance can trade at a different price than that same market on dYdX. Create a strategy that identifies and captures arbitrage opportunities between perpetual exchanges.

Funding rate arbitrage

Perpetual exchanges like dYdX use a funding rate mechanism to ensure that the perpetual swap price approximates the spot price. When funding rates are positive, short positions earn the funding rate, and when funding rates are negative, long positions earn the funding rate. Build a strategy that allows you to earn the funding rate on dYdX while hedging on another perpetual or spot exchange.

dYdX has subtle but potentially significant differences with other perpetual exchanges supported by Hummingbot. For example, dYdX funding rates are updated every hour, while Binance Futures’ funding rates are updated every 8 hours. The funding rates between exchanges are often different and thus can be arbitraged in a delta-neutral way while capturing the funding rate spread.

Perpetual-hedged market making

To reduce risk caused by large swings in inventory position from filling orders when the market is trending, professional market makers often hedge their exposure on perpetual markets. Create a strategy that places maker orders on a spot exchange while hedging significant changes in inventory by entering into long or short perpetual positions on dYdX.

Correlation trading

Many alt-coins are highly correlated with BTC and/or ETH, so alt-coin prices tend to move in response when prices of those large coins move. However, this price correlation may fluctuate or take longer to transpire on certain markets, creating opportunities for bots.

Build a bot that analyzes the recent price history of trading pairs on dYdX to detect trading opportunities based on price correlation reverting to the mean. Unlike spot exchanges, perpetual exchanges like dYdX allow you to long or short any token even if you only deposit one type of token (USDC), so this strategy should look at all dYdX pairs. 

Submission acceptance criteria

To be accepted and reviewed, the submission must attend to the following requirements:

  • Find the `dydx_bounty` branch in the Hummingbot Github repo (link to be added after 0.42 release)

  • Fork the branch and add your code

  • Afterward, submit a pull request (PR) to the `dydx_bounty` branch and include “[dydx_bounty]” in the PR name

  • The PR must also contain all the details about how the strategy works (trading logic and what is the expected outcome)

  • The PR must pass all Github validation and unit tests

  • The PR must contain no malicious code

  • The PR must follow the Contribution guide: https://github.com/CoinAlpha/hummingbot/blob/master/CONTRIBUTING.md

  • It must use version 0.42 as the base of the code, which will be the same as the `dydx_bounty` branch.

Content Bounty

Running a trading bot on a new exchange involved significant onboarding friction. Create a high-quality, creative piece of content that shows new users how to install, configure and run a Hummingbot strategy on dydx_perpetual.

Steps

https://docs.hummingbot.io/exchanges/dydx-perpetual/

  1. Install Hummingbot using Docker

  2. Deposit tokens

  3. Add API keys

  4. Create and run a strategy

Submission Acceptance

  • Format: Google Doc, Youtube video, or both

Tips

We recognize that building a great strategy and creating high-quality educational content requires time and effort. 

Hummingbot and dYdX will allocate $3,000 in Tip bounties to one or more bounty hunt participants at their sole discretion, rewarding community members for spending their time on this bounty, even if they ultimately don’t win

Documentation Reference

Hummingbot Client Documentation:

Blog Posts:

Technical Support

Hummingbot Development team can be reached on our Discord, on the channel #dev-general for general questions about the bounty.

For more detailed questions about how to achieve something specific with the Hummingbot codebase, post your question to the Hummingbot Reddit with the Dev flair, and our development team will answer as soon as possible.

Decision Process

After the last submission date (10/01), Hummingbot and dYdX teams will evaluate all the contributions and distribute the bounties to participants based on the following criteria:

  1. Strategy usefulness and logic

  2. Code quality

  3. Strategy working as described

Afterward, Hummingbot will work with the winning developer to merge the strategy into the official Hummingbot codebase. Note that the developer may need to make specific changes to the PR as part of the review process for it to be merged.

Good Luck, and happy bounty hunting!

Related Posts

Liquidity Mining: November recap
Liquidity Mining: November recap
Harmony and Hummingbot launch ONE Liquidity DAO
Harmony and Hummingbot launch ONE Liquidity DAO
Liquidity Mining: October recap
Liquidity Mining: October recap

DISCLAIMER: The websites located at https://hummingbot.io, https://docs.hummingbot.io, https://miners.hummingbot.io (collectively, the "Site") are copyrighted works belonging to CoinAlpha, Inc. ("Company", "us", "our", and "we"). Certain features of the Site may be subject to additional guidelines, terms, or rules, which will be posted on the Site in connection with such features. All such additional terms, guidelines, and rules are incorporated by reference into these Terms. These terms of use (these "Terms") set forth the legally binding terms and conditions that govern your use of the Site. By accessing or using the Site, you are accepting these Terms (on behalf of yourself or the entity that you represent), and you represent and warrant that you have the right, authority, and capacity to enter into these terms (on behalf of yourself or the entity that you represent). You may not access or use the Site or accept the terms if you are not at least 18 years old. If you do not agree with all of the provisions of these terms, do not access and/or use the Site.