2 releases
0.1.1 | Dec 4, 2024 |
---|---|
0.1.0 | Dec 3, 2024 |
#44 in #amount
311 downloads per month
68KB
1.5K
SLoC
Polymarket Rust Client
An async rust client for interacting with Polymarket.
Installing
cargo add polymarket-rs-client
The client internally uses a reqwest Client
, so you will also need the tokio
runtime.
cargo add -F rt-multi-thread,macros tokio
For representing order amounts and sizes, the client uses rust-decimal
crate. It is recommmended to install this crate as well.
cargo add rust-decimal
Usage
Create an instance of the ClobClient
to interact with the CLOB API. Note that the prerequisite allowances must be set before creating and sending an order as described here.
use polymarket_rs_client::ClobClient;
use std::env;
const HOST: &str = "https://clob.polymarket.com";
const POLYGON: u64 = 137;
#[tokio::main]
async fn main() {
let private_key = env::var("PK").unwrap();
let nonce = None;
let mut client = ClobClient::with_l1_headers(HOST, &private_key, POLYGON);
let keys = client.create_or_derive_api_key(nonce).await.unwrap();
client.set_api_creds(keys);
let o = client.get_sampling_markets(None).await.unwrap();
dbg!(o);
}
The ClobClient
implements the same API as the official python client. All available functions are listed in the docs.
Benchmarks
TODO
Dependencies
~31–44MB
~884K SLoC