-
-
Notifications
You must be signed in to change notification settings - Fork 8.8k
compare two exchanges capabilities
github-actions[bot] edited this page Jun 11, 2026
·
1 revision
using ccxt;
using ccxt.pro;
namespace examples;
partial class Examples
{
async public Task compareTwoExchangesCapabilities()
{
var prefix = "-";
var exchange1 = new ccxt.okx();
var exchange2 = new ccxt.htx();
var keys1 = exchange1.has.Keys.ToList();
var keys2 = exchange2.has.Keys.ToList();
Console.WriteLine("### checking missing functionalities from exchange-1:" + exchange1.id);
for (var i = 0; i < keys1.Count; i++)
{
var key = keys2[i];
if (((bool)exchange1.has[key]))
{
if (!keys2.Contains(key))
{
var msg = prefix + key + "does not exist in" + exchange1.id + "as opposed to" + exchange2.id;
Console.WriteLine(msg);
}
else if (exchange1.has[key] != exchange2.has[key])
{
var msg = prefix + key + "> " + exchange1.id + ":" + exchange1.has[key] + "," + exchange2.id + ":" + exchange2.has[key];
Console.WriteLine(msg);
}
{
var msg = prefix + key + "> " + exchange1.id + ":" + exchange1.has[key].ToString() + " +" + exchange2.id + ":" + exchange2.has[key].ToString();
Console.WriteLine(msg);
}
}
}
// check missing from exchange-2
Console.WriteLine("### checking missing functionalities from exchange-2:", exchange2.id);
for (var i = 0; i < keys2.Count; i++)
{
var key = keys1[i];
if (((bool)exchange2.has[key]))
{
if (!keys1.Contains(key))
{
var msg = prefix + key + "does not exist in" + exchange2.id + "as opposed to" + exchange1.id;
Console.WriteLine(msg);
}
else if (exchange2.has[key] != exchange1.has[key])
{
var msg = prefix + key + "> " + exchange2.id + ":" + exchange2.has[key] + "," + exchange1.id + ":" + exchange1.has[key];
Console.WriteLine(msg);
}
{
var msg = prefix + key + "> " + exchange2.id + ":" + exchange2.has[key].ToString() + " +" + exchange1.id + ":" + exchange1.has[key].ToString();
Console.WriteLine(msg);
}
}
}
}
}(If the page is not being rendered for you, you can refer to the mirror at https://docs.ccxt.com/)
- Install
- Examples
- Manual
- CCXT Pro
- Contributing
- Supported Exchanges
- Exchanges By Country
- API Spec By Method
- FAQ
- Changelog
- Awesome
- API Spec by Exchange
- alpaca
- apex
- aster
- backpack
- bigone
- binance
- bingx
- bit2c
- bitbank
- bitbns
- bitfinex
- bitflyer
- bitget
- bithumb
- bitmex
- bitopro
- bitrue
- bitso
- bitstamp
- bitteam
- bittrade
- bitvavo
- blockchaincom
- blofin
- btcbox
- btcmarkets
- btcturk
- btse
- bullish
- bybit
- bydfi
- cex
- coinbase
- coinbaseexchange
- coinbaseinternational
- coincheck
- coinex
- coinmate
- coinone
- coinsph
- coinspot
- cryptocom
- cryptomus
- deepcoin
- delta
- deribit
- derive
- digifinex
- dydx
- extended
- foxbit
- gate
- gemini
- grvt
- hashkey
- hibachi
- hitbtc
- hollaex
- htx
- hyperliquid
- independentreserve
- indodax
- kraken
- krakenfutures
- kucoin
- kucoinfutures
- latoken
- lbank
- lighter
- luno
- mercado
- mexc
- modetrade
- mudrex
- nado
- ndax
- okx
- onetrading
- p2b
- pacifica
- paradex
- paymium
- phemex
- poloniex
- revolutx
- tokocrypto
- toobit
- upbit
- weex
- whitebit
- woo
- woofipro
- xt
- zaif
- zebpay
- API Spec by Prediction Exchange