, (*1)
GDAX PHP API Client Library
This is the unofficial client library for the GDAX API.
Inspired by [Coinbase PHP Library][2]., (*2)
Installation
Install the library using Composer. Please read the Composer Documentation if you are unfamiliar with Composer or dependency managers in general., (*3)
composer require hellovoid/gdax
Authentication
Use an API key, secret and passphrase to access your own GDAX account., (*4)
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., (*5)
Your requests should use these cursor values when making requests for pages after the initial request., (*6)
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);
List Accounts
$client->getAccounts();
Account details
$client->getAccount($accountId);
Account history
$client->getAccountHistory($accountId);
Account holds
$client->getAccountHolds($accountId);
Place 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:, (*7)
$response = $client->ordersCancel([
'product_id' => $productId
]);
List orders
$response = $client->getOrders();
Get order details
$response = $client->getOrder($orderId);
List fills
$response = $client->getFills([
'order_id' => 'all',
'product_id' => 'all'
]);
List fundings
Get fundings with status "settled"., (*8)
$response = $client->getFundings([
'status' => 'settled', // outstanding, settled, or rejected
]);
Repay
$response = $client->fundingRepay([
'amount' => 1.00,
'currency' => 'EUR',
]);
$response = $client->marginTransfer([
'margin_profile_id' => '45fa9e3b-00ba-4631-b907-8a98cbdf21be',
'type' => 'deposit',
'currency' => 'USD',
'amount' => 2,
]);
Get overview of your profile
$response = $client->position();
Close
$response = $client->positionClose([
'repay_only' => true
]);
Payment method
$response = $client->depositPaymentMethod([
'amount' => 2.00,
'currency' => 'USD',
'payment_method_id' => 'bc677162-d934-5f1a-968c-a496b1c1270b'
]);
Coinbase
Deposit funds from a coinbase account., (*9)
$response = $client->depositCoinbase([
'amount' => 2.00,
'currency' => 'BTC',
'coinbase_account_id' => 'c13cd0fc-72ca-55e9-843b-b84ef628c198'
]);
Payment method
$response = $client->withdrawalPaymentMethod([
'amount' => 2.00,
'currency' => 'USD',
'payment_method_id' => 'bc677162-d934-5f1a-968c-a496b1c1270b'
]);
Coinbase
Withdrawal funds to a coinbase account., (*10)
$response = $client->withdrawalCoinbase([
'amount' => 2.00,
'currency' => 'BTC',
'coinbase_account_id' => 'c13cd0fc-72ca-55e9-843b-b84ef628c198'
]);
Crypto
Withdrawal funds to a crypto address., (*11)
$response = $client->withdrawalCoinbase([
'amount' => 0.01,
'currency' => 'BTC',
'crypto_address' => '0x5ad5769cd04681FeD900BCE3DDc877B50E83d469'
]);
Get a list of your payment methods., (*12)
$response = $client->getPaymentMethods();
Get a list of your coinbase accounts., (*13)
$response = $client->getCoinbaseAccounts();
Create 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);
Get 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);
$response = $client->getCurrencies();
$response = $client->getTime();