[Proposal] CCXT plugin for Mirror Finance trading

What is CCXT?

A JavaScript / Python / PHP library for cryptocurrency trading and e-commerce with support for many bitcoin/ether/altcoin exchange markets and merchant APIs.

I currently use ccxt for my crypto trading because it enforces a common API across all exchanges in the framework. This common API makes it simple for users to trade across exchanges and take advantage of arbitrage opportunities.

CCXT is implemented in a language agnostic fashion which means it will support trading in JavaScript, Python, and PHP.

Why fund development of a plugin for CCXT?

This is exactly the kind of project which is tailor made for community funds. It is open-source, difficult to monetize through private investment, and will primarily benefit MIR token holders through increased adoption and trading volume.

The goal would be to implement the majority of functions listed here: Exchanges — ccxt 1.90.30 documentation

Abstracting away the complexity of trading directly through smart contracts on terra blockchain and providing a common API which is already used by thousands of algo traders worldwide should help increase liquidity/trading volumes on the Mirror Finance platform and generate buzz for the product.

Breakdown Of Costs

Two developers working 40-hour weeks could have this done in under 3 months, assuming spot bonus work is performed in parallel.

Curious to know the community’s thoughts on this proposal.

As an aside, I considered writing a proposal for a Python SDK but this effort strikes me as better defined since it will have to adhere to CCXT common API and has the potential to drive adoption. Two birds, one stone and such.


  • Reduced dev cost to $75 per hour

Looks interesting, but firstly I’m not sure why you are quoting 100$ / hour for 3 months. That seems steep even for the most senior devs in western countries don’t make that tax-free lol…

Also, it looks like this doesn’t really have anything to do with Mirror as in we are trading synthetic versions of assets ,so you cannot move these things around easily as you could say buying BTC in Binance and Moving to kraken for arbitrage.

Buying an mAPPL or mBTC cannot really interface with other exchanges for example as they are different assets…Additionally, I believe there is already terminal, js and other ways of interfacing w/ the mirror exchange, so most of the dev would be redundant.

Since all assets are synthetic, there is no real benefit in being integrated into the platform in my opinion. Happy to hear other’s thoughts on this. This would make more sense for a platform like uniswap, pancake swap, change.io, etc since you are transacting a common set of goods.

I reduced the dev cost (technically you should report your income but obviously that is up to the dev). You are correct that I cannot directly swap mBTC for BTC, but I could easily imagine opportunities to trade based on the price action between these two assets. I’ve looking into using the terminal and js package but they don’t read like well developed trading APIs generally do. Mirror should have an API which is easy-to-use for trading, especially in python, and associating it with an existing platform for trading crypto would help drive adoption of mirror IMO.

Another example would be that I’ve written a trading bot on ccxt but don’t want to reimplement that in order to trade on mirror.

I’m not sure i’m quite convinced by your use cases.

Yes, price action between mBTC and BTC is one opportunity, but the main purpose of CCXT is interoperability which as we discussed is basically non-existent…

Also, a trading bot on mirror would be eaten alive by 0.3% trading fees with non-highly-volatile assets like stocks

Is there a reason the team hasn’t integrated uniswap? I feel like that platform is much more conducive to the ethos of CCXT.

Yeah i dont think this is a good spend of our community funds . If an algo trader is too lazy to read the docs for mirror.js chances are they have no idea what they are getting themselves in to. Trading algorithmically in this ecosystem is actually quite easy once you learn terra.js or mirror.js. There are python sdks as well.

Also, hummingbot supports terra.

1 Like

Do you have links to the existing python sdks? There should be an abstraction. It doesn’t have to be CCXT per se but I’m not aware of anything which doesn’t have me interacting in some way that is specific to the terra blockchain.

Hummingbot provides an abstraction layer.