Skip to main content

Client

Struct Client 

Source
pub struct Client { /* private fields */ }
Expand description

Client for Bullet Trading API

REST API for the Bullet exchange. Provides Binance FAPI-compatible endpoints for trading, account management, and market data.

Version: 0.1.0

Implementations§

Source§

impl Client

Source

pub fn new(baseurl: &str) -> Self

Create a new client.

baseurl is the base URL provided to the internal reqwest::Client, and should include a scheme and hostname, as well as port and a path stem if applicable.

Source

pub fn new_with_client(baseurl: &str, client: Client) -> Self

Construct a new client with an existing reqwest::Client, allowing more control over its configuration.

baseurl is the base URL provided to the internal reqwest::Client, and should include a scheme and hostname, as well as port and a path stem if applicable.

Source§

impl Client

Source

pub async fn account_config<'a>( &'a self, address: &'a str, ) -> Result<ResponseValue<ByteStream>, Error<ApiErrorResponse>>

Futures Account Configuration

Sends a GET request to /fapi/v1/accountConfig

Source

pub async fn all_orders<'a>( &'a self, address: Option<&'a str>, end_time: Option<i64>, limit: Option<u64>, order_id: Option<i64>, start_time: Option<i64>, symbol: Option<&'a str>, ) -> Result<ResponseValue<PaginatedResponseHistoricalOrder>, Error<ApiErrorResponse>>

All Orders (order history from ClickHouse)

Sends a GET request to /fapi/v1/allOrders

Arguments:

  • address: Account address (required on first request, encoded in cursor for subsequent)
  • end_time: End time in microseconds
  • limit: Number of results (default 500, max 1000)
  • order_id: Return orders with orderId >= this value
  • start_time: Start time in microseconds
  • symbol: Trading pair symbol (optional filter)
Source

pub async fn borrow_lend_pools<'a>( &'a self, symbol: Option<&'a str>, ) -> Result<ResponseValue<Vec<BorrowLendPoolResponse>>, Error<ApiErrorResponse>>

Borrow Lend Pools - Doesnt exist in Binance

Sends a GET request to /fapi/v1/borrowLendPools

Arguments:

  • symbol: Symbol
Source

pub async fn commission_rate<'a>( &'a self, address: &'a str, symbol: &'a str, ) -> Result<ResponseValue<()>, Error<ApiErrorResponse>>

User Commission Rate (USER_DATA)

Sends a GET request to /fapi/v1/commissionRate

Source

pub async fn order_book<'a>( &'a self, limit: Option<i32>, symbol: &'a str, ) -> Result<ResponseValue<OrderBook>, Error<ApiErrorResponse>>

Get orderbook

Sends a GET request to /fapi/v1/depth

Arguments:

  • limit: Limit (default 20, max 1000)
  • symbol: Symbol
Source

pub async fn exchange_info<'a>( &'a self, ) -> Result<ResponseValue<ExchangeInfo>, Error<ApiErrorResponse>>

Get current exchange trading rules and symbol information

Sends a GET request to /fapi/v1/exchangeInfo

Source

pub async fn funding_rate<'a>( &'a self, symbol: Option<&'a str>, ) -> Result<ResponseValue<FundingRate>, Error<ApiErrorResponse>>

Latest price for a symbol or symbols

Sends a GET request to /fapi/v1/fundingRate

Arguments:

  • symbol: Symbol
Source

pub async fn insurance_balance<'a>( &'a self, ) -> Result<ResponseValue<Vec<InsuranceBalance>>, Error<ApiErrorResponse>>

Query Insurance Fund Balance Snapshot

Sends a GET request to /fapi/v1/insuranceBalance

Source

pub async fn leverage_bracket<'a>( &'a self, symbol: Option<&'a str>, ) -> Result<ResponseValue<Vec<LeverageBracket>>, Error<ApiErrorResponse>>

Notional and Leverage Brackets (USER_DATA)

Sends a GET request to /fapi/v1/leverageBracket

Source

pub async fn open_interest<'a>( &'a self, ) -> Result<ResponseValue<Vec<OpenInterest>>, Error<ApiErrorResponse>>

Open interest per market

Sends a GET request to /fapi/v1/openInterest

Source

