Unopinionated Cross-Exchange Crypto Trading Library
an unopinionated multi-language, cross-exchange crypto trading library
- guilder-abstraction defines the common traits for crypto trading. It's specs are defined in a single YAML and trait codes are auto-generated.
- As we implement trading strategies purely using these traits, we can switch to new exchange with minimal marginal effort.
- We can either auto-generate cross-language (e.g. python) FFI bindings in the future, or we can just implement them natively in different languages. Main support will be in Rust.
- Each exchange has to implement guilder-abstraction, and we use exchange-yaml models to create the client with ease. We can also implement the traits on any custom models.
component | description |
---|---|
abstraction | trading traits that abstract out each exchange |
core | key trading components built on top of guilder-abstraction |
client | exchange clients that implement the abstraction using models from exchange-collection |
- sync as default, async as feature.
- trading.yaml definition only use:
- traits
- primitive data type in Rust format, no external struct
- custom primitive enum defined in yaml, most languages doesn't support struct within enum
- custom struct defined in yaml using either primitives or enum, no nesting
- generated abstraction code only use standard libraries.
- core only use standard and networking libraries in default.
- any variants (e.g. dashmap, tokio, string-intern) should be defined with feature.
Dutch Guilder was the currency used for 500+ years across the East India Company era for trading. I hope guilder trading library will be used by a lot of people for years. It also rhymes with builder.
In order to achieve it, we should make guilder:
- support more exchanges
- keep it versatile
I keep this project opensource so that everyone can take part of it. If you want to get an exchange integrated, I can help get that up for an one-off cost in 3 weeks, just enough to pay my freelancing partner to get it done. Please contact Sho Kaneko for details.
- exchange-collection - Crypto Exchange OpenAPI and Generated Models