Coinbase docs https://developers.coinbase.com/api/v2
Coinbase Pro migrated to V3.
Coinbase Pro docs https://docs.cdp.coinbase.com/advanced-trade/docs/welcome
All interface methods are initialized the same as those provided by Coinbase. 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.
composer require devstar/coinbase
Support for more request Settings
$coinbase=new Coinbase();
//or
$coinbase=new CoinbasePro();
// or
$coinbase=new CoinbaseExchange();
//You can set special needs
$coinbase->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,
]);Publics API More
$coinbase=new Coinbase();
try {
$result=$coinbase->publics()->getTime();
print_r($result);
}catch (\Exception $e){
print_r(json_decode($e->getMessage(),true));
}
try {
$result=$coinbase->publics()->getCurrencies();
print_r($result);
}catch (\Exception $e){
print_r(json_decode($e->getMessage(),true));
}
try {
$result=$coinbase->publics()->getExchangeRates();
print_r($result);
}catch (\Exception $e){
print_r(json_decode($e->getMessage(),true));
}
try {
$result=$coinbase->publics()->getPricesBuy([
'currency_pair'=>'BTC-USD'
]);
print_r($result);
}catch (\Exception $e){
print_r(json_decode($e->getMessage(),true));
}
try {
$result=$coinbase->publics()->getPricesSell([
'currency_pair'=>'BTC-USD'
]);
print_r($result);
}catch (\Exception $e){
print_r(json_decode($e->getMessage(),true));
}
try {
$result=$coinbase->publics()->getPricesSpot([
'currency_pair'=>'BTC-USD'
]);
print_r($result);
}catch (\Exception $e){
print_r(json_decode($e->getMessage(),true));
}Privates API More
//User
try {
$result=$coinbase->privates()->getUsers();
print_r($result);
}catch (\Exception $e){
print_r(json_decode($e->getMessage(),true));
}
try {
$result=$coinbase->privates()->getUser([
'user_id'=>'fb352ff7-ce80-53ac-b0e1-7cfe51eca2ff'
]);
print_r($result);
}catch (\Exception $e){
print_r(json_decode($e->getMessage(),true));
}
try {
$result=$coinbase->privates()->getUserAuth();
print_r($result);
}catch (\Exception $e){
print_r(json_decode($e->getMessage(),true));
}
try {
$result=$coinbase->privates()->putUser([
'name'=>'linwenjun'
]);
print_r($result);
}catch (\Exception $e){
print_r(json_decode($e->getMessage(),true));
}
//Accounts
try {
$result=$coinbase->privates()->getAccounts();
print_r($result);
}catch (\Exception $e){
print_r(json_decode($e->getMessage(),true));
}
try {
$result=$coinbase->privates()->getAccount([
'account_id'=>'BTC'
]);
print_r($result);
}catch (\Exception $e){
print_r(json_decode($e->getMessage(),true));
}
try {
$result=$coinbase->privates()->putAccount([
'account_id'=>'BTC',
'name'=>'bbttcc'
]);
print_r($result);
}catch (\Exception $e){
print_r(json_decode($e->getMessage(),true));
}
//Addresses
try {
$result=$coinbase->privates()->getAccountAddresses([
'account_id'=>'BTC'
]);
print_r($result);
}catch (\Exception $e){
print_r(json_decode($e->getMessage(),true));
}
//List transactions
try {
$result=$coinbase->privates()->getAccountTransactions([
'account_id'=>'b1096c85-fbf8-5293-9424-5af475446ebd'
]);
print_r($result);
}catch (\Exception $e){
print_r(json_decode($e->getMessage(),true));
}
//List buys
try {
$result=$coinbase->privates()->getAccountBuys([
'account_id'=>'b1096c85-fbf8-5293-9424-5af475446ebd'
]);
print_r($result);
}catch (\Exception $e){
print_r(json_decode($e->getMessage(),true));
}
try {
$result=$coinbase->privates()->getPaymentMethods();
print_r($result);
}catch (\Exception $e){
print_r(json_decode($e->getMessage(),true));
}
//Place buy order
try {
$result=$coinbase->privates()->postAccountBuys([
'account_id'=>'b1096c85-fbf8-5293-9424-5af475446ebd',
'amount'=>'1',
'currency'=>'BTC',
//'payment_method'=>'83562370-3e5c-51db-87da-752af5ab9559',
]);
print_r($result);
}catch (\Exception $e){
print_r(json_decode($e->getMessage(),true));
}Market related API More
$coinbase=new CoinbasePro();
try {
$result=$coinbase->product()->getList();
print_r($result);
}catch (\Exception $e){
print_r($e->getMessage());
}
try {
$result=$coinbase->product()->getBook([
'product_id'=>'BTC-USD',
]);
print_r($result);
}catch (\Exception $e){
print_r($e->getMessage());
}
try {
$result=$coinbase->product()->getCandles([
'product_id'=>'BTC-USD',
]);
print_r($result);
}catch (\Exception $e){
print_r($e->getMessage());
}Order related API More
$coinbase=new CoinbasePro($key,$secret,$passphrase);
//****************************Market
try {
$result=$coinbase->order()->post([
'client_order_id' => time()."",
'side'=>'SELL',
'product_id'=>"BTC-USD",
'order_configuration' => [
'market_market_ioc' => [
'base_size'=>'0.001'
]
]
]);
print_r($result);
}catch (\Exception $e){
print_r($e->getMessage());
}
sleep(1);
//track the order
try {
$result=$coinbase->order()->get([
'id'=>$result['order_id'],
]);
print_r($result);
}catch (\Exception $e){
print_r($e->getMessage());
}
sleep(1);
//cancellation of order
try {
$result=$coinbase->order()->delete([
'id'=>$result['order_id'],
//'id'=>'6bad6a7d-b01a-4a93-9e6e-e9934bcef4ef',
]);
print_r($result);
}catch (\Exception $e){
print_r($e->getMessage());
}
//track the order
try {
$result=$coinbase->order()->get([
'id'=>$result['order_id'],
//'client_oid'=>''
]);
print_r($result);
}catch (\Exception $e){
print_r($e->getMessage());
}Accounts related API More
$coinbase=new CoinbaseExchange($key,$secret,$passphrase);
try {
$result=$coinbase->account()->getList();
print_r($result);
}catch (\Exception $e){
print_r($e->getMessage());
}
try {
$result=$coinbase->account()->get([
'account_id'=>'c74a36f5-4f2b-495b-be29-6eb2458d1b3a'
]);
print_r($result);
}catch (\Exception $e){
print_r($e->getMessage());
}
try {
$result=$coinbase->account()->getHolds([
'account_id'=>'c74a36f5-4f2b-495b-be29-6eb2458d1b3a'
]);
print_r($result);
}catch (\Exception $e){
print_r($e->getMessage());
}
try {
$result=$coinbase->account()->getLedger([
'account_id'=>'c74a36f5-4f2b-495b-be29-6eb2458d1b3a'
]);
print_r($result);
}catch (\Exception $e){
print_r($e->getMessage());
}./vendor/bin/phpunit --bootstrap vendor/autoload.php tests/coinbase/AccountTest.php More Test