FTX docs https://docs.ftx.com/
All interface methods are initialized the same as those provided by FTX. See details src/api
Most of the interface is now complete, and the user can continue to extend it based on my design, working with me to improve it.
Exchanges It includes all of the following exchanges and is highly recommended.
If you don't find the exchange SDK you want, you can tell me and I'll join them.
composer require linwj/ftx
Support for more request Settings
//spot
use Lin\Ftx\Ftx;
$ftx=new Ftx();
//or
$ftx=new Ftx($key,$secret);
//You can set special needs
$ftx->setOptions([
//Set the request timeout to 60 seconds by default
'timeout'=>10,
//https://github.com/guzzle/guzzle
//'proxy'=>[],
//https://www.php.net/manual/en/book.curl.php
//'curl'=>[],
//FTX-SUBACCOUNT (optional): URI-encoded name of the subaccount to use. Omit if not using subaccounts.
//'headers'=>['FTX-SUBACCOUNT'=>'xxxx']
]);
Market API More
$ftx=new Ftx();
try {
$result=$ftx->markets()->gets();
print_r($result);
}catch (\Exception $e){
print_r($e->getMessage());
}
try {
$result=$ftx->markets()->get([
'market_name'=>'BTC/USD',// BTC/USD BTC-PERP BTC-0626
//'depth'=>'10'
]);
print_r($result);
}catch (\Exception $e){
print_r($e->getMessage());
}
try {
$result=$ftx->markets()->getOrderBook([
'market_name'=>'BTC-PERP',// BTC/USD BTC-PERP BTC-0626
//'depth'=>'10'
]);
print_r($result);
}catch (\Exception $e){
print_r($e->getMessage());
}
try {
$result=$ftx->markets()->getTrades([
'market_name'=>'BTC-0626',// BTC/USD BTC-PERP BTC-0626
//'depth'=>'10'
]);
print_r($result);
}catch (\Exception $e){
print_r($e->getMessage());
}
try {
$result=$ftx->markets()->getCandles([
'market_name'=>'BTC-0628',// BTC/USD BTC-PERP BTC-0626
'resolution'=>'60'
]);
print_r($result);
}catch (\Exception $e){
print_r($e->getMessage());
}
Account API More
$ftx=new Ftx($key,$secret);
try {
$result=$ftx->account()->get();
print_r($result);
}catch (\Exception $e){
print_r($e->getMessage());
}
try {
$result=$ftx->account()->getPositions();
print_r($result);
}catch (\Exception $e){
print_r($e->getMessage());
}
Orders API More
$ftx=new Ftx($key,$secret);
try {
$result=$ftx->orders()->post([
'market'=>'BTC/USD',
'side'=>'buy',
'price'=>'10000',
'type'=>'limit',
'size'=>'1',
//'clientId'=>'1234567890',
]);
print_r($result);
}catch (\Exception $e){
print_r($e->getMessage());
}
try {
$result=$ftx->orders()->get([
'order_id'=>'1234567890',
]);
print_r($result);
$result=$ftx->orders()->getByClientId([
'client_order_id'=>'1234567890',
]);
print_r($result);
}catch (\Exception $e){
print_r($e->getMessage());
}
try {
$result=$ftx->orders()->delete([
'order_id'=>'1234567890',
]);
print_r($result);
$result=$ftx->orders()->deleteByClientId([
'client_order_id'=>'1234567890',
]);
print_r($result);
}catch (\Exception $e){
print_r($e->getMessage());
}
More Test more