Skip to content

Commit 5b9fcab

Browse files
committed
Updated to version 4.2.0
1 parent 0bd0747 commit 5b9fcab

8 files changed

Lines changed: 47 additions & 8 deletions

File tree

.cursor/rules/bingx-net.mdc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,8 @@ var ticker = await shared.GetSpotTickerAsync(
8181

8282
Same pattern works against other CryptoExchange.Net libraries such as Binance.Net, OKX.Net, and Bybit.Net.
8383

84+
In 4.2.0, successful shared symbol retrieval populates `ISpotSymbolRestClient.SpotSymbolCatalog` and `IFuturesSymbolRestClient.FuturesSymbolCatalog`. Shared symbol queries honor `GetSymbolsRequest` filters and include display names and asset type/subtype metadata, including fiat/stablecoin spot assets and equity/commodity perpetual bases.
85+
8486
## Hard rules
8587

8688
- Never write raw `HttpClient` to BingX endpoints.
@@ -99,4 +101,3 @@ Same pattern works against other CryptoExchange.Net libraries such as Binance.Ne
99101
- Skill: `AGENTS.md` in repo root has fuller examples
100102
- `llms.txt` in repo root for AI context
101103
- Examples: `Examples/ai-friendly/`
102-

.github/copilot-instructions.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,8 @@ Store the returned `UpdateSubscription` and unsubscribe on shutdown via `socketC
5454

5555
For code that needs to work across multiple exchanges, use `CryptoExchange.Net.SharedApis` interfaces (`ISpotTickerRestClient`, `ISpotOrderRestClient`, etc.) accessed via `.SharedClient` properties.
5656

57+
Successful shared spot and perpetual symbol retrieval populates `SpotSymbolCatalog` / `FuturesSymbolCatalog`. These symbol queries honor `GetSymbolsRequest` filters and return display names plus asset type metadata; preserve that metadata instead of reclassifying symbols from their names in application code.
58+
5759
## Avoid
5860

5961
- Raw `HttpClient` calls to BingX endpoints
@@ -67,4 +69,3 @@ For code that needs to work across multiple exchanges, use `CryptoExchange.Net.S
6769
## Reference
6870

6971
For detailed patterns and pitfalls see `AGENTS.md`, `llms.txt`, `docs/ai-api-map.md`, and `Examples/ai-friendly/`.
70-

AGENTS.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,8 @@ var symbol = new SharedSymbol(TradingMode.Spot, "BTC", "USDT");
143143
var ticker = await bingXShared.GetSpotTickerAsync(new GetTickerRequest(symbol));
144144
```
145145

146+
In 4.2.0, successful shared symbol retrieval populates the `SpotSymbolCatalog` / `FuturesSymbolCatalog` properties. `GetSpotSymbolsAsync` and `GetFuturesSymbolsAsync` honor `GetSymbolsRequest` filters and return display names plus asset type metadata. Spot EUR/USD assets are marked as fiat and stablecoins use the stablecoin subtype; perpetual `NCSK...` bases are marked as equities, `NCCO...` bases as commodities, and other bases as crypto.
147+
146148
## Dependency Injection
147149

148150
```csharp

BingX.Net/BingX.Net.csproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@
77
<PropertyGroup>
88
<PackageId>JK.BingX.Net</PackageId>
99
<Authors>JKorf</Authors>
10-
<PackageVersion>4.1.1</PackageVersion>
11-
<AssemblyVersion>4.1.1</AssemblyVersion>
12-
<FileVersion>4.1.1</FileVersion>
10+
<PackageVersion>4.2.0</PackageVersion>
11+
<AssemblyVersion>4.2.0</AssemblyVersion>
12+
<FileVersion>4.2.0</FileVersion>
1313
<Description>A high-performance .NET client library for the BingX REST and WebSocket APIs, providing strongly typed models, automatic WebSocket reconnection, client-side rate limiting, local order book support, and seamless integration with other CryptoExchange.Net based clients.</Description>
1414
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>
1515
<PackageTags>BingX;BingX.Net;BingX.com;BingX Client;BingX API;CryptoCurrency;CryptoCurrency Exchange;CryptoExchange.Net;ccxt</PackageTags>

README.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,15 @@ Make a one time donation in a crypto currency of your choice. If you prefer to d
186186
Alternatively, sponsor me on Github using [Github Sponsors](https://github.com/sponsors/JKorf).
187187

188188
## Release notes
189+
* Version 4.2.0 - 21 Jul 2026
190+
* Updated CryptoExchange.Net to v12.2.0
191+
* Added SpotSymbolCatalog to Shared ISpotSymbolRestClient interface
192+
* Added FuturesSymbolCatalog to Shared IFuturesSymbolRestClient interface
193+
* Added BaseAssetType, BaseAssetSubType, QuoteAssetType and QuoteAssetSubType to GetSymbolsRequest model
194+
* Added DisplayName to SharedSpotSymbol and SharedFuturesSymbol models
195+
* Added BaseAssetType, BaseAssetSubType, QuoteAssetType and QuoteAssetSubType to SharedSpotSymbol and SharedFuturesSymbol models
196+
* Added DebuggerDisplay attributes to Shared models
197+
189198
* Version 4.1.1 - 13 Jul 2026
190199
* Fixed exception during authentication when retrying requests
191200

docs/ai-api-map.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,10 @@ BingX.Net examples should use hyphenated symbols such as `BTC-USDT` and `ETH-USD
173173
| Shared spot socket client | `new BingXSocketClient().SpotApi.SharedClient` |
174174
| Shared perpetual futures socket client | `new BingXSocketClient().PerpetualFuturesApi.SharedClient` |
175175
| Discover shared capabilities | `client.SpotApi.SharedClient.Discover()` / `client.PerpetualFuturesApi.SharedClient.Discover()` |
176+
| Get filtered shared spot symbols | `ISpotSymbolRestClient.GetSpotSymbolsAsync(new GetSymbolsRequest(...))` |
177+
| Read shared spot symbol catalog | `ISpotSymbolRestClient.SpotSymbolCatalog` |
178+
| Get filtered shared futures symbols | `IFuturesSymbolRestClient.GetFuturesSymbolsAsync(new GetSymbolsRequest(...))` |
179+
| Read shared futures symbol catalog | `IFuturesSymbolRestClient.FuturesSymbolCatalog` |
176180
| Shared spot ticker REST | `ISpotTickerRestClient.GetSpotTickerAsync(new GetTickerRequest(symbol))` |
177181
| Shared spot order REST | `ISpotOrderRestClient.PlaceSpotOrderAsync(...)` |
178182
| Shared futures order REST | `IFuturesOrderRestClient.PlaceFuturesOrderAsync(...)` |
@@ -181,6 +185,8 @@ BingX.Net examples should use hyphenated symbols such as `BTC-USDT` and `ETH-USD
181185

182186
Shared REST calls return `HttpResult<T>` / `HttpResult`. Shared socket subscriptions return `WebSocketResult<UpdateSubscription>`. Shared non-I/O symbol/cache helpers such as symbol support checks return `ExchangeCallResult<T>`.
183187

188+
Successful shared spot and futures symbol retrieval populates the corresponding catalog. Results include display names and asset type/subtype metadata: spot EUR/USD assets are fiat and known stablecoins carry the stablecoin subtype; perpetual `NCSK...` bases are TradFi equities, `NCCO...` bases are TradFi commodities, and other bases are crypto.
189+
184190
For shared socket subscriptions, keep the concrete socket client and unsubscribe with `await socketClient.UnsubscribeAsync(subscription.Data)`.
185191

186192
## Result Handling

llms-full.txt

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44

55
BingX.Net is a strongly typed .NET client library for the BingX REST and WebSocket APIs. It is part of the CryptoExchange.Net ecosystem and uses the same result, shared API, logging, rate limiting, and socket patterns as the other JKorf exchange libraries.
66

7-
Current package version in this repository: 3.11.1.
8-
CryptoExchange.Net dependency: 11.1.0.
7+
Current package version in this repository: 4.2.0.
8+
CryptoExchange.Net dependency: 12.2.0.
99
Target frameworks: netstandard2.0, netstandard2.1, net8.0, net9.0, net10.0.
1010
Native AOT: supported on compatible .NET targets.
1111

@@ -377,6 +377,24 @@ if (!ticker.Success)
377377
Console.WriteLine(ticker.Data.LastPrice);
378378
```
379379

380+
Successful shared symbol retrieval populates the corresponding catalog and returns classified asset metadata:
381+
382+
```csharp
383+
ISpotSymbolRestClient spotSymbols = new BingXRestClient().SpotApi.SharedClient;
384+
var symbols = await spotSymbols.GetSpotSymbolsAsync(new GetSymbolsRequest());
385+
if (!symbols.Success)
386+
{
387+
Console.WriteLine(symbols.Error);
388+
return;
389+
}
390+
391+
var catalog = spotSymbols.SpotSymbolCatalog;
392+
var first = symbols.Data.First();
393+
Console.WriteLine($"{first.DisplayName}: {first.BaseAssetType}/{first.BaseAssetSubType}");
394+
```
395+
396+
`GetSpotSymbolsAsync` and `GetFuturesSymbolsAsync` honor `GetSymbolsRequest` filters. Spot symbols classify EUR/USD as fiat and known stablecoins with `SharedAssetSubType.StableCoin`. Perpetual futures classify `NCSK...` base assets as TradFi equities, `NCCO...` bases as TradFi commodities, other bases as crypto, and quote assets as crypto with stablecoin subtype metadata when applicable. The equivalent futures catalog is `IFuturesSymbolRestClient.FuturesSymbolCatalog`.
397+
380398
Shared WebSocket subscriptions return an `UpdateSubscription` in `.Data`. For shared interface variables, unsubscribe through the concrete socket client:
381399

382400
```csharp

llms.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,12 @@
22

33
> Strongly typed .NET client library for the BingX REST and WebSocket APIs. Supports Spot, Perpetual Futures, sub-account endpoints, account management, market data, and order placement. Part of the CryptoExchange.Net ecosystem providing a unified abstraction across cryptocurrency exchanges.
44

5-
BingX.Net provides strongly typed public and private endpoints, automatic WebSocket reconnection, comprehensive error handling via the `HttpResult<T>` / `WebSocketResult<T>` pattern, native AOT support, local order book support, and SharedApis integration for exchange-agnostic code. Current package version in this repository: 3.11.1. Targets netstandard2.0, netstandard2.1, net8.0, net9.0, net10.0.
5+
BingX.Net provides strongly typed public and private endpoints, automatic WebSocket reconnection, comprehensive error handling via the `HttpResult<T>` / `WebSocketResult<T>` pattern, native AOT support, local order book support, and SharedApis integration for exchange-agnostic code. Current package version in this repository: 4.2.0. Targets netstandard2.0, netstandard2.1, net8.0, net9.0, net10.0.
66

77
REST methods return `HttpResult<T>` / `HttpResult`, WebSocket subscriptions return `WebSocketResult<UpdateSubscription>`, and shared symbol/cache helpers return `ExchangeCallResult<T>`. Call `SharedClient.Discover()` to inspect supported shared features before routing optional multi-exchange functionality.
88

9+
Successful shared spot and perpetual futures symbol retrieval populates their symbol catalogs. These symbol queries honor `GetSymbolsRequest` filters and return display names plus crypto, fiat, stablecoin, equity, or commodity asset metadata where BingX supplies enough information.
10+
911
## Documentation
1012

1113
- [README](https://github.com/JKorf/BingX.Net/blob/master/README.md): Overview, installation, supported features, basic usage examples, release notes

0 commit comments

Comments
 (0)