https://github.com/gliderkite/akkorokamui
Kraken REST APIs HTTP client
https://github.com/gliderkite/akkorokamui
client crypto http http-client kraken kraken-exchange-api rust
Last synced: about 1 year ago
JSON representation
Kraken REST APIs HTTP client
- Host: GitHub
- URL: https://github.com/gliderkite/akkorokamui
- Owner: gliderkite
- License: mit
- Created: 2020-10-16T16:04:56.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2021-07-10T10:11:14.000Z (almost 5 years ago)
- Last Synced: 2025-03-20T14:12:35.656Z (about 1 year ago)
- Topics: client, crypto, http, http-client, kraken, kraken-exchange-api, rust
- Language: Rust
- Homepage: https://docs.rs/akkorokamui
- Size: 129 KB
- Stars: 8
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# :octopus: akkorokamui
[](https://docs.rs/akkorokamui)
[](https://crates.io/crates/akkorokamui)
[](LICENSE)
[akkorokamui](https://en.wikipedia.org/wiki/Akkorokamui) is a HTTP client
written in Rust that allows to query the
[Kraken REST APIs](https://docs.kraken.com/rest).
The main goal of this project is to provide a flexible interface and a safe
implementation.
Check out the [crate documentation](https://docs.rs/akkorokamui) to learn how to
use `akkorokamui`.
### Example: account balance (async version)
```rust
use akkorokamui::{api, Asset, Client, Credentials, Response};
use anyhow::{bail, Result};
use std::collections::HashMap;
type Amount = String;
type Balance<'a> = HashMap, Amount>;
#[tokio::main]
async fn main() -> Result<()> {
let keys_path = "kraken.key";
let credentials = Credentials::read(keys_path)?;
let user_agent = "/";
let client = Client::with_credentials(user_agent, credentials)?;
let api = api::private::balance();
let resp: Response = client.send(api).await?;
println!("{:?}", resp);
if let Some(result) = resp.result {
println!("GBP: {:?}", result.get(&Asset::new("ZGBP")));
} else {
bail!("Cannot get balance: {:?}", resp.error);
}
Ok(())
}
```