Skip to main content

Crate asterdex_sdk

Crate asterdex_sdk 

Source
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

VariableRequiredDescription
ASTERDEX_PRIVATE_KEYYesHex-encoded private key for EIP-712 signing
ASTERDEX_BASE_URLNoOverride base URL (defaults to mainnet)
ASTERDEX_CHAIN_IDNoChain 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.
RestClient
Async REST client for AsterDex Futures V3 API.
UserDataStream
Handle for a user data stream. Same shape as WebSocketStream but for private events.
WebSocketClient
Async WebSocket client — manages connection lifecycle and reconnection (BR-006, BR-007).
WebSocketStream
Handle for a market data stream.

Enums§

AsterDexError
All SDK error variants — see each variant for handling instructions.