Comments (14)
Meep. Looks like SOME of the exchanges have
fetchFundingFee
implemented, but only half the ones I use do so I still have to write it myself for most.
@devsi yep, this is a long story, and if you want to understand it to its full extent, please, go through these posts:
Let me know if you have questions after that.
In short, you're right, and funding fees are not unified yet. We are making progress towards the following generalization:
- trading fees:
- fetchTradingFee (symbol)
- fetchTradingFees (symbols = undefined)
- loadTradingFees
- loadFees
- funding fees (include both withdrawal and deposit fees, as some exchange have deposit fees)
- fetchFundingFee (code)
- fetchFundingFees (codes = undefined)
- loadFundingFees
- loadFees
Apart from trading and funding fees the exchanges implement all sorts of trading and funding limits.
βΒ The above should be tied with loadMarkets (which also requires resolving the calls for fetchMarkets
and fetchCurrencies
in proper order) and loadMarketsAndCurrencies
+ loadFees
+ loadLimits
= load()
...
from ccxt.
Yeah, thanks for writing us! We're working on it right now! We call that a Unified API, and it is being developed right as I write this to you ) Currently, we have unified tickers and order books, but balances, orders and fees are not unified yet. There's also a similar issue here about balance unification. We're going to finish balance unification in a few days and then we will unify the fees, that would take a few days as well. So, stay in touch for updates, your request will soon be satisfied. )
from ccxt.
We have just unified the balance API, as written in #36, and now we're coming up for orders and fees! )
from ccxt.
What about withdrawl fee? Are JS library more fresh than python?
I not digged deep, but as I understand only binance have withdrawal fees in python.
from ccxt.
@munrocket this is currently under heavy development, namely trading and funding fees + orders API, deposits and withdrawals. Hope to deliver soon. Your PRs are welcome!
from ccxt.
@kroitor Can I just PR in python project or I need to change JS file?
from ccxt.
@munrocket please, make sure to read this first: https://github.com/ccxt-dev/ccxt/blob/master/CONTRIBUTING.md. Thx!
from ccxt.
Are you still working on this issue? If so, how are you tackling it? Hardcoding? Scraping? Iβd like to to try to help.
Thanks.
from ccxt.
Hardcoding? Scraping?
We have to do both )
Most of the work on it is now going on here: #553
We're now unifying fetchCurrencies() for scraping because we believe the withdrawal fee should be a property of the currency/account. So, we're adding a special entity for currency, and the .currencies
property on the Exchange is now an assoc array of such entities.
The plan is: I'm going to merge the above PR in a couple of days and will also rework/unify the structure of the currency entity, and from there we will need to add implementations of fetchCurrencies to as many exchanges as possible (where supported, of course).
Your contributions are welcome, we appreciate all help, I will notify you as soon as that PR is merged. There's also a lot of room for contributions to other aspects of the library as well, more about it here: https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md
Because currencies and their properties are involved in many places of the library, this is also related to the recently started rework of the deposit API by @Deathamns , here:
- https://github.com/ccxt/ccxt/search?q=fetchDepositAddress&type=Commits
- https://github.com/ccxt/ccxt/search?q=fetchDepositAddress&type=Issues
So, this is the current status. A breakthrough on this is coming in a few days. Let us know if you have any questions. Thx!
from ccxt.
@toothlessG22 this is also an important part of the whole story: #473
from ccxt.
@kroitor Thanks for the info! Looking forward to the merge.
from ccxt.
Now that a lot of work has been done to target this issue and many exchanges already have withdrawal fees defined, I think we can close it for now and start adding exchange-specific issues and pull-requests, if any. Feel free to reopen it if need, fees
will also be documented in the Manual very soon. Cheers!
from ccxt.
Necro thread!
@kroitor I see many exchanges have implemented their custom endpoints to return withdrawal fees, but there is no unified way to retrieve these fees. (from what I can see?)
I have had to write overriding classes for 9 exchanges in my project as each exchange handles retrieving the withdrawal fee differently. (trade fees are hardcoded so I can use them as most exchanges supply that).
from ccxt.
Meep. Looks like SOME of the exchanges have fetchFundingFee
implemented, but only half the ones I use do so I still have to write it myself for most.
fetchFundingFee
confused me as I assumed it was purely a fee for crediting your account with a balance.
from ccxt.
Related Issues (20)
- js examples will not work HOT 6
- Kucoin Pro: watchMyTrades is leaking trades when getting new updates (+ fix) HOT 1
- Contract size in trade history HOT 8
- Bybit - marginMode key not defined in position response. HOT 5
- Okx - Fix WS orderbook limit HOT 1
- Temporally wrong balances fetched on OKX (now solved) HOT 1
- How to kill/unsubscribe all/all_by_id websocket connections for ws methods in ccxt.pro? HOT 2
- Bitget: WatchBalance error, C# HOT 3
- Bitget: WatchBalance result, C# HOT 2
- too slow It takes 7 seconds for checking price HOT 2
- Kucoin: fetchBalance doesn't return the balances with marginMode cross HOT 6
- delete please
- Kucoin doesn't work with the watch_order_book socket. HOT 2
- asyncio.exceptions.InvalidState error HOT 8
- Add CancellationToken for methods C#
- Binance Testnet - orders expired for a longer time before they get filled HOT 2
- Bitget watchorderbook bug - invalid checksum when watch_order_book HOT 15
- LoadMarkets problem for Bitget/Kraken C# HOT 3
- Exchange.Close does not close PingLoop. C# HOT 4
- binance fetch_account_positions filters out zero maintenanceMargin positions HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ccxt.