Bitcoin Forum

Economy => Exchanges => Topic started by: SealTx on April 12, 2017, 10:50:01 PM



Title: Trading API's - Tell me your experiences
Post by: SealTx on April 12, 2017, 10:50:01 PM
I am wondering which trading platforms that have API's I should develop for.

  • Which API's offer trading {volume / minute} or {volume / second} metrics? If not, how accurate are the 24hr volume values (do they update accurately every second?)
  • What are typical transaction fees for the various APIs? Sell order fee, Buy order fee, Transaction Fee, Monthly fee, etc.
  • Which Trading sites with API's offer the widest alt coin coverage?
  • How fast are the actual transactions? Once I execute a transaction on a pair, how fast does it happen on average?

Any other insights? Thanks in advance!


--------------------------------------------


Here is my scratch pad:

Volume by Exchange by Day by Trading Pair (https://coinmarketcap.com/exchanges/volume/24-hour/)

Special Mentions
  • Great exchange comparison, thanks @serpens66: https://exchangewar.info/
  • https://www.cryptocoincharts.info/markets/info Nice automatically updated list with total volume and number of traded pairs
  • CryptoTrader.org is an altcoin Trading SAAS that basically is an API... you run your code in their cloud service API Docs (https://cryptotrader.org/api). It allows trading on the following exchanges: Poloniex, Bitstamp, Coinbase, Huobi, OKCoin.cn, BTC-E, CEX.IO, Bitfinex, Kraken, Quoine, Cryptsy
  • ta-lib.org Mother of all Market Analysis tools and functions
  • CryptoCompare.com has its own API which gives a lot of independent information: API (https://www.cryptocompare.com/api/)
  • Not sure whether this works, it was down when I clicked: https://coinmarketcap.com/exchanges/
  • Minkiz.co (https://minkiz.co/exchange): A list that I missed... haha... on this very board: https://bitcointalk.org/index.php?topic=777154.0
  • Not that this has anything to do with my question... but the best mining value chart I have some across is http://www.coinwarz.com/

ExchangeAPI DocsTraded Coins
CoinCheck.comAPI Docs (https://coincheck.com/documents/exchange/api)LSK, DAO, FCT, XMR, ETH, ETC
Exmo.comAPI Docs (https://exmo.com/en/api_doc)BTC, DASH, DOGE, LTC
Liqui.ioAPI Docs (https://liqui.io/apis)EDG, ETH, TIME, MLN, VSL, ICN, ROUND, WAVES, LTC, DASH, GNT, 1ST, PLU, INCNT, REP, WINGS, DCT
BitMarket.netPublic API Doc (https://www.bitmarket.net/docs.php?file=api_public.html) - Trading API (https://github.com/bitmarket-net/api)BTC, LTC
Bitsquare.ioAPI Docs (https://market.bitsquare.io/api/)GBYTE, XCP, DNET, DASH, DCR, DOGE, DMC, ESP, ETH, ETC, GRC, LBC, LSK, LTC, MAID, XMR, MT, NMC, NAV, NBT, NXT, PASC, POST, RDD, STEEM, SFSC, SDC, SC, SF, SIB, UNO, ZEC, XZC
BitBay.netPublic API (https://www.bitbay.net/public-api) - Private API (https://www.bitbay.net/account/tab-api) - API Docs on GitHub (https://github.com/BitBayNet/API)LSK, ETH, BTC, LTC
GateCoin.comAPI Docs (https://gatecoin.com/api)BTC, ETH not really alt/alt
btc-e.comAPI Docs (https://btc-e.com/api/documentation) - v3 (https://btc-e.com/api/3/docs) - Trading API (https://btc-e.com/tapi/docs)BTC, LTC, ETH, NMC, NVC, PPC, DSH,
Cex.ioAPI Docs (https://cex.io/cex-api) - Unique API'sBTC, ETH not alt/alt
ccedk.comNot sure if API available?This is a shared ledger project, can you actually trade coins on it? Anyone?
etherdelta.github.ioAPI Docs (https://github.com/etherdelta/public_api)1ST, AMIS, ARC, BME, BTC.DC, DAO, DCN, DGD, EDG, EMV, EPOSN, EPOSY, ETH, GNT, GNTM, GNTW, GUP, HKG, ICN, MKR, MLN, NXC, P+, PLU, REP, RHOC, SNGLS, SWT, TIG, TIME, USD.DC, VSL, XAUR
Bittrex.comAPI Docs (https://bittrex.com/Home/Api)18 coins, the usual suspects
CoinFloor.co.ukAPI Docs (https://www.coinfloor.co.uk/api) - GitHub (https://github.com/coinfloor/API)    ???
c-cex.comAPI Docs (https://c-cex.com/?id=api)Claims 196 CryptoCurrencies... okay?!
kraken.ioAPI Docs (https://www.kraken.com/help/api) - Quick Start (https://support.kraken.com/hc/en-us/sections/200973757-Trading-API)DASH, ETC, ETH, ICN, LTC, MLN, REP, XBT, XDG, XLM, XMR, XRP, ZEC
Cryptopia.co.nzAPI Docs (https://www.cryptopia.co.nz/api/)$$$, 1337, 42, 808, 888, 8BIT, AC, ACOIN, ACP, ADC, AGA, ALEX, ALL, ALT, AMBER, AMP, ANI, ANTI, ARC, ARCO, ARG, ARGUS, ARI, ARK, ATOM, AU, AUR, B@, B3, BAT, BBR, BCF, BCN, BEEZ, BENJI, BERN, BEST, BGR, BIC, BIP, BIRD, BITB, BLC, BLK, BLZ, BNX, BOB, BOLI, BOSON, BRG, BSD, BSTY, BTA, BTB, BTCD, BTCS, BTG, BUCKS, BUMBA, BUN, BVB, BVC, BXC, CAGE, CANN, CAP, CAR, CAT, CBD, CBX, CC, CCB, CCN, CDC, CDN, CFC, CHAO, CHC, CHESS, CHIEF, CIR, CJ, CLAM, CLOAK, CMT, CNO, COAL, CON, CORG, CPN, CQST, CRBIT, CRX, CSC, CST, CUBE, CV2, DARK, DASH, DBIC, DCR, DEM, DGB, DGC, DIME, DIRTY, DON, DOT, DSH, DUCK, DUO, EBG, EC, ECO, EDC, EDRC, EFL, EGC, ELC, ELP, ELS, EMB, EMC, EMD, EPC, EQT, ERSO, ERY, ETC, EUC, EVIL, EVO, EXP, FAME, FCN, FCT, FFC, FJC, FLAX, FLN, FLT, FONZ, FOOT, FRC, FRN, FRY, FST, FTC, FTCC, FUNK, FUZZ, GAIA, GAME, GAP, GAY, GBN, GBYTE, GCN, GDC, GEERT, GEO, GLD, GP, GPL, GPU, GRN, GRS, GRW, GUN, GXG, HAL, HBN, HXX, HYP, I0C, ICB, ICOB, IEC, IFC, IMPCH, IMS, IN, INCNT, INFX, IRL, ITI, IW, IXC, JANE, KASH, KAYI, KDC, KED, KMD, KOBO, KRB, KUMA, KURT, KUSH, LANA, LBC, LDC, LDOGE, LEA, LEAF, LEMON, LEO, LEPEN, LFTC, LIT, LOOK, LOT, LTB, LYC, MAC, MAID, MAR, MARS, MARX, MBIT, MCC, MCL, MCRN, MEC, MEOW, MER, MINT, MLITE, MLNC, MNM, MOIN, MOJO, MOTO, MRSA, MST, MTLMC, MUE, MUSIC, MZC, NAV, NET, NETKO, NEVA, NKA, NMC, NOTE, NSR, NTC, NTRN, NVC, NXS, NYAN, OFF, OK, OOO, OPAL, ORB, ORO, OSC, OZC, PAC, PAK, PASC, PASL, PCC, PENG, PFC, PHO, PHS, PIGGY, PIVX, PLC, PND, POP, POST, POSW, POT, PPC, PR, PTC, PUT, PXC, PXI, Q2C, QBT, QRK, QTL, RBBT, RBT, RBX, RBY, RC, RDD, RED, RNS, RPC, SAFEX, SAK, SBC, SC, SCD, SCORE, SEL, SFC, SHA, SHND, SIB, SJW, SKC, SKR, SLG, SLOTH, SMC, SMLY, SONG, SOON, SPACE, SPN, SPRTS, SPT, SQL, START, STC, STRAT, STV, STX, SWING, SXC, SYNX, TAJ, TEK, TES, TGC, TIC, TIT, TOP, TRADE, TRBO, TRC, TRI, TRK, TRUMP, TSE, TTC, TTY, TX, UBQ, UIS, UMO, UNB, UNIC, UNITS, UNO, UR, USNBT, UTC, V, VCC, VIDZ, VISIO, VPRC, VRC, VRM, WAVES, WBB, WDC, WRC, WSX, WW, XBC, XBTS, XCI, XCRE, XCT, XDC, XGR, XJO, XLR, XMG, XMR, XMY, XPD, XPM, XRA, XRE, XSPEC, XVG, XVI, XZC, YOVI, ZCL, ZDASH, ZEC, ZEIT, ZER, ZET, ZOI, ZSE
Yunbi.comAPI Docs (https://yunbi.com/documents/api/guide)BTC, ETH, ZEC, DGD, 1SŦ, REP, SC, ZMC, GNT, BTS, ANS, ETC
Poloniex.comAPI Docs (https://poloniex.com/support/api/)ETH, LTC, DASH, XRP, XMR, POT, ETC, ZEC, STRAT, BELA, GNT, FCT, CLAM, MAID, DOGE, XEM, DCR, DGB, GAME, VTC, STR, RADS, SC, BTS, SDC, REP, NEOS, NXT, RBY, STEEM, NAUT, LBC, LSK, PASC, SYS, VIA, BCY, PINK, XBC, BURST, BCN, EMC2, NXC, C2, AMP, BTM, ARDR, XCP, VOX, NAV, XVC, SJCX, XMG, EXP, HUC, XPM, BBR, NOBL, BLK, PPC, CURE, FLO, BTCD, UNITY, VRC, FLDC, QORA, NSR, BITS, NMC, QTL, RIC, NOTE, OMNI, IOC, GRC, MYR, SBD, HZ, QBK
LiveCoin.netAPI Docs (https://www.livecoin.net/api)See pairs here (https://www.livecoin.net/en/trade/orderbook)
bter.comAPI Docs (https://bter.com/api)ETC, ETH, DASH, ZEC, XMR, MG, DOGE, LTC, BTRX, XEM, CNC, NXT, BTS, REP, XCP, XTC, XCN, FTC, HKG, NMC, PPC, QTUM, XPM
Hitbtc.comAPI Docs (https://hitbtc.com/api)XMR, ZEC, DASH, ETH, LTC, XDN, BCN, FCN, DSH, XEM, BTU, DOGE, MAID, SC, LSK, NXT, QCN, EMC, SBD, AMP, WAVES, STEEM, ARDR
BitStamp.netAPI Docs (https://www.bitstamp.net/api/) - Web Socket Docs (https://www.bitstamp.net/websocket/)   BTC, XRP
CoinBase.comAPI Docs (https://developers.coinbase.com/)Seems like a Fiat/Crypto exchange, not alt/alt
https://www.huobi.com/?lang=enAPI Docs (https://github.com/huobiapi/API_Docs/wiki)BTC, LTC not alt/alt
OKCoin.cnAPI Docs (https://www.okcoin.cn/rest_getStarted.html)not alt/alt
BitFinEx.comAPI Docs (http://docs.bitfinex.com/docs)BTC, ETH, USDT, LTC, DASH, ETC, XMR, ZEC
Quoinex.comAPI Docs (http://www.quoine.com/api)Lots of Fiat, not alt/alt
N/AAPI Docs (https://)  


Notes:
Polonix - nicest exchange layout
Kraken - well made
etherdelta.github.io - most amazing implementation\
cex.io - interesting api options










Title: Re: Trading API's - Tell me your experiences
Post by: Serpens66 on April 13, 2017, 02:24:45 AM
Before thinking about developing anything for crypto trading, you should trade yourself.
It is important to know how everything works manually, before you try to automate anything.
After that, you can answer most of your questions yourself ;)

Only fee on crypto exchanges are trading fee (percentage fee for every trade) and deposit/withdrawal fee (always different from exchange to exchange and currency).
There is no monthly or API fee.

Altcoin exchanges I know (dont know many):
Poloniex and Bittrex

Nearly every crypto exchange offers at least REST API.

An order is usually executed within miliseconds. But it could also take several seconds or timeout when exchange is under heavy load/DDOS or anything.


Title: Re: Trading API's - Tell me your experiences
Post by: SealTx on April 13, 2017, 03:41:11 PM
Thanks @Serpens66, I know that it might not be wise to trade fast, first... but I am a programmer, and API's are sort of the way I interact best with anything ;).

...and thanks for your input on how most exchanges work.


Title: Re: Trading API's - Tell me your experiences
Post by: pooya87 on April 14, 2017, 04:12:57 AM
poloniex has very nice options in their API, specially because they offer charts data (OHLC points) which makes the bots that much better and without needing the exchange. also they offer sockets which is a nice feature to get live data and don't have to update manually.

sadly i trade on bittrex and they don't have this two :)

Presented here in order of "star power" from above link in April 2017
what is "star power" and why is your list sorted with the least knows sites on top?


Title: Re: Trading API's - Tell me your experiences
Post by: SealTx on April 14, 2017, 04:58:12 AM
poloniex has very nice options in their API, specially because they offer charts data (OHLC points) which makes the bots that much better and without needing the exchange. also they offer sockets which is a nice feature to get live data and don't have to update manually.

Yes, I really liked Polonix as well. Also Cex.io has sockets.

what is "star power" and why is your list sorted with the least knows sites on top?

Lol, I started with a list from here: https://www.cryptocompare.com/exchanges/#/crypto

...which explains the weird order. I do not know anything about these exchanges.

This basically answers the popularity question (and possibly all my other questions indirectly):

https://coinmarketcap.com/exchanges/volume/24-hour/


Title: Re: Trading API's - Tell me your experiences
Post by: Serpens66 on April 14, 2017, 11:19:42 AM
another side for exchanges, sorted by trading volume by default (you can change sorting):
https://exchangewar.info/

Better ignore any exchange that does not offer USD and or EUR (or altcointrading). And ignore Quoine.

Poloniex socket does only support "Autobahn" at the moment. For me this autobahn stuff is too complicated, I use ws4py python module for websockets, but this does not work for poloniex =/


Title: Re: Trading API's - Tell me your experiences
Post by: carap on April 14, 2017, 02:25:05 PM
SealTx, I'm also a programmer and I spent some time speculating about volume per some custom period of time.
24h-Volume is not really practical, some strategies require details about hourly and 5-10-30min volumes.

So, the only working method I came up with is by analyzing the trading history on a particular exchange. Like every minute you send a request to receive all the executed orders for the past minute and you sync them with some local database.


Title: Re: Trading API's - Tell me your experiences
Post by: SealTx on April 14, 2017, 06:25:05 PM
SealTx, I'm also a programmer and I spent some time speculating about volume per some custom period of time.
24h-Volume is not really practical, some strategies require details about hourly and 5-10-30min volumes.

So, the only working method I came up with is by analyzing the trading history on a particular exchange. Like every minute you send a request to receive all the executed orders for the past minute and you sync them with some local database.

hahah... yes! I was just working on this. It seems to be a major lack, but also an easy number to get. I figured I could even sell subscriptions to a volume API or socket.

I was just going to look at transactions per blockchain on the top 20 to 100 capitalized networks... but I am doing a little more research first. To be honest, I cannot believe this does not yet exist!

edited to add: I guess a lot of the transactions never show up in the block chains if the exchange has sufficient liquidity in the various currencies... which is why you mentioned looking at exchange trading history and not transactions on the blockchains themselves?


Title: Re: Trading API's - Tell me your experiences
Post by: SealTx on April 14, 2017, 06:38:43 PM
another side for exchanges, sorted by trading volume by default (you can change sorting):
https://exchangewar.info/

Better ignore any exchange that does not offer USD and or EUR (or altcointrading). And ignore Quoine.

Ah... this is fantastic. The addition of the fees is something I was really looking for.

Poloniex socket does only support "Autobahn" at the moment. For me this autobahn stuff is too complicated, I use ws4py python module for websockets, but this does not work for poloniex =/

Hmmm... I really don't know either. Right now I am just trying to get my head around all that is currently available. Its staggering really. There must be a lot of money to be made... which makes it fun :)


Title: Re: Trading API's - Tell me your experiences
Post by: carap on April 16, 2017, 06:49:09 AM
Quote
hahah... yes! I was just working on this. It seems to be a major lack, but also an easy number to get. I figured I could even sell subscriptions to a volume API or socket.
Not that easy, some exchanges simply ban you IP after you make more than some allowed number of request. Or they might cause you delays, during which you miss a lot of transactions with no chance to recover them.


Quote
I was just going to look at transactions per blockchain on the top 20 to 100 capitalized networks... but I am doing a little more research first. To be honest, I cannot believe this does not yet exist!

edited to add: I guess a lot of the transactions never show up in the block chains if the exchange has sufficient liquidity in the various currencies... which is why you mentioned looking at exchange trading history and not transactions on the blockchains themselves?
Most of transactions will never be shown in any chain!
You are a programmer, think of an exchange as of separate arrays of balances (with separate cell for each currency) for each user and exchange itself. Executed order means that a value in some cell of an array of one user become smaller and another cell of an array of a different user become bigger. That happen thousands times every minute and there is absolutely no need to fix it in the public chain. New record in the official chain occurs only when someone withdraws funds from exchange to their wallet, or when someone transfers money to the exchange (in order to top-up his cell in the array of balances).  


Title: Re: Trading API's - Tell me your experiences
Post by: BrewMaster on April 16, 2017, 04:12:52 PM
SealTx, I'm also a programmer and I spent some time speculating about volume per some custom period of time.
24h-Volume is not really practical, some strategies require details about hourly and 5-10-30min volumes.

So, the only working method I came up with is by analyzing the trading history on a particular exchange. Like every minute you send a request to receive all the executed orders for the past minute and you sync them with some local database.

poloniex gives you 5, 15, 30min 2 hours and 1 day charts (OHLC point) and in that you can get the prices and their volume and that is enough for analysis, isn't it?

Quote
hahah... yes! I was just working on this. It seems to be a major lack, but also an easy number to get. I figured I could even sell subscriptions to a volume API or socket.
Not that easy, some exchanges simply ban you IP after you make more than some allowed number of request. Or they might cause you delays, during which you miss a lot of transactions with no chance to recover them.
that limit is not really that bad. it is there to prevent DDoS attacks or someone unknowingly making a huge amount of requests on an infinite loop :)
and if you are a developer and use the API a lot you can always contact the exchange service and ask them to remove/improve your limitations.


Title: Re: Trading API's - Tell me your experiences
Post by: carap on April 17, 2017, 08:44:15 AM
poloniex gives you 5, 15, 30min 2 hours and 1 day charts (OHLC point) and in that you can get the prices and their volume and that is enough for analysis, isn't it?

Not at all for 2 reasons:
1. I prefer trading against fiat and for that reason poloniex is not my favorite exchange.
2. I want to automate my trades, and implementing  some sort of graphical analysis over chart displayed by poloniex in the web browser is not a good start (not stable and quite resource consuming).

that limit is not really that bad. it is there to prevent DDoS attacks or someone unknowingly making a huge amount of requests on an infinite loop :)
and if you are a developer and use the API a lot you can always contact the exchange service and ask them to remove/improve your limitations.
Limits are for purpose, that's true. But, when you work politely, request public API like a ticker every 5-30 minutes and still, after some point your application stops working because the limits for unsuccessful retries has been exceeded - that doesn't look like measures against potential DDoS. I tried to contact support of that exchange (quite popular one) and my ticket (and reminding message) is still unanswered for already more than half a year! I already found my work around long time ago, but that required additional time and thinking...


Title: Re: Trading API's - Tell me your experiences
Post by: arunka71 on April 18, 2017, 12:54:03 AM
You want to do technical trading or arb?

What language do you want to use?


Title: Re: Trading API's - Tell me your experiences
Post by: SealTx on April 20, 2017, 07:56:01 PM
@carap, thanks for your insight... very useful.

You want to do technical trading or arb?

What language do you want to use?


I was thinking technical since (to me) it is the easiest to automate.

Language... any js based framework, I was going to use node, but not sure if there is a better option depending on the services involved.


Title: Re: Trading API's - Tell me your experiences
Post by: arunka71 on April 21, 2017, 07:09:46 PM
Ok, JS is not my language of choice, but maybe we could collaborate on technical trading algorithms? I'd like to expand my collection of bots into this direction anyway.


Title: Re: Trading API's - Tell me your experiences
Post by: SealTx on May 24, 2017, 05:10:57 AM
@arunka71

Sorry, I bailed on this thread... In the mean time I built and ethereum miner and started trading crypto like crazy.

I am still interested in writing some trading scripts.

1) what exchanges do you like? I now use BTC-e, Novaexchange, cryptopia and a few tiny ones (I have spent no time working with API's as I have been trying to learn everything...)

2) If not js, what do you like to program in? I have a heavy PHP background (Magento mostly).


Title: Re: Trading API's - Tell me your experiences
Post by: arunka71 on May 25, 2017, 01:45:15 AM
Hi!

Almost forgot about this thread...  :-[

I use mainky Java atm, but started some C(++) code and thinking about verilog.
These days I implemented CryptoDao and tradeSatoshi, but I can't get any withdraw fees. Not sure, if these exchanges are a scam.
Novaexchange is also on my list and btc-e was the first exchange I wrote code for.
But know I think, this whole REST stuff is waaayyyy too slow. Want to write faster bots.


Title: Re: Trading API's - Tell me your experiences
Post by: SealTx on June 01, 2017, 06:00:11 AM
I am writing my first analyzer against coinmarketcap.com right now. I realize this data is iffy / slow, but the coin market is so big that trading in a single exchange is impossible at the moment.

I am writing against the Novaexchange API as well.

REST vs sockets (or native transactions): as far as I can tell, the algo's I want to write (my first, so forgive me if I am naive) will be fine with REST speeds. As a matter of fact I assume a lot of my trades will be across exchanges and require manual trading. I need the algo just to give me the tips I am looking for.

C(++) / Verilog: Hahaha... what? Are you planning to implement this trading software within mining implementations or something? I mean, even writing in C seems like maybe you are expecting to execute trades on a system which syncs multiple blockchains in containers on the same server, or at least in the local network? If this is the case, you are definitely an order of magnitude above what I am doing.

Sounds really cool, though!


Title: Re: Trading API's - Tell me your experiences
Post by: arunka71 on June 01, 2017, 12:20:28 PM
Ok, you want to do technical trading. So REST speed might be fine for you. Also have to complete my nova implementation.


Title: Re: Trading API's - Tell me your experiences
Post by: bigchief on September 15, 2017, 11:43:13 PM
Quick question to this thread: would it be beneficial for the algo traders if there was a service that streamlined all the various exchanges into a single uniform API interface?

Is this something that developers and companies will be willing to pay for?


Title: Re: Trading API's - Tell me your experiences
Post by: arunka71 on September 17, 2017, 01:53:39 AM
There are already some libs for this purpose?


Title: Re: Trading API's - Tell me your experiences
Post by: huadaonan on September 18, 2017, 06:55:08 AM
that's great .thanks a lot~


Title: Re: Trading API's - Tell me your experiences
Post by: nezero on September 25, 2017, 10:28:21 AM
Have you guys managed to get much history for a market from Nova?

Code:
/remote/v2/market/orderhistory/<market>/

Doesn't appear to be very deep, with Bittrex I've managed to get a much better history. Just wandered if any had managed to so with Nova.