pub async fn query_open_order<'a>( &'a self, address: &'a str, client_order_id: Option<i64>, order_id: Option<i64>, symbol: &'a str, ) -> Result<ResponseValue<BinanceOrder>, Error<ApiErrorResponse>>

Query Current Open Order

Sends a GET request to /fapi/v1/openOrder

Source

pub async fn query_open_orders<'a>( &'a self, address: &'a str, symbol: &'a str, ) -> Result<ResponseValue<Vec<BinanceOrder>>, Error<ApiErrorResponse>>

Query All Open Orders

Sends a GET request to /fapi/v1/openOrders

Arguments:

  • address: Account address
  • symbol: Trading pair symbol
Source

pub async fn ping<'a>( &'a self, ) -> Result<ResponseValue<PingResponse>, Error<ApiErrorResponse>>

Test connectivity to the Rest API

Sends a GET request to /fapi/v1/ping

Source

pub async fn rate_limit_order<'a>( &'a self, ) -> Result<ResponseValue<ByteStream>, Error<ApiErrorResponse>>

Query User Rate Limit (USER_DATA)

Sends a GET request to /fapi/v1/rateLimit/order

Source

pub async fn symbol_config<'a>( &'a self, address: &'a str, symbol: Option<&'a str>, ) -> Result<ResponseValue<()>, Error<ApiErrorResponse>>

Symbol Configuration (USER_DATA)

Sends a GET request to /fapi/v1/symbolConfig

Source

pub async fn ticker_24hr<'a>( &'a self, ) -> Result<ResponseValue<Vec<Ticker24hr>>, Error<ApiErrorResponse>>

24 hour rolling window price change statistics. returns all markets — no per-symbol filtering (intentional, dataset is small)

Sends a GET request to /fapi/v1/ticker/24hr

Source

pub async fn ticker_price<'a>( &'a self, symbol: Option<&'a str>, ) -> Result<ResponseValue<Vec<PriceTicker>>, Error<ApiErrorResponse>>

Latest price for a symbol or symbols

Sends a GET request to /fapi/v1/ticker/price

Arguments:

  • symbol: Symbol
Source

pub async fn time<'a>( &'a self, ) -> Result<ResponseValue<TimeResponse>, Error<ApiErrorResponse>>

Test connectivity to the Rest API and get the current server time

Sends a GET request to /fapi/v1/time

Source

pub async fn recent_trades<'a>( &'a self, limit: Option<i32>, symbol: &'a str, ) -> Result<ResponseValue<Vec<Trade>>, Error<ApiErrorResponse>>

Recent Trades List

Sends a GET request to /fapi/v1/trades

Arguments:

  • limit: Default 100; max 1000
  • symbol: Symbol
Source

pub async fn user_deposits<'a>( &'a self, address: Option<&'a str>, end_time: Option<i64>, limit: Option<u64>, start_time: Option<i64>, ) -> Result<ResponseValue<PaginatedResponseUserDeposit>, Error<ApiErrorResponse>>

User Deposit History

Sends a GET request to /fapi/v1/userDeposits

Arguments:

  • address: Account address (required on first request, encoded in cursor for subsequent)
  • end_time: End time in microseconds
  • limit: Number of results (default 500, max 1000)
  • start_time: Start time in microseconds
Source

pub async fn user_funding_payments<'a>( &'a self, address: Option<&'a str>, end_time: Option<i64>, limit: Option<u64>, start_time: Option<i64>, symbol: Option<&'a str>, ) -> Result<ResponseValue<PaginatedResponseUserFundingPayment>, Error<ApiErrorResponse>>

User Funding Payment History

Sends a GET request to /fapi/v1/userFundingPayments

Arguments:

  • address: Account address (required on first request, encoded in cursor for subsequent)
  • end_time: End time in microseconds (optional filter)
  • limit: Number of results (default 500, max 1000)
  • start_time: Start time in microseconds (optional filter)
  • symbol: Trading pair symbol (optional filter)
Source

pub async fn user_liquidations<'a>( &'a self, address: Option<&'a str>, end_time: Option<i64>, limit: Option<u64>, start_time: Option<i64>, symbol: Option<&'a str>, ) -> Result<ResponseValue<PaginatedResponseUserLiquidation>, Error<ApiErrorResponse>>

User Liquidation History

