Wickra Exchange
September 17, 2026 · View on GitHub
Wickra Exchange — C#
▶ Live demo: all 514 indicators over real Binance market data, computed live in your browser — live.wickra.org · zero backend, powered by
wickra-wasm.
One typed API. Ten exchanges. Eight languages — for C#. dotnet add package WickraExchange — prebuilt native library, no system dependencies.
.NET bindings for wickra-exchange
over the Wickra C ABI via P/Invoke. One synchronous, pull-based API over the ten
largest crypto exchanges, plus offline paper and replay simulators that share the
same API.
Install
dotnet add package WickraExchange
The native library ships prebuilt per platform under runtimes/<rid>/native/,
selected automatically. There is nothing to compile. Targets .NET 8 and later.
Requires .NET 8+. The native library (wickra_exchange) must be resolvable on the
loader path (PATH on Windows, LD_LIBRARY_PATH on Linux, DYLD_LIBRARY_PATH on
macOS). The same strategy runs paper, replay and live by swapping the
constructor. Licensed under MIT OR Apache-2.0.
Quick start
using WickraExchange;
using System.Collections.Generic;
using var ex = Exchange.Paper(new Dictionary<string, double> { ["USDT"] = 100_000.0 },
makerBps: 0, takerBps: 5, slippageBps: 0);
ex.SetPrice("BTC/USDT", 20_000.0);
var order = ex.PlaceMarket("BTC/USDT", Side.Buy, 1.0);
Console.WriteLine(order.Status); // Filled
Console.WriteLine(ex.Balance("BTC")); // 1.0
Benchmark
Every binding forwards to the same data-driven Rust core, so what this one adds is
the call overhead of [LibraryImport] P/Invoke over the C ABI, not a different result. The core's throughput is
measured by the repository's benchmark suite and the nightly bench.yml run; the
numbers, the machine and how to reproduce them are in the repository
BENCHMARKS.md.
Documentation
The full guide, the spec reference and the API documentation live in the main repository and the documentation site:
- Repository: https://github.com/wickra-lib/wickra-exchange
- Docs (guides, spec reference, cookbook): https://exchange.wickra.org
- Runnable example:
examples/csharp/
Wickra Exchange ships native bindings for Python, Node.js, WASM and Rust, plus a C ABI hub that any
C-capable language (C, C++, C#, Go, Java, R) links against — all forwarding to the
same data-driven, unsafe-forbidden Rust core.
Security
Found a security issue? Please don't open a public issue. Report it privately
via the repository's Security tab ("Report a vulnerability") or email
support@wickra.org with a subject line starting [wickra security]. Full
policy: https://github.com/wickra-lib/wickra-exchange/blob/main/SECURITY.md.
Disclaimer
Not a trading system and not financial advice. This library connects to exchanges and can place real orders that risk real capital; any such use is entirely at your own risk. Authentication, order rounding, reconnect handling and rate limiting can fail in ways that lose money — test against testnets, use withdrawal-disabled keys, and review the code before trading. The software is provided as is, without warranty of any kind; see the license files for the full terms.
License
Licensed under either of Apache-2.0 or MIT at your option.
