aiviaio / bybit
Bybit API Like the official document interface, Support for arbitrary extension.
v1.0.1
2023-04-06 16:26 UTC
Requires
- php: >=7.0
- guzzlehttp/guzzle: *
- workerman/globaldata: *
- workerman/workerman: *
This package is not auto-updated.
Last update: 2025-03-08 00:28:00 UTC
README
It is recommended that you read the official document first
Bybit docs https://bybit-exchange.github.io/docs/linear/
All interface methods are initialized the same as those provided by Bybit. See details src/api
Installation
composer require aiviaio/bybit
Support for more request Settings
$bybit=new BybitLinear(); //or new //$bybit=new BybitInverse(); //You can set special needs $bybit->setOptions([ //Set the request timeout to 60 seconds by default 'timeout'=>10, //If you are developing locally and need an agent, you can set this //'proxy'=>true, //More flexible Settings /* 'proxy'=>[ 'http' => 'http://127.0.0.1:12333', 'https' => 'http://127.0.0.1:12333', 'no' => ['.cn'] ], */ //Close the certificate //'verify'=>false, ]);
USDT Perpetual
Market Data API More
$bybit=new BybitLinear(); try { $result=$bybit->publics()->getOrderBookL2([ 'symbol'=>'BTCUSDT' ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->publics()->getKline([ 'symbol'=>'BTCUSDT', 'interval'=>'15', 'from'=>time()-3600, ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->publics()->getTickers(); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->publics()->getRecentTradingRecords([ 'symbol'=>'BTCUSDT', 'limit'=>'5', ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->publics()->getSymbols(); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); }
Place Active Order API More
$bybit=new BybitLinear($key,$secret); try { $result=$bybit->privates()->postOrderCreate([ //'order_link_id'=>'xxxxxxxxxxxxxx', 'side'=>'Buy', 'symbol'=>'BTCUSDT', 'order_type'=>'Limit', 'qty'=>'1', 'price'=>'4000', 'time_in_force'=>'GoodTillCancel', 'reduce_only'=>'false', 'close_on_trigger'=>'false', ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->privates()->getOrderSearch([ 'order_id'=>'xxxxxxxxxxxxx', //'order_link_id'=>'xxxxxxxxxxxxxx', 'symbol'=>'BTCUSDT', ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->privates()->postOrderReplace([ 'order_id'=>'xxxxxxxxxxxxx', 'symbol'=>'BTCUSDT', 'p_r_qty'=>'2', 'p_r_price'=>'4999' ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->privates()->postOrderCancel([ 'order_id'=>'xxxxxxxxxxxxx', //'order_link_id'=>'xxxxxxxxxxxxxx', 'symbol'=>'BTCUSDT', ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->privates()->getOrderList([ 'order_id'=>'xxxxxxxxxxxxx', //'order_link_id'=>'xxxxxxxxxxxxxx', 'symbol'=>'BTCUSDT', ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); }
Place Conditional Order API More
$bybit=new BybitLinear($key,$secret); try { $result=$bybit->privates()->postStopOrderCreate([ //'order_link_id'=>'xxxxxxxxxxxxxx', 'side'=>'Buy', 'symbol'=>'BTCUSDT', 'order_type'=>'Limit', 'qty'=>'1', 'price'=>'4000', 'time_in_force'=>'GoodTillCancel', 'reduce_only'=>'false', 'close_on_trigger'=>'false', ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->privates()->getStopOrderSearch([ 'order_id'=>'xxxxxxxxxxxxx', //'order_link_id'=>'xxxxxxxxxxxxxx', 'symbol'=>'BTCUSDT', ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->privates()->postStopOrderReplace([ 'order_id'=>'xxxxxxxxxxxxx', 'symbol'=>'BTCUSDT', 'p_r_qty'=>'2', 'p_r_price'=>'4999' ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->privates()->postStopOrderCancel([ 'order_id'=>'xxxxxxxxxxxxx', //'order_link_id'=>'xxxxxxxxxxxxxx', 'symbol'=>'BTCUSDT', ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->privates()->getStopOrderList([ 'order_id'=>'xxxxxxxxxxxxx', //'order_link_id'=>'xxxxxxxxxxxxxx', 'symbol'=>'BTCUSDT', ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); }
My Position API More
$bybit=new BybitLinear($key,$secret); try { $result=$bybit->privates()->getPositionList([ 'symbol'=>'BTCUSDT', ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->privates()->postChangePositionMargin([ 'symbol'=>'BTCUSDT', 'margin'=>'1' ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->privates()->postPositionTradingStop([ 'symbol'=>'BTCUSDT', ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->privates()->getUserLeverage(); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->privates()->postUserLeverageSave([ 'symbol'=>'BTCUSDT', 'leverage'=>'1' ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->privates()->getExecutionList([ 'symbol'=>'BTCUSDT', ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); }
Inverse Perpetual
Market data API More
$bybit=new BybitInverse(); try { $result=$bybit->publics()->getOrderBookL2([ 'symbol'=>'BTCUSD' ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->publics()->getKlineList([ 'symbol'=>'BTCUSD', 'interval'=>'15', 'from'=>time()-3600, ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->publics()->getTickers(); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->publics()->getTradingRecords([ 'symbol'=>'BTCUSD', 'limit'=>'5', ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->publics()->getSymbols(); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); }
Place Active Order API More
$bybit=new BybitInverse($key,$secret); try { $result=$bybit->privates()->postOrderCreate([ //'order_link_id'=>'xxxxxxxxxxxxxx', 'side'=>'Buy', 'symbol'=>'BTCUSD', 'order_type'=>'Limit', 'qty'=>'1', 'price'=>'4000', 'time_in_force'=>'GoodTillCancel', ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->privates()->getOrder([ 'order_id'=>'xxxxxxxxxxxxx', //'order_link_id'=>'xxxxxxxxxxxxxx', 'symbol'=>'BTCUSD', ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->privates()->postOrderReplace([ 'order_id'=>'xxxxxxxxxxxxx', 'symbol'=>'BTCUSD', 'p_r_qty'=>'2', 'p_r_price'=>'4999' ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->privates()->postOrderCancel([ 'order_id'=>'xxxxxxxxxxxxx', //'order_link_id'=>'xxxxxxxxxxxxxx', 'symbol'=>'BTCUSD', ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->privates()->getOrderList([ 'order_id'=>'xxxxxxxxxxxxx', //'order_link_id'=>'xxxxxxxxxxxxxx', 'symbol'=>'BTCUSD', ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); }
Place Conditional Order API More
$bybit=new BybitInverse($key,$secret); try { $result=$bybit->privates()->postStopOrderCreate([ //'order_link_id'=>'xxxxxxxxxxxxxx', 'side'=>'Buy', 'symbol'=>'BTCUSD', 'order_type'=>'Limit', 'qty'=>'1', 'price'=>'4000', 'time_in_force'=>'GoodTillCancel', ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->privates()->getStopOrder([ 'order_id'=>'xxxxxxxxxxxxx', //'order_link_id'=>'xxxxxxxxxxxxxx', 'symbol'=>'BTCUSD', ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->privates()->postStopOrderReplace([ 'order_id'=>'xxxxxxxxxxxxx', 'symbol'=>'BTCUSD', 'p_r_qty'=>'2', 'p_r_price'=>'4999' ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->privates()->postStopOrderCancel([ 'order_id'=>'xxxxxxxxxxxxx', //'order_link_id'=>'xxxxxxxxxxxxxx', 'symbol'=>'BTCUSD', ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->privates()->getStopOrderList([ 'order_id'=>'xxxxxxxxxxxxx', //'order_link_id'=>'xxxxxxxxxxxxxx', 'symbol'=>'BTCUSD', ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); }
My Position Api More
$bybit=new BybitInverse($key,$secret); try { $result=$bybit->privates()->getPositionList([ 'symbol'=>'BTCUSD', ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->privates()->postChangePositionMargin([ 'symbol'=>'BTCUSD', 'margin'=>'1' ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->privates()->postPositionTradingStop([ 'symbol'=>'BTCUSD', ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->privates()->getUserLeverage(); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->privates()->postUserLeverageSave([ 'symbol'=>'BTCUSD', 'leverage'=>'1' ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->privates()->getExecutionList([ 'symbol'=>'BTCUSD', ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); }