GDAX PHP API Client Library
This is the unofficial client library for the GDAX API. Inspired by Coinbase PHP Library.
Installation
Install the library using Composer. Please read the Composer Documentation if you are unfamiliar with Composer or dependency managers in general.
composer require hellovoid/gdax
Authentication
Use an API key, secret and passphrase to access your own GDAX account.
use Hellovoid\Gdax\Configuration;
use Hellovoid\Gdax\Client;
$configuration = Configuration::apiKey($apiKey, $apiSecret, $apiPassphrase);
$client = Client::create($configuration);
Response
Every successful method request returns decoded json array.
#ref
PaginationYour requests should use these cursor values when making requests for pages after the initial request.
Parameter | Description |
---|---|
$before | Request page before (newer) this pagination id. (default null) |
$after | Request page after (older) this pagination id. (default null) |
$limit | Number of results per request. Maximum 100. (default 100) |
use \Hellovoid\Gdax\Pagination;
$pagination = Pagination::create($before, null, $limit);
$client->setPagination($pagination);
$pagination->setEndingBefore(null);
$pagination->setStartingAfter($after);
#ref
AccountsList Accounts
$client->getAccounts();
Account details
$client->getAccount($accountId);
Account history
$client->getAccountHistory($accountId);
Account holds
$client->getAccountHolds($accountId);
#ref
OrdersPlace new order
$order = $client->placeOrder([
'size' => 0.1,
'price' => 0.1,
'side' => 'buy',
'product_id' => 'BTC-USD'
]);
Cancel an order
try {
$response = $client->orderCancel($orderId);
} catch (HttpException $e) { // Order could not be canceled
$e->getMessage();
}
Cancel all orders
$response = $client->ordersCancel();
Cancel all orders for a specific product:
$response = $client->ordersCancel([
'product_id' => $productId
]);
List orders
$response = $client->getOrders();
Get order details
$response = $client->getOrder($orderId);
#ref
FillsList fills
$response = $client->getFills([
'order_id' => 'all',
'product_id' => 'all'
]);
#ref
FundingList fundings
Get fundings with status "settled".
$response = $client->getFundings([
'status' => 'settled', // outstanding, settled, or rejected
]);
Repay
$response = $client->fundingRepay([
'amount' => 1.00,
'currency' => 'EUR',
]);
#ref
Margin Transfer$response = $client->marginTransfer([
'margin_profile_id' => '45fa9e3b-00ba-4631-b907-8a98cbdf21be',
'type' => 'deposit',
'currency' => 'USD',
'amount' => 2,
]);
#ref
PositionGet overview of your profile
$response = $client->position();
Close
$response = $client->positionClose([
'repay_only' => true
]);
#ref
DepositsPayment method
$response = $client->depositPaymentMethod([
'amount' => 2.00,
'currency' => 'USD',
'payment_method_id' => 'bc677162-d934-5f1a-968c-a496b1c1270b'
]);
Coinbase
Deposit funds from a coinbase account.
$response = $client->depositCoinbase([
'amount' => 2.00,
'currency' => 'BTC',
'coinbase_account_id' => 'c13cd0fc-72ca-55e9-843b-b84ef628c198'
]);
#ref
WithdrawalsPayment method
$response = $client->withdrawalPaymentMethod([
'amount' => 2.00,
'currency' => 'USD',
'payment_method_id' => 'bc677162-d934-5f1a-968c-a496b1c1270b'
]);
Coinbase
Withdrawal funds to a coinbase account.
$response = $client->withdrawalCoinbase([
'amount' => 2.00,
'currency' => 'BTC',
'coinbase_account_id' => 'c13cd0fc-72ca-55e9-843b-b84ef628c198'
]);
Crypto
Withdrawal funds to a crypto address.
$response = $client->withdrawalCoinbase([
'amount' => 0.01,
'currency' => 'BTC',
'crypto_address' => '0x5ad5769cd04681FeD900BCE3DDc877B50E83d469'
]);
#ref
Payment methodsGet a list of your payment methods.
$response = $client->getPaymentMethods();
#ref
Coinbase accountsGet a list of your coinbase accounts.
$response = $client->getCoinbaseAccounts();
#ref
ReportsCreate a new report
$response = $client->createReport([
'type' => 'fills',
'start_date' => '2014-11-01T00:00:00.000Z',
'end_date' => '2014-11-30T23:59:59.000Z'
]);
Get report status
$response = $client->getReportStatus($reportId);
#ref
ProductsGet products
$response = $client->getProducts();
Get Product Order Book
$response = $client->getProductOrderBook($productId);
Get Product Ticker
$response = $client->getProductTicker($productId);
Get Product Trades
$response = $client->getProductTrades($productId);
Get Historic Rates
$response = $client->getProductHistoricRates($productId);
Get 24hr Stats
$response = $client->getProductLast24HrStats($productId);
#ref
Currencies$response = $client->getCurrencies();
#ref
Get Time$response = $client->getTime();