Skip to content

feat(exchanges): add watchFundingRate support#27950

Merged
carlosmiei merged 10 commits intoccxt:masterfrom
Dan-krm:watchFundingRates
Feb 23, 2026
Merged

feat(exchanges): add watchFundingRate support#27950
carlosmiei merged 10 commits intoccxt:masterfrom
Dan-krm:watchFundingRates

Conversation

@Dan-krm
Copy link
Contributor

@Dan-krm Dan-krm commented Feb 20, 2026

Added watchFundingRates support to multiple exchanges:

  • bitmart
  • mexc
  • blofin
  • woo
  • paradex

bitget, binance, bybit, currently omitted because they use the same message as watchTicker/watchMarkPrice but return different data types from watchFundingRate, and I'm not sure if that's something that can be handled properly in handleMessage

},
};
const messageHashes = [];
if (Array.isArray (symbols)) {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if we want to make symbols optional, we might use Symbols: = undefined

then we should check if symbols is undefined or nto, but if it's not undefined we should assume it's an array

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On paradex you can omit the symbols argument and get a response for all of the symbols, so I decided to keep this conditional check and change the schema to use symbols: Strings = undefined

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Dan-krm yes but if you don't provide symbols then symbols will be undefined right? or an empty array, isArray indicates that the user can provide like a different type like a single symbol/string which is not correct

@carlosmiei
Copy link
Collaborator

@Dan-krm

bitget, binance, bybit, currently omitted because they use the same message as watchTicker/watchMarkPrice but return different data types from watchFundingRate, and I'm not sure if that's something that can be handled properly in handleMessage

can you please expand a little bit more here? If they have the funding rate info in the tickers stream for instance, then we can implement wathFundingRates, as long as we share the same subscriptionHash, (messageHash should be different)

@carlosmiei
Copy link
Collaborator

@Dan-krm also this method is failing can you check if it is inside exchange.go?

image

@carlosmiei carlosmiei merged commit f0107f8 into ccxt:master Feb 23, 2026
6 of 11 checks passed
@github-project-automation github-project-automation bot moved this to Done in Features Feb 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants