It is recommended that you read the official document first
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.
Other exchanges API
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.
Installation
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']
]);
Exchange
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