Install the SDK from crates.io, then verify a public testnet request.
Install the package
[dependencies]
polyester-sdk = "0.12.0"
tokio = { version = "1", features = ["full"] }To pin the release tag instead of the crates.io version:
polyester-sdk = { git = "https://github.com/Fabric-Labs/polyester-sdk-rust", tag = "v0.12.0" }The package is named polyester-sdk, but its library target is named polyester. Code therefore
imports it with use polyester::..., exactly as the examples show. No Cargo rename is required.
MSRV: Rust 1.90+. Realtime and on-chain Funding helpers are always included. The crate depends on Connect/buffa 0.8.x.
crates.io: polyester-sdk. Source: Fabric-Labs/polyester-sdk-rust.
polyester-sdk = "=0.12.0"). Version 0.12.0 (git tag v0.12.0) is the current API-key-only release.
Outbound requests send User-Agent: polyester-sdk-rust/<version>. It supports signed unary calls,
binary realtime subscriptions, and opaque pagination tokens for complete trigger list/event scans.
Breaking public API changes are called out in the repository changelog.Testnet endpoints
Pass polyester::POLYESTER_TESTNET_ENVIRONMENT on Config.environment in every client. A Config with no environment does not target testnet:
| Setting | Testnet |
|---|---|
| API | https://api.testnet.polyester.com |
| WebSocket | wss://api.testnet.polyester.com |
Override with Config fields, or (scripts only) POLYESTER_ENV=testnet and POLYESTER_API_URL / POLYESTER_WS_URL via Client::from_env(). See Environments.
Verify the install
Public market data needs no credentials:
use polyester::{Client, Config};
// public market data only
let client = Client::new(Config {
environment: Some(polyester::POLYESTER_TESTNET_ENVIRONMENT.clone()),
..Default::default()
})?;use polyester::services::ListMarketOverviewOptions;
let overview = client.market_overview.list(ListMarketOverviewOptions {
limit: Some(5),
..Default::default()
}).await?;
for market in overview.markets {
println!("{} {:?}", market.symbol, market.last_price.as_ref().map(|p| p.as_ticks()));
}If that prints a few markets, you are connected. Next: Quickstart.