Sends a GET request to /fapi/v1/userLiquidations

Arguments:

  • address: Account address (required on first request, encoded in cursor for subsequent)
  • end_time: End time in microseconds (optional filter)
  • limit: Number of results (default 500, max 1000)
  • start_time: Start time in microseconds (optional filter)
  • symbol: Trading pair symbol (optional filter)
Source

pub async fn user_trades<'a>( &'a self, address: Option<&'a str>, end_time: Option<i64>, limit: Option<u64>, start_time: Option<i64>, symbol: Option<&'a str>, ) -> Result<ResponseValue<PaginatedResponseUserTrade>, Error<ApiErrorResponse>>

Account Trade List

Sends a GET request to /fapi/v1/userTrades

Arguments:

  • address: Account address (required on first request, encoded in cursor for subsequent)
  • end_time: End time in microseconds (optional filter)
  • limit: Number of results (default 500, max 1000)
  • start_time: Start time in microseconds (optional filter)
  • symbol: Trading pair symbol (optional filter)
Source

pub async fn user_withdrawals<'a>( &'a self, address: Option<&'a str>, end_time: Option<i64>, limit: Option<u64>, start_time: Option<i64>, ) -> Result<ResponseValue<PaginatedResponseUserWithdrawal>, Error<ApiErrorResponse>>

User Withdrawal History

Sends a GET request to /fapi/v1/userWithdrawals

Arguments:

  • address: Account address (required on first request, encoded in cursor for subsequent)
  • end_time: End time in microseconds
  • limit: Number of results (default 500, max 1000)
  • start_time: Start time in microseconds
Source

pub async fn account_info<'a>( &'a self, address: &'a str, ) -> Result<ResponseValue<Account>, Error<ApiErrorResponse>>

Get current account information

Sends a GET request to /fapi/v3/account

Source

pub async fn account_balance<'a>( &'a self, address: &'a str, ) -> Result<ResponseValue<Vec<Balance>>, Error<ApiErrorResponse>>

Get account balance

Sends a GET request to /fapi/v3/balance

Source

pub async fn health<'a>( &'a self, ) -> Result<ResponseValue<ByteStream>, Error<ApiErrorResponse>>

Get health of the API

Sends a GET request to /health

Source

pub async fn ready<'a>( &'a self, ) -> Result<ResponseValue<ReadinessStatus>, Error<ApiErrorResponse>>

readiness probe — 200 when all components healthy, 503 otherwise

Sends a GET request to /health/ready

Source

pub async fn constants<'a>( &'a self, ) -> Result<ResponseValue<RollupConstants>, Error<ApiErrorResponse>>

Get the rollup constants

Sends a GET request to /rollup/constants

Source

pub async fn schema<'a>( &'a self, ) -> Result<ResponseValue<Map<String, Value>>, Error<ApiErrorResponse>>

Get the rollup schema (unwrapped)

Sends a GET request to /rollup/schema

Source

pub async fn submit_tx<'a>( &'a self, body: &'a SubmitTxRequest, ) -> Result<ResponseValue<SubmitTxResponse>, Error<ApiErrorResponse>>

Submit a transaction to the rollup

Sends a POST request to /tx/submit

Trait Implementations§

Source§

impl ClientHooks for &Client

Source§

async fn pre<E>( &self, request: &mut Request, info: &OperationInfo, ) -> Result<(), Error<E>>

Runs prior to the execution of the request. This may be used to modify the request before it is transmitted.
Source§

async fn post<E>( &self, result: &Result<Response, Error>, info: &OperationInfo, ) -> Result<(), Error<E>>

Runs after completion of the request.
Source§

async fn exec( &self, request: Request, info: &OperationInfo, ) -> Result<Response, Error>

Execute the request. Note that for almost any reasonable implementation this will include code equivalent to this: Read more
Source§

impl ClientInfo<()> for Client

Source§

fn api_version() -> &'static str

Get the version of this API. Read more
Source§

fn baseurl(&self) -> &str

Get the base URL to which requests are made.
Source§

fn client(&self) -> &Client

Get the internal reqwest::Client used to make requests.
Source§

fn inner(&self) -> &()

Get the inner value of type T if one is specified.
Source§

impl Clone for Client

Source§

fn clone(&self) -> Client

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Client

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more