Class: Bybit::RestApi::InstitutionalLoanService

Inherits:
BaseService
  • Object
show all
Defined in:
lib/bybit/rest_api/institutional_loan_service.rb

Overview

/v5/ins-loan/* — institutional (OTC) loan namespace. Distinct from crypto_loan (retail flexible / fixed loans): these endpoints require a Bybit-provisioned institutional risk-unit UID and are read-only for non-institutional keys.

Instance Method Summary collapse

Methods inherited from BaseService

#initialize

Constructor Details

This class inherits a constructor from Bybit::RestApi::BaseService

Instance Method Details

#bind_or_unbind_uid(uid:, operate:, **kwargs) ⇒ Hash

Bind Or Unbind UID (institutional risk unit)

POST /v5/ins-loan/association-uid

Parameters:

  • uid (String)

    Sub UID to bind or unbind

  • operate (String)

    0 bind, 1 unbind

Returns:

  • (Hash)

    Bybit V5 ApiResponse envelope (retCode / retMsg / result / retExtInfo / time).

See Also:



85
86
87
88
89
# File 'lib/bybit/rest_api/institutional_loan_service.rb', line 85

def bind_or_unbind_uid(uid:, operate:, **kwargs)
  params = kwargs.merge(uid: uid, operate: operate)
  params = Bybit::Utils::WireKeys.camelize(params)
  @session.sign_request(method: :post, path: '/v5/ins-loan/association-uid', body: params)
end

#get_loan_orders(**kwargs) ⇒ Hash

Get Loan Orders

GET /v5/ins-loan/loan-order

Parameters:

  • kwargs (Hash)

    a customizable set of options

Options Hash (**kwargs):

  • :order_id (Integer)

    Loan order ID

  • :start_time (Integer)

    Start timestamp in ms

  • :end_time (Integer)

    End timestamp in ms

  • :limit (Integer)

    Records per page (default/max 100)

Returns:

  • (Hash)

    Bybit V5 ApiResponse envelope (retCode / retMsg / result / retExtInfo / time).

See Also:



46
47
48
49
50
# File 'lib/bybit/rest_api/institutional_loan_service.rb', line 46

def get_loan_orders(**kwargs)
  params = kwargs.dup
  params = Bybit::Utils::WireKeys.camelize(params)
  @session.sign_request(method: :get, path: '/v5/ins-loan/loan-order', params: params)
end

#get_ltvHash

Get Loan-to-Value

GET /v5/ins-loan/ltv-convert

Returns:

  • (Hash)

    Bybit V5 ApiResponse envelope (retCode / retMsg / result / retExtInfo / time).

See Also:



73
74
75
# File 'lib/bybit/rest_api/institutional_loan_service.rb', line 73

def get_ltv
  @session.sign_request(method: :get, path: '/v5/ins-loan/ltv-convert')
end

#get_margin_coin_info(**kwargs) ⇒ Hash

Get Margin Coin Info (ensure-tokens-convert)

GET /v5/ins-loan/ensure-tokens-convert

Parameters:

  • kwargs (Hash)

    a customizable set of options

Options Hash (**kwargs):

  • :product_id (String)

    Product ID

Returns:

  • (Hash)

    Bybit V5 ApiResponse envelope (retCode / retMsg / result / retExtInfo / time).

See Also:



30
31
32
33
34
# File 'lib/bybit/rest_api/institutional_loan_service.rb', line 30

def get_margin_coin_info(**kwargs)
  params = kwargs.dup
  params = Bybit::Utils::WireKeys.camelize(params)
  @session.public_request(path: '/v5/ins-loan/ensure-tokens-convert', params: params)
end

#get_product_info(**kwargs) ⇒ Hash

Get Product Info

GET /v5/ins-loan/product-infos

Parameters:

  • kwargs (Hash)

    a customizable set of options

Options Hash (**kwargs):

  • :product_id (String)

    Product ID; omit to return all products.

Returns:

  • (Hash)

    Bybit V5 ApiResponse envelope (retCode / retMsg / result / retExtInfo / time).

See Also:



17
18
19
20
21
# File 'lib/bybit/rest_api/institutional_loan_service.rb', line 17

def get_product_info(**kwargs)
  params = kwargs.dup
  params = Bybit::Utils::WireKeys.camelize(params)
  @session.public_request(path: '/v5/ins-loan/product-infos', params: params)
end

#get_repayment_orders(**kwargs) ⇒ Hash

Get Repayment Orders

GET /v5/ins-loan/repaid-history

Parameters:

  • kwargs (Hash)

    a customizable set of options

Options Hash (**kwargs):

  • :start_time (Integer)

    Start timestamp in ms

  • :end_time (Integer)

    End timestamp in ms

  • :limit (Integer)

    Records per page

Returns:

  • (Hash)

    Bybit V5 ApiResponse envelope (retCode / retMsg / result / retExtInfo / time).

See Also:



61
62
63
64
65
# File 'lib/bybit/rest_api/institutional_loan_service.rb', line 61

def get_repayment_orders(**kwargs)
  params = kwargs.dup
  params = Bybit::Utils::WireKeys.camelize(params)
  @session.sign_request(method: :get, path: '/v5/ins-loan/repaid-history', params: params)
end

#repay_loan(order_id:, amount:, **kwargs) ⇒ Hash

Repay Loan

POST /v5/ins-loan/repay-loan

Parameters:

  • order_id (String)

    Loan order ID to repay

  • amount (String)

    Repayment amount

Returns:

  • (Hash)

    Bybit V5 ApiResponse envelope (retCode / retMsg / result / retExtInfo / time).

See Also:



99
100
101
102
103
# File 'lib/bybit/rest_api/institutional_loan_service.rb', line 99

def repay_loan(order_id:, amount:, **kwargs)
  params = kwargs.merge(order_id: order_id, amount: amount)
  params = Bybit::Utils::WireKeys.camelize(params)
  @session.sign_request(method: :post, path: '/v5/ins-loan/repay-loan', body: params)
end