Tezos Trading Bot in C++: DEX Monitoring, Strategies and Telegram Control

A C++ rewrite of a bot that watches Quipuswap pools, applies the client's own rules and reports to Telegram

About the project

  • Project: A trading bot for the Quipuswap exchange on Tezos
  • Industry: Trading, blockchain
  • Timeline: September 2021 – June 2022
  • Technologies: C++, Tezos, Quipuswap, Coinbase API, Telegram
  • Team: a C++ developer and a project manager

A trader wanted to profit from short price gaps in the liquidity pools of Quipuswap, a decentralized exchange on the Tezos blockchain. A large swap moves a pool away from the market price, and a fast bot can trade in the opposite direction and capture the difference.

The client already had a working prototype in Node.js and TypeScript, written by a freelancer. It was hard to maintain, used a single address for all trades and struggled when traffic grew. So he needed a faster, cleaner core that he could keep extending with his own trading rules. We worked on it from September 2021 until the final hand-over in June 2022.

A trading bot is only as good as its core: it must read the market, follow the client's rules and run on his machine without surprises.

From a prototype to a plan

First we read the prototype and the client's specification. The bot watches swaps in the pools, compares the pool price with the market price and trades back when the gap passes a threshold. The size of its trade is a share of the incoming one, and it retries or restarts after an error.

In the end, we recommended to rewrite the core in C++, because the code of the prototype was hard to follow and to extend. We agreed on sprints, with a daily written report and a weekly demo call.

The C++ core

Quipuswap has no formal API and no documentation, only its smart contracts and a TypeScript library. For this reason, our developer wrote a small Tezos library in C++ instead of wrapping the old code. It reads the pools, subscribes to completed transactions and sends the bot's own transactions.

By late September 2021 the bot was "listening to the market", and it made its first transaction soon after. In November we connected Coinbase as a second market and linked the trading logic to its price data.

Rules, strategies and Telegram

The client wanted to set the trading logic himself, so we built a framework of indicators, signals, rules and strategies. He records his own rules in it, and the team does not hard-code them. The bot reports every trade to Telegram with its size and gas, and the client controls it from the same chat.

Running it on the client's machine

In April 2022 we moved the bot to the client's Windows virtual machine. We compiled it from sources on the target machine, found a crash in the HTTP layer during the first runs and fixed it. We also set up remote desktop access, so the client's team could start the program from a desktop shortcut.

After the first runs, the client asked for data at any time interval per strategy, such as a 17-minute window, and we treated it as a change request. On 31 May 2022 we uploaded the production build, and after the client's feedback we updated it on 5 June. By 20 June 2022 the remaining points were agreed, and the bot was handed over and launched.

What turned out to be hard

  • No documentation. Quipuswap offered only contracts and a TypeScript library, so we studied the contracts and wrote our own C++ library.
  • Tezos data formats. Encoding and decoding the JSON and Michelson structures took more time than planned.
  • Building on the target machine. A compiled bot needs its libraries built where it runs, including OpenSSL, so the first launch needed a day of debugging.
  • Changing requirements. Flexible time intervals for strategies came late, so we estimated them as a separate change.

Result of the project

The client received a C++ trading bot for Tezos with his own rules framework and Telegram control, running on his virtual machine since June 2022.

Looking for a trading or data bot? See our blockchain development services or read how we built data collectors for a DApp ranking site. The bot trades on Quipuswap and reads market data from Coinbase.

Need a trading bot or a blockchain data tool? Tell us about your task.

SEE MORE OUR CASE STUDIES

Custom Development

SLINK: Survey Automation App for Windows Tablets

A field and office application for land surveyors: a drawing canvas for lots, structures and traverses, a cloud database and a Web API, built for Windows tablets and PCs.

Technologies:C#, WPFEyeshotSQL ServerAzure DevOps
Read case study
Mobile Development

BELONG: Smart Dating iOS App with an Events Admin Panel

A Xamarin iOS app and a Laravel admin panel on Firebase for an events-based dating startup: events, a calendar, Single and Not Single modes, push notifications and App Store releases.

Technologies:XamarinPHP, LaravelVue.jsFirebase, Yelp
Read case study
EdTech

ABC Stars: Online English School Platform with Live Video Lessons

A web platform for live one-to-one English lessons: a video classroom with shared books, a schedule generator, an admin panel and monthly parent reports.

Technologies:PHP, LaravelVue.jsOpenTokKami API
Read case study
Front-End Development

Timios: Website Front-End Development for a Title Company

Markup of a full website redesign for a US title and escrow company: Zeplin mockups on a Bootstrap grid, delivered into an ASP.NET WebForms site with IE11 fixes.

Technologies:HTML, CSS, JSBootstrapASP.NET WebFormsZeplin
Read case study
Mobile Development

Equipe Trading: Warehouse Pick and Pack Android App

An Android app for scanner devices that guides warehouse staff through picking and packing: order tabs, shelf locations, barcodes, cartons with printed labels and automatic statuses.

Technologies:AndroidREST APIZebra scannerFigma
Read case study
WordPress Development

Swimming Los Angeles: Swim School Website Redesign

A redesigned WordPress site for a swim school: responsive pages from our mockups, JackRabbit class tables, a Google map of four pools and an editable home page.

Technologies:WordPressCherryFrameworkJackRabbitGoogle Maps
Read case study
WordPress Development

Steerlyfe: WordPress Website for a Wellness Marketplace Startup

A WordPress website for a wellness marketplace app: pages built from our mockups, Mailchimp forms, and a shop and blog on one installation.

Technologies:WordPressThe7MailchimpInVision
Read case study
Mobile Development

Ivee: Companion Mobile App for a Smart Speaker

