/** * @name perps/phoenix/phoenix-data-api * @description HTTP client wrapper for the Phoenix.trade perp data API. * * Uses PhoenixHttpClient from @ellipsis-labs/rise to access exchange metadata, * market data, orderbooks, trader info, funding rates, fills, and candles. * * @module perps/phoenix/phoenix-data-api */ import { PhoenixHttpClient } from '@ellipsis-labs/rise'; /** * Phoenix data API client. * Wraps PhoenixHttpClient sub-clients for typed access to Phoenix perp data. */ export declare class PhoenixDataApiClient { private readonly client; /** * @param apiUrl — Base URL for the Phoenix perp API. Defaults to perp-api.phoenix.trade. */ constructor(apiUrl?: string); /** Underlying PhoenixHttpClient for direct sub-client access. */ get http(): PhoenixHttpClient; /** * Get the full exchange configuration (markets, fees, leverage tiers, etc.). * @returns Exchange config object. */ getExchange(): Promise; /** * Get a single market's configuration by symbol. * @param symbol — Market symbol (e.g. "SOL-PERP"). * @returns Market config object. */ getMarket(symbol: string): Promise; /** * Get all market configurations. * @returns Array of market config objects. */ getMarkets(): Promise; /** * Get the latest stats (mark price, OI, volume, funding) for ALL markets * in one call — `GET /v1/markets/stats/latest`. * @returns Response with a `markets` array of per-symbol stat rows. */ getLatestMarketsStats(): Promise; /** * Get the orderbook for a market. * @param symbol — Market symbol. * @returns Orderbook view. */ getOrderbook(symbol: string, params?: { depth?: number; }): Promise; /** * Get the mark price for a market. * Uses the markets client's latest stats endpoint. * @param symbol — Market symbol. * @returns Latest market stats including mark price. */ getMarkPrice(symbol: string): Promise; /** * Get market stats history for a symbol. * @param symbol — Market symbol. * @param params — Optional query parameters (timeframe, start/end time, limit). * @returns Market stats history response. */ getMarketStatsHistory(symbol: string, params?: { timeframe?: string; start_time?: string; end_time?: string; limit?: number; }): Promise; /** * Get trader info. Accepts either the trader account key (PDA) or the trader * authority wallet; the Phoenix perp API only recognizes the trader account * key, so an authority input is resolved to its subaccount PDA first. * * @param pubkey — Trader account key or trader authority wallet (base58). * @returns Trader view object. */ getTrader(pubkey: string): Promise; /** * Get trader state snapshot (positions, orders, collateral). * @param authority — Trader authority public key (base58). * @param traderPdaIndex — Optional trader PDA index (default 0). * @returns Trader state snapshot response. */ getTraderStateSnapshot(authority: string, traderPdaIndex?: number): Promise; /** * Get trader PnL history. * @param authority — Trader authority public key (base58). * @param request — Historical values request (resolution, time range, limit). * @returns Array of PnL data points. */ getTraderPnl(authority: string, request: { resolution: string; startTime?: number; endTime?: number; limit?: number; }): Promise; /** * Get funding rate history for a market. * @param symbol — Market symbol. * @param params — Optional query parameters. * @returns Funding rate history response. */ getFundingRateHistory(symbol: string, params?: { startTime?: number; endTime?: number; limit?: number; }): Promise; /** * Get recent market fills (trades). * @param symbol — Market symbol. * @param params — Optional query parameters (limit, cursor, time range). * @returns Market fills response. */ getMarketFills(symbol: string, params?: { limit?: number; cursor?: string; startTime?: number; endTime?: number; }): Promise; /** * Get OHLCV candles for a market. * @param symbol — Market symbol. * @param params — Query parameters (timeframe required, start/end time, limit). * @returns Array of candle objects. */ getCandles(symbol: string, params: { timeframe: string; startTime?: number; endTime?: number; limit?: number; }): Promise; } /** * Default Phoenix data API client instance. */ export declare const phoenixDataApi: PhoenixDataApiClient; //# sourceMappingURL=phoenix-data-api.d.ts.map