Skip to content

hellovoid/gdax

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Latest Stable Version Total Downloads License

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();