BybitBuilder

Struct BybitBuilder 

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

Builder for creating Bybit exchange instances.

Provides a fluent API for configuring all aspects of the Bybit exchange, including authentication, connection settings, and Bybit-specific options.

§Example

use ccxt_exchanges::bybit::BybitBuilder;

let bybit = BybitBuilder::new()
    .api_key("your-api-key")
    .secret("your-secret")
    .testnet(true)
    .timeout(30)
    .build()
    .unwrap();

Implementations§

Source§

impl BybitBuilder

Source

pub fn new() -> BybitBuilder

Creates a new builder with default configuration.

§Example
use ccxt_exchanges::bybit::BybitBuilder;

let builder = BybitBuilder::new();
Source

pub fn api_key(self, key: impl Into<String>) -> BybitBuilder

Sets the API key for authentication.

§Arguments
  • key - The API key string.
Source

pub fn secret(self, secret: impl Into<String>) -> BybitBuilder

Sets the API secret for authentication.

§Arguments
  • secret - The API secret string.
Source

pub fn sandbox(self, enabled: bool) -> BybitBuilder

Enables or disables sandbox/testnet mode.

When enabled, the exchange will connect to Bybit’s testnet environment instead of the production environment.

This method is equivalent to testnet() and is provided for consistency with other exchanges.

§Arguments
  • enabled - Whether to enable sandbox mode.
Source

pub fn testnet(self, enabled: bool) -> BybitBuilder

Enables or disables testnet mode.

When enabled, the exchange will connect to Bybit’s testnet environment instead of the production environment.

This method is equivalent to sandbox() and is provided for backward compatibility.

§Arguments
  • enabled - Whether to enable testnet mode.
Source

pub fn account_type(self, account_type: impl Into<String>) -> BybitBuilder

Sets the account type for trading.

Valid values: “UNIFIED”, “CONTRACT”, “SPOT”.

§Arguments
  • account_type - The account type string.
Source

pub fn default_type(self, default_type: impl Into<DefaultType>) -> BybitBuilder

Sets the default market type for trading.

This determines which category to use for API calls. Bybit uses a unified V5 API with category-based filtering:

  • Spot -> category=spot
  • Swap + Linear -> category=linear
  • Swap + Inverse -> category=inverse
  • Option -> category=option
§Arguments
  • default_type - The default market type (spot, swap, futures, option).
§Example
use ccxt_exchanges::bybit::BybitBuilder;
use ccxt_core::types::default_type::DefaultType;

let bybit = BybitBuilder::new()
    .default_type(DefaultType::Swap)
    .build()
    .unwrap();
Source

pub fn default_sub_type(self, sub_type: DefaultSubType) -> BybitBuilder

Sets the default sub-type for contract settlement.

  • Linear: USDT-margined contracts (category=linear)
  • Inverse: Coin-margined contracts (category=inverse)

Only applicable when default_type is Swap or Futures. Ignored for Spot and Option types.

§Arguments
  • sub_type - The contract settlement type (linear or inverse).
§Example
use ccxt_exchanges::bybit::BybitBuilder;
use ccxt_core::types::default_type::{DefaultType, DefaultSubType};

let bybit = BybitBuilder::new()
    .default_type(DefaultType::Swap)
    .default_sub_type(DefaultSubType::Linear)
    .build()
    .unwrap();
Source

pub fn recv_window(self, millis: u64) -> BybitBuilder

Sets the receive window for signed requests.

The receive window specifies how long a request is valid after the timestamp. Default is 5000 milliseconds.

§Arguments
  • millis - Receive window in milliseconds.
Source

pub fn timeout(self, timeout: Duration) -> BybitBuilder

Sets the request timeout.

Source

pub fn timeout_secs(self, seconds: u64) -> BybitBuilder

Sets the request timeout in seconds (convenience method).

Source

pub fn connect_timeout(self, timeout: Duration) -> BybitBuilder

Sets the TCP connection timeout.

§Arguments
  • timeout - Connection timeout duration.
Source

pub fn connect_timeout_secs(self, seconds: u64) -> BybitBuilder

Sets the TCP connection timeout in seconds (convenience method).

§Arguments
  • seconds - Connection timeout duration in seconds.
Source

pub fn retry_policy(self, policy: RetryPolicy) -> BybitBuilder

Sets the retry policy.

Source

pub fn enable_rate_limit(self, enabled: bool) -> BybitBuilder

Enables or disables rate limiting.

§Arguments
  • enabled - Whether to enable rate limiting.
Source

pub fn proxy(self, proxy: ProxyConfig) -> BybitBuilder

Sets the HTTP proxy configuration.

Source

pub fn proxy_url(self, url: impl Into<String>) -> BybitBuilder

Sets the HTTP proxy URL (convenience method).

Source

pub fn verbose(self, enabled: bool) -> BybitBuilder

Enables or disables verbose logging.

§Arguments
  • enabled - Whether to enable verbose logging.
Source

pub fn option(self, key: impl Into<String>, value: Value) -> BybitBuilder

Sets a custom option.

§Arguments
  • key - Option key.
  • value - Option value as JSON.
Source

pub fn options(self, options: HashMap<String, Value>) -> BybitBuilder

Sets multiple custom options.

§Arguments
  • options - HashMap of option key-value pairs.
Source

pub fn build(self) -> Result<Bybit, Error>

Builds the Bybit exchange instance.

§Returns

Returns a Result containing the configured Bybit instance.

§Errors

Returns an error if the exchange cannot be initialized.

Trait Implementations§

Source§

impl Clone for BybitBuilder

Source§

fn clone(&self) -> BybitBuilder

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 BybitBuilder

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Default for BybitBuilder

Source§

fn default() -> BybitBuilder

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> 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