hellovoid / gdax
GDAX API library
Installs: 8 026
Dependents: 0
Suggesters: 0
Security: 0
Stars: 16
Watchers: 3
Forks: 8
Open Issues: 1
Requires
- php: >=5.5.0
- guzzlehttp/guzzle: ^6.0
Requires (Dev)
- phpunit/phpunit: ^4.7
This package is not auto-updated.
Last update: 2025-03-02 07:16:04 UTC
README
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.
Pagination #ref
Your 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);
Accounts #ref
List Accounts
$client->getAccounts();
Account details
$client->getAccount($accountId);
Account history
$client->getAccountHistory($accountId);
Account holds
$client->getAccountHolds($accountId);
Orders #ref
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:
$response = $client->ordersCancel([ 'product_id' => $productId ]);
List orders
$response = $client->getOrders();
Get order details
$response = $client->getOrder($orderId);
Fills #ref
List fills
$response = $client->getFills([ 'order_id' => 'all', 'product_id' => 'all' ]);
Funding #ref
List fundings
Get fundings with status "settled".
$response = $client->getFundings([ 'status' => 'settled', // outstanding, settled, or rejected ]);
Repay
$response = $client->fundingRepay([ 'amount' => 1.00, 'currency' => 'EUR', ]);
Margin Transfer #ref
$response = $client->marginTransfer([ 'margin_profile_id' => '45fa9e3b-00ba-4631-b907-8a98cbdf21be', 'type' => 'deposit', 'currency' => 'USD', 'amount' => 2, ]);
Position #ref
Get overview of your profile
$response = $client->position();
Close
$response = $client->positionClose([ 'repay_only' => true ]);
Deposits #ref
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.
$response = $client->depositCoinbase([ 'amount' => 2.00, 'currency' => 'BTC', 'coinbase_account_id' => 'c13cd0fc-72ca-55e9-843b-b84ef628c198' ]);
Withdrawals #ref
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.
$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' ]);
Payment methods #ref
Get a list of your payment methods.
$response = $client->getPaymentMethods();
Coinbase accounts #ref
Get a list of your coinbase accounts.
$response = $client->getCoinbaseAccounts();
Reports #ref
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);
Products #ref
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);
Currencies #ref
$response = $client->getCurrencies();
Get Time #ref
$response = $client->getTime();