Skip to main content

RPIOrderbookRequest

Struct RPIOrderbookRequest 

Source
pub struct RPIOrderbookRequest<'a> {
    pub symbol: Cow<'a, str>,
    pub category: Option<Category>,
    pub limit: u64,
}
Expand description

Parameters for requesting RPI (Real-time Price Improvement) order book data.

This struct defines the parameters for querying the RPI order book via the /v5/market/rpi_orderbook endpoint. The RPI order book shows both regular orders and RPI orders, which can provide price improvement for takers. RPI orders are special orders that can improve prices when they cross with non-RPI orders.

Fields§

§symbol: Cow<'a, str>

The trading pair symbol (e.g., “BTCUSDT”).

Identifies the trading pair. Bots must specify a valid symbol to fetch the correct RPI order book. This parameter is required.

§category: Option<Category>

The product category (e.g., spot, linear, inverse).

Specifies the instrument type. According to the Bybit API documentation, this parameter is optional. If not specified, the API will return data for the appropriate category based on the symbol.

§limit: u64

The maximum number of order book levels to return for each side (1-50).

Controls the depth of the RPI order book (number of bid/ask levels). This parameter is required and must be between 1 and 50 inclusive. RPI order books are limited to 50 levels maximum.

Implementations§

Source§

impl<'a> RPIOrderbookRequest<'a>

Source

pub fn default() -> RPIOrderbookRequest<'a>

Creates a default RPIOrderbook request.

Returns a request with symbol set to "BTCUSDT", no category, and limit set to 50. Suitable for testing but should be customized for production.

Source

pub fn new( symbol: &'a str, category: Option<Category>, limit: u64, ) -> RPIOrderbookRequest<'a>

Constructs a new RPIOrderbook request with specified parameters.

Allows customization. Bots should use this to specify the exact symbol, optional category, and limit for their RPI order book requests.

§Arguments
  • symbol - The trading pair symbol (e.g., “BTCUSDT”)
  • category - Optional product category (spot, linear, inverse)
  • limit - Number of order book levels to return (1-50)
§Panics

Panics if limit is not between 1 and 50 inclusive.

Source

pub fn try_new( symbol: &'a str, category: Option<Category>, limit: u64, ) -> Result<RPIOrderbookRequest<'a>, String>

Constructs a new RPIOrderbook request with specified parameters, returning a Result.

Similar to new, but returns a Result instead of panicking on invalid parameters. This is the recommended method for production code.

§Arguments
  • symbol - The trading pair symbol (e.g., “BTCUSDT”)
  • category - Optional product category (spot, linear, inverse)
  • limit - Number of order book levels to return (1-50)
§Returns

Returns Ok(RPIOrderbookRequest) if parameters are valid, or Err(String) with an error message.

Source

pub fn spot( symbol: &'a str, limit: u64, ) -> Result<RPIOrderbookRequest<'a>, String>

Creates an RPIOrderbookRequest for spot trading.

Convenience method for creating requests for spot markets.

Source

pub fn linear( symbol: &'a str, limit: u64, ) -> Result<RPIOrderbookRequest<'a>, String>

Creates an RPIOrderbookRequest for linear perpetual futures.

Convenience method for creating requests for USDT-margined perpetual futures.

Source

pub fn inverse( symbol: &'a str, limit: u64, ) -> Result<RPIOrderbookRequest<'a>, String>

Creates an RPIOrderbookRequest for inverse perpetual futures.

Convenience method for creating requests for coin-margined perpetual futures.

Trait Implementations§

Source§

impl<'a> Clone for RPIOrderbookRequest<'a>

Source§

fn clone(&self) -> RPIOrderbookRequest<'a>

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<'a> Default for RPIOrderbookRequest<'a>

Source§

fn default() -> RPIOrderbookRequest<'a>

Returns the “default value” for a type. 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> 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> 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