Expand description
§asterdex-sdk
Async Rust client for the AsterDex Futures API v3.
Supports REST endpoints and WebSocket market/user-data streams, with EIP-712 request signing via the alloy crate.
§Quick start
use asterdex_sdk::{Credentials, FuturesClient};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let creds = Credentials::from_env()?;
let client = FuturesClient::new("https://fapi.asterdex.com", creds)?;
let resp = client.get_server_time().await?;
println!("Server time: {}", resp.data.server_time);
Ok(())
}§Environment variables
| Variable | Required | Description |
|---|---|---|
ASTERDEX_PRIVATE_KEY | Yes | Hex-encoded private key for EIP-712 signing |
ASTERDEX_BASE_URL | No | Override base URL (defaults to mainnet) |
ASTERDEX_CHAIN_ID | No | Chain ID (defaults to 1666) |
Re-exports§
pub use futures::FuturesClient;pub use futures::models::trading::CancelOrderParams;pub use futures::models::trading::CancelOrderResponse;pub use futures::models::trading::EmptyResponse;pub use futures::models::trading::ListenKeyResponse;pub use futures::models::trading::ModifyOrderParams;pub use futures::models::trading::OrderResponse;pub use futures::models::trading::PlaceOrderParams;pub use futures::models::trading::PositionResponse;pub use futures::models::market::AggTrade;pub use futures::models::market::BookTickerResponse;pub use futures::models::market::BookTickerShape;pub use futures::models::market::DepthResponse;pub use futures::models::market::ExchangeAsset;pub use futures::models::market::ExchangeInfoResponse;pub use futures::models::market::FundingInfoResponse;pub use futures::models::market::IndexReference;pub use futures::models::market::IndexReferencesResponse;pub use futures::models::market::Kline;pub use futures::models::market::KlineInterval;pub use futures::models::market::MarkPriceResponse;pub use futures::models::market::MarkPriceShape;pub use futures::models::market::PingResponse;pub use futures::models::market::ServerTimeResponse;pub use futures::models::market::SymbolInfo;pub use futures::models::market::Ticker24hrResponse;pub use futures::models::market::Ticker24hrShape;pub use futures::models::market::TickerPriceResponse;pub use futures::models::market::TickerPriceShape;pub use futures::models::market::TradeRecord;pub use futures::models::account::AccountAsset;pub use futures::models::account::AccountInfoResponse;pub use futures::models::account::AccountPosition;pub use futures::models::account::Balance;pub use futures::models::account::LeverageBracket;pub use futures::models::account::PositionMarginHistoryRecord;pub use futures::models::account::SetLeverageResponse;pub use futures::models::websocket::WebSocketMessage;pub use futures::models::user_data::ListenKeyExpiredEvent;pub use futures::models::user_data::MarginCallEvent;pub use futures::models::user_data::MarginCallPosition;pub use futures::models::user_data::TradeProEvent;pub use futures::models::user_data::UserDataEvent;
Modules§
- futures
- models
- Backward-compatibility re-export of futures::models — use futures::models directly.
- spot
Structs§
- ApiResponse
- Wraps every REST response. Access typed body via
.data, rate limits via.used_weight/.order_count. - Credentials
- SDK credentials — holds wallet addresses and EIP-712 signing key. No Debug derive — private key must NEVER be logged.
- Rest
Client - Async REST client for AsterDex Futures V3 API.
- User
Data Stream - Handle for a user data stream. Same shape as
WebSocketStreambut for private events. - WebSocket
Client - Async WebSocket client — manages connection lifecycle and reconnection (BR-006, BR-007).
- WebSocket
Stream - Handle for a market data stream.
Enums§
- Aster
DexError - All SDK error variants — see each variant for handling instructions.