kraken_rest_client

Crates.iokraken_rest_client
lib.rskraken_rest_client
version0.26.0
sourcesrc
created_at2023-08-14 08:25:44.537915
updated_at2024-07-10 17:41:42.529932
descriptionA strongly-typed client for the Kraken REST API
homepage
repositoryhttps://github.com/gmosx/kraken-sdk-rust/tree/main/kraken_sdk_rest
max_upload_size
id943950
size106,207
George Moschovitis (gmosx)

documentation

README

Kraken REST API Client

A strongly-typed Rust SDK for the Kraken REST API.

This crate is an unofficial, community-driven effort.

Installation

[dependencies]
kraken_rest_client = "0.26"

Usage

use kraken_rest_client::{Client, PairName, OrderSide};

let client = Client::new(
    "YOUR-API-KEY",
    "YOUR_API-SECRET",
);

let resp = client.get_server_time().send().await?;

println!("{}", resp.unixtime);

let pair = PairName::from("BTC", "USD");
let req = client.get_ohlc_data(&pair).interval(Interval::Day1);
let resp = req.send().await;

println!("{:?}", resp);

let pair = "XXRPZUSD";
let resp = client
    .add_limit_order(pair, OrderSide::Buy, "20", "0.10")
    .expire_after(60 * 60)
    .userref(123)
    .validate_only()
    .send()
    .await?;

println!("{:?}", resp);

let resp = client.cancel_order("O6CIT1-NABRS-TMVZ1X").send().await?;

println!("{}", resp.count);

FAQ

Why provide both execute and send methods for API endpoint handlers?

Providing the lower-level execute method allows for more flexibility. Since execute is generic you can pass any type of object to deserialize the response to, e.g. you could deserialize to a HashMap instead of the 'default' response for each API call. Or you could use a custom struct with only the fields you are interested in.

Status

The software is under active development and the API is expected to change.

Contributing

Pull requests, issues and comments are welcome! Make sure to add tests for new features and bug fixes.

License

This work is licensed under the Apache-2.0 License. See LICENSE.txt or https://spdx.org/licenses/Apache-2.0.html for details.

Copyright

Copyright © 2022 Georgios Moschovitis.

Commit count: 0

cargo fmt