The interface of a companion app for the Ivee voice assistant speaker, built in Ionic: Wi-Fi connection, speakers by room and scenes with music, lights and a remote.

Technologies:IonicMobile interface
Read case study
iOS Development

Tribz: Rebuilding and Rescuing an iOS Personality Quiz App

A native iOS personality quiz app rebuilt from a prototype in Swift, then rescued after an App Store rejection: in-app purchases, Swift 3 migration and sharing fixes.

Technologies:SwiftiOSIn-App PurchasesTestFlight
Read case study
Blockchain Development

HollywoodLand DAO: Custom Blockchain Governance Platform for Decentralized Decision-Making

Decentralized governance solution with smart contracts and Web3 integration that enables secure DAO voting, token management, and transparent project funding.

Technologies:SolidityOpenZeppelinInfuraPHP/WordPressPolygonMetaMask/Ledger
Read case study
Custom Development

Taxi Fleet SaaS Platform: Architecture and Development of a Subscription Service (NDA Covered)

Architecture and development of a multi-tenant subscription platform that runs a taxi fleet end to end: dispatching, pricing, payments and rides that work offline.

Technologies:GoFlutterReactPostgreSQLKafkaRedisClickHouse
Read case study
Mobile Development

Truck Parts Identification App: Recognizing Heavy-Truck Parts from Photos (NDA Covered)

A mobile app and backend that identify heavy-truck parts from photos. A vision model observes, fixed rules decide, and short questions replace guesses.

Technologies:FlutterFastAPILangGraphPostgreSQLMinIODockerClaude API
Read case study
Web Platform MVP

DuelDog: CS:GO Esports Platform MVP with Game-Server Matches and PayPal Payouts

An MVP of an esports platform: players pay an entry fee, play 1v1 CS:GO matches on dedicated servers, and the winner is credited and paid out, with matchmaking, map veto, a server manager and an admin dashboard.

Technologies:ASP.NET MVCC#SourceModPayPalAzure, AWS
Read case study
Mobile and Cloud MVP

IPBuilding: Notification Platform MVP with an Android App and Azure Back End

An MVP that delivers alerts from building devices to the phones of staff: an Android app with push notifications, an ASP.NET back office and an OAuth 2.0 API for the client's servers, hosted on Azure.

Technologies:AndroidASP.NETOAuth 2.0Azure
Read case study
Web Platform

Splandeed: Marketplace Platform with an Interactive Map and Admin Panel

A French marketplace for the architecture and design sector: an admin panel for storefronts, a public site with an interactive map and hosting with SSL.

Technologies:LeafletJavaScriptAdmin panelLinode
Read case study
E-commerce

StrapMate: WooCommerce Subscription Box Store for Smartwatch Straps

An online store with three monthly subscription plans on WooCommerce, reworked from a commercial theme to the client's mockups, with packing lists that show what goes into every parcel.

Technologies:WordPressWooCommerceSubscriptionsStripe
Read case study
Blockchain Data Platform

DappStats: DApp Ranking Platform with Blockchain Data Collectors

A statistics and ranking site for decentralized apps: a front end, a Laravel rewrite and collectors that read Ethereum and TRON data.

Technologies:LaravelMySQLEthereumTRON
Read case study
Mobile and Logistics

Courier Tracking App for a Print Distribution Business (NDA Covered)

An Android app and a web admin panel that show managers where couriers work: GPS tracking, sectors drawn on a map, push notifications with intercom codes and reports.

Technologies:AndroidNode.jsGPSPush
Read case study
Web Platform

Employee Reviews Directory: Completing a Platform After a CMS Migration (NDA Covered)

A public directory of companies with employee reviews: working links and redirects, reCAPTCHA on every public form, moderation tools and support from 2017 to 2024.

Technologies:PHPYii2jQueryBootstrapreCAPTCHA
Read case study
Web Platform

Art Catalogue Website: Exhibits, Museums and Authors with Social Login (NDA Covered)

A bilingual catalogue of paintings, museums and artists: search, favorites, login with social accounts, layouts for phones and tablets, and an admin panel with content import.

Technologies:PHPWordPressOneAllResponsive
Read case study
Blockchain Development

Big Picture Coin: Token, Lottery and Staking Smart Contracts on Ethereum

Smart contracts for a fixed-price token, a lottery and staking, with tests, a deployment script, audit fixes and launch instructions for the client's team.

Technologies:SolidityTruffleEthereumInfura
Read case study
Blockchain Development

Waxify: Shopify App for Selling NFTs on the WAX Blockchain

A public Shopify app that sells digital collectibles together with physical goods: a merchant interface, checkout logic and asset issue on WAX, built on the Shopify Node.js template.

Technologies:Node.jsNext.jsShopify APIWAXMySQL
Read case study
E-commerce Development

Element Eight: Shopify Storefront, Subscriptions and Customer Account for a Skincare Brand

Shopify theme development from the client's Figma designs: Shop All, navigation, ingredients pages, auto-replenishment with Recharge and a custom My Account area.

Technologies:ShopifyRechargeJavaScriptCSS
Read case study
Blockchain Development

Crypto Trading Bot Platform: Web App, Risk Controls and Node Scaling (NDA Covered)

A refactor of a Node.js trading bot and a Next.js web platform around it: subscriptions, an admin panel, draw-down and trailing stop controls, a user queue and node rotation.

Technologies:Node.jsNext.jsPostgreSQLDockerEthereum
Read case study

Contact us



Please fill out the form, and we will get back to you once your request has been processed.

You can also send your request directly to our email: info@24gen.space
We will respond as soon as possible after receiving your message.
 






    PDF, DOC, DOCX, JPG, GIF, PNG — up to 20 MB