HyperLiquidBuilder

Struct HyperLiquidBuilder 

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

Builder for creating HyperLiquid exchange instances.

§Note on Market Types

HyperLiquid only supports perpetual futures (Swap). Attempting to set default_type to any other value (Spot, Futures, Margin, Option) will result in a validation error when calling build().

§Example

use ccxt_exchanges::hyperliquid::HyperLiquidBuilder;

let exchange = HyperLiquidBuilder::new()
    .private_key("0x...")
    .testnet(true)
    .default_leverage(10)
    .build()
    .unwrap();

Implementations§

Source§

impl HyperLiquidBuilder

Source

pub fn new() -> HyperLiquidBuilder

Creates a new HyperLiquidBuilder with default settings.

Source

pub fn private_key(self, key: &str) -> HyperLiquidBuilder

Sets the Ethereum private key for authentication.

The private key should be a 64-character hex string (32 bytes), optionally prefixed with “0x”.

§Arguments
  • key - The private key in hex format.
§Example
use ccxt_exchanges::hyperliquid::HyperLiquidBuilder;

let builder = HyperLiquidBuilder::new()
    .private_key("0x1234567890abcdef...");
Source

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

Enables or disables sandbox/testnet mode.

When enabled, the exchange will connect to HyperLiquid testnet instead of mainnet.

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

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

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

Enables or disables testnet mode.

When enabled, the exchange will connect to HyperLiquid testnet instead of mainnet.

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

§Arguments
  • enabled - Whether to use testnet.
Source

pub fn vault_address(self, address: &str) -> HyperLiquidBuilder

Sets the vault address for vault trading.

When set, orders will be placed on behalf of the vault.

§Arguments
  • address - The vault’s Ethereum address.
Source

pub fn default_leverage(self, leverage: u32) -> HyperLiquidBuilder

Sets the default leverage multiplier.

This leverage will be used when placing orders if not specified.

§Arguments
  • leverage - The leverage multiplier (1-50).
Source

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

Sets the default market type for trading.

Important: HyperLiquid only supports perpetual futures (Swap). Attempting to set any other value (Spot, Futures, Margin, Option) will result in a validation error when calling build().

§Arguments
  • default_type - The default market type. Must be Swap for HyperLiquid.
§Example
use ccxt_exchanges::hyperliquid::HyperLiquidBuilder;
use ccxt_core::types::default_type::DefaultType;

// This works - HyperLiquid supports Swap (perpetuals)
let exchange = HyperLiquidBuilder::new()
    .default_type(DefaultType::Swap)
    .build()
    .unwrap();

// This will fail - HyperLiquid does not support Spot
let result = HyperLiquidBuilder::new()
    .default_type(DefaultType::Spot)
    .build();
assert!(result.is_err());
Source

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

Sets the request timeout.

Source

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

Sets the request timeout in seconds (convenience method).

Source

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

Sets the TCP connection timeout.

§Arguments
  • timeout - Connection timeout duration.
Source

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

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

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

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

Sets the retry policy.

Source

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

Sets the HTTP proxy configuration.

Source

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

Sets the HTTP proxy URL (convenience method).

Source

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

Builds the HyperLiquid exchange instance.

§Returns

Returns a configured HyperLiquid instance.

§Errors

Returns an error if:

  • The private key format is invalid
  • The exchange configuration fails
  • The default_type is set to a value other than Swap (HyperLiquid only supports perpetuals)

Trait Implementations§

Source§

impl Debug for HyperLiquidBuilder

Source§

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

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

impl Default for HyperLiquidBuilder

Source§

fn default() -> HyperLiquidBuilder

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