PHPackages                             kucoin/kucoin-php-sdk - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [HTTP &amp; Networking](/categories/http)
4. /
5. kucoin/kucoin-php-sdk

ActiveLibrary[HTTP &amp; Networking](/categories/http)

kucoin/kucoin-php-sdk
=====================

PHP SDK for KuCoin API

v1.1.33(1y ago)7958.6k↓45.2%40[5 issues](https://github.com/Kucoin/kucoin-php-sdk/issues)MITPHPPHP &gt;=5.5.0CI failing

Since Jan 8Pushed 1y ago11 watchersCompare

[ Source](https://github.com/Kucoin/kucoin-php-sdk)[ Packagist](https://packagist.org/packages/kucoin/kucoin-php-sdk)[ Docs](https://github.com/Kucoin/kucoin-php-sdk)[ RSS](/packages/kucoin-kucoin-php-sdk/feed)WikiDiscussions master Synced 2d ago

READMEChangelog (10)Dependencies (4)Versions (51)Used By (0)

PHP SDK for KuCoin API
======================

[](#php-sdk-for-kucoin-api)

> The detailed document , in order to receive the latest API change notifications, please `Watch` this repository.

[![Latest Version](https://camo.githubusercontent.com/1e443c521ee32abac7054ca01633d76ec2ace61a90472012b9356672b40897ff/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f72656c656173652f4b75636f696e2f6b75636f696e2d7068702d73646b2e737667)](https://github.com/Kucoin/kucoin-php-sdk/releases)[![PHP Version](https://camo.githubusercontent.com/48406c13b71e95daaf6f82037c9c7577a99a8d960305db7b0806679e11063a55/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f6b75636f696e2f6b75636f696e2d7068702d73646b2e7376673f636f6c6f723d677265656e)](https://secure.php.net)[![Build Status](https://camo.githubusercontent.com/e896599ca32356a88255dbf81b8aa2bc4cc3fcc807c6b83c76fae2de95251bdd/68747470733a2f2f7472617669732d63692e6f72672f4b75636f696e2f6b75636f696e2d7068702d73646b2e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/Kucoin/kucoin-php-sdk)[![Total Downloads](https://camo.githubusercontent.com/6ad5cefce0f5961289666f8098b980319156ea0a3ec4e372c9f2ae2c5b826067/68747470733a2f2f706f7365722e707567782e6f72672f6b75636f696e2f6b75636f696e2d7068702d73646b2f646f776e6c6f616473)](https://packagist.org/packages/kucoin/kucoin-php-sdk)[![License](https://camo.githubusercontent.com/e88f14defa212ea4572553921b02127430213a82c8b421dbd62c66bf294b2795/68747470733a2f2f706f7365722e707567782e6f72672f6b75636f696e2f6b75636f696e2d7068702d73646b2f6c6963656e7365)](LICENSE)

Requirements
------------

[](#requirements)

DependencyRequirement[PHP](https://secure.php.net/manual/en/install.php)`>=5.5.0` `Recommend PHP7+`[guzzlehttp/guzzle](https://github.com/guzzle/guzzle)`^6.0|^7.0`Install
-------

[](#install)

> Install package via [Composer](https://getcomposer.org/).

```
composer require "kucoin/kucoin-php-sdk:~1.1.0"
```

Usage
-----

[](#usage)

### Choose environment

[](#choose-environment)

EnvironmentBaseUri*Production*```
// Switch to the sandbox environment
KuCoinApi::setBaseUri('https://api.kucoin.com');
```

### Debug mode &amp; logging

[](#debug-mode--logging)

```
// Debug mode will record the logs of API and WebSocket to files in the directory "KuCoinApi::getLogPath()" according to the minimum log level "KuCoinApi::getLogLevel()".
KuCoinApi::setDebugMode(true);

// Logging in your code
// KuCoinApi::setLogPath('/tmp');
// KuCoinApi::setLogLevel(Monolog\Logger::DEBUG);
KuCoinApi::getLogger()->debug("I'm a debug message");
```

### Examples

[](#examples)

> See the [test case](tests) for more examples.

#### Example of API `without` authentication

[](#example-of-api-without-authentication)

```
use KuCoin\SDK\PublicApi\Time;

$api = new Time();
$timestamp = $api->timestamp();
var_dump($timestamp);
```

##### **Note**

[](#note)

To reinforce the security of the API, KuCoin upgraded the API key to version 2.0, the validation logic has also been changed. It is recommended to create() and update your API key to version 2.0. The API key of version 1.0 will be still valid until May 1, 2021

#### Example of API `with` authentication

[](#example-of-api-with-authentication)

```
use KuCoin\SDK\PrivateApi\Account;
use KuCoin\SDK\Exceptions\HttpException;
use KuCoin\SDK\Exceptions\BusinessException;
use KuCoin\SDK\Auth;

// Auth version v2 (recommend)
$auth = new Auth('key', 'secret', 'passphrase', Auth::API_KEY_VERSION_V2);
// Auth version v1
// $auth = new Auth('key', 'secret', 'passphrase');

$api = new Account($auth);

try {
    $result = $api->getList(['type' => 'main']);
    var_dump($result);
} catch (HttpException $e) {
    var_dump($e->getMessage());
} catch (BusinessException $e) {
    var_dump($e->getMessage());
}
```

#### Example of WebSocket feed

[](#example-of-websocket-feed)

```
use KuCoin\SDK\Auth;
use KuCoin\SDK\PrivateApi\WebSocketFeed;
use Ratchet\Client\WebSocket;
use React\EventLoop\Loop;
use React\EventLoop\LoopInterface;

$auth = null;
// Need to pass the Auth parameter when subscribing to a private channel($api->subscribePrivateChannel()).
// $auth = new Auth('key', 'secret', 'passphrase');
$api = new WebSocketFeed($auth);

// Use a custom event loop instance if you like
//$loop = Loop::get();
//$loop->addPeriodicTimer(1, function () {
//    var_dump(date('Y-m-d H:i:s'));
//});
//$api->setLoop($loop);

$query = ['connectId' => uniqid('', true)];
$channels = [
    ['topic' => '/market/ticker:KCS-BTC'], // Subscribe multiple channels
    ['topic' => '/market/ticker:ETH-BTC'],
];

$api->subscribePublicChannels($query, $channels, function (array $message, WebSocket $ws, LoopInterface $loop) use ($api) {
    var_dump($message);

    // Subscribe another channel
    // $ws->send(json_encode($api->createSubscribeMessage('/market/ticker:LTC-BTC')));

    // Unsubscribe the channel
    // $ws->send(json_encode($api->createUnsubscribeMessage('/market/ticker:ETH-BTC')));

    // Stop loop
    // $loop->stop();
}, function ($code, $reason) {
    echo "OnClose: {$code} {$reason}\n";
});
```

#### Add custom options

[](#add-custom-options)

```
use KuCoin\SDK\PublicApi\Time;

$api = new Time(null, new GuzzleHttp([
    'curl' => [ // custom cURL options: https://www.php.net/manual/en/function.curl-setopt
        CURLOPT_TCP_NODELAY => true, // Disable TCP's Nagle algorithm, which tries to minimize the number of small packets on the network.
        // ...
    ],
]));
$timestamp = $api->timestamp();
var_dump($timestamp);
```

```
use KuCoin\SDK\Auth;
use KuCoin\SDK\Http\GuzzleHttp;
use KuCoin\SDK\KuCoinApi;
use KuCoin\SDK\PrivateApi\WebSocketFeed;
use Ratchet\Client\WebSocket;
use React\EventLoop\Factory;
use React\EventLoop\LoopInterface;

$api = new WebSocketFeed(
    null,
    new GuzzleHttp([
        'curl' => [ // Custom cURL options: https://www.php.net/manual/en/function.curl-setopt
            CURLOPT_TCP_NODELAY => true, // Disable TCP's Nagle algorithm, which tries to minimize the number of small packets on the network.
            // ...
        ],
    ])
);
$query = ['connectId' => uniqid('', true)];
$channels = [
    ['topic' => '/market/ticker:KCS-BTC'],
    ['topic' => '/market/ticker:ETH-BTC'],
];
$options = ['tcp' => ['tcp_nodelay' => true]]; // Custom socket context options: https://www.php.net/manual/zh/context.socket
$api->subscribePublicChannels($query, $channels, function (array $message, WebSocket $ws, LoopInterface $loop) use ($api) {
    var_dump($message);
}, function ($code, $reason) {
    echo "OnClose: {$code} {$reason}\n";
}, $options);
```

#### ⚡️Coroutine HTTP client for asynchronous IO

[](#️coroutine-http-client-for-asynchronous-io)

> See the [benchmark](examples/BenchmarkCoroutine.php), almost `20x` faster than `curl`.

```
pecl install swoole
composer require swlib/saber
```

```
use KuCoin\SDK\Auth;
use KuCoin\SDK\Http\SwooleHttp;
use KuCoin\SDK\KuCoinApi;
use KuCoin\SDK\PrivateApi\Order;
use KuCoin\SDK\PublicApi\Time;

// Require PHP 7.1+ and Swoole 2.1.2+
// Require running in cli mode

go(function () {
    $api = new Time(null, new SwooleHttp);
    $timestamp = $api->timestamp();
    var_dump($timestamp);
});

go(function () {
    // Auth version v2 (recommend)
    $auth = new Auth('key', 'secret', 'passphrase', Auth::API_KEY_VERSION_V2);
    // Auth version v1
    // $auth = new Auth('key', 'secret', 'passphrase');
    $api = new Order($auth, new SwooleHttp);
    // Create 50 orders CONCURRENTLY in 1 second
    for ($i = 0; $i < 50; $i++) {
        go(function () use ($api, $i) {
            $order = [
                'clientOid' => uniqid(),
                'price'     => '1',
                'size'      => '1',
                'symbol'    => 'BTC-USDT',
                'type'      => 'limit',
                'side'      => 'buy',
                'remark'    => 'ORDER#' . $i,
            ];
            try {
                $result = $api->create($order);
                var_dump($result);
            } catch (\Throwable $e) {
                var_dump($e->getMessage());
            }
        });
    }
});
```

### API list

[](#api-list)

KuCoin\\SDK\\PrivateApi\\AccountAPIAuthenticationDescriptionKuCoin\\SDK\\PrivateApi\\Account::create()YESKuCoin\\SDK\\PrivateApi\\Account::getList()YESKuCoin\\SDK\\PrivateApi\\Account::getDetail()YESKuCoin\\SDK\\PrivateApi\\Account::getLedgers()YES`DEPRECATED` KuCoin\\SDK\\PrivateApi\\Account::getHolds()YESKuCoin\\SDK\\PrivateApi\\Account::innerTransfer()YES`DEPRECATED` KuCoin\\SDK\\PrivateApi\\Account::innerTransferV2()YESKuCoin\\SDK\\PrivateApi\\Account::getSubAccountUsers()YESKuCoin\\SDK\\PrivateApi\\Account::getSubAccountDetail()YESKuCoin\\SDK\\PrivateApi\\Account::getSubAccountList()YESKuCoin\\SDK\\PrivateApi\\Account::subTransfer()YES`DEPRECATED` KuCoin\\SDK\\PrivateApi\\Account::subTransferV2()YESKuCoin\\SDK\\PrivateApi\\Account::getLedgersV2()YESKuCoin\\SDK\\PrivateApi\\Account::getSubUserV2()YESKuCoin\\SDK\\PrivateApi\\Account::getUserinfoV2()YESKuCoin\\SDK\\PrivateApi\\Account::createSubUserV2()YESKuCoin\\SDK\\PrivateApi\\Account::createSubUserApiKey()YESKuCoin\\SDK\\PrivateApi\\Account::getSubUserApiKey()YESKuCoin\\SDK\\PrivateApi\\Account::updateSubUserApiKey()YESKuCoin\\SDK\\PrivateApi\\Account::deleteSubUserApiKey()YESKuCoin\\SDK\\PrivateApi\\Account::getSubAccountListV2()YESKuCoin\\SDK\\PrivateApi\\Account::getAccountTransferable()YESKuCoin\\SDK\\PrivateApi\\Account::getHfLedgersV2()YESKuCoin\\SDK\\PrivateApi\\DepositAPIAuthenticationDescriptionKuCoin\\SDK\\PrivateApi\\Deposit::createAddress()YESKuCoin\\SDK\\PrivateApi\\Deposit::getAddress()YESKuCoin\\SDK\\PrivateApi\\Deposit::getAddresses()YESKuCoin\\SDK\\PrivateApi\\Deposit::getDeposits()YESKuCoin\\SDK\\PrivateApi\\Deposit::getV1Deposits()YESKuCoin\\SDK\\PrivateApi\\TradeFeeAPIAuthenticationDescriptionKuCoin\\SDK\\PrivateApi\\TradeFee::getBaseFee()YESKuCoin\\SDK\\PrivateApi\\TradeFee::getTradeFees()YESKuCoin\\SDK\\PrivateApi\\SymbolAPIAuthenticationDescriptionKuCoin\\SDK\\PrivateApi\\Symbol::getAggregatedFullOrderBook()NO`DEPRECATED`KuCoin\\SDK\\PrivateApi\\OrderAPIAuthenticationDescriptionKuCoin\\SDK\\PrivateApi\\Order::create()YESKuCoin\\SDK\\PrivateApi\\Order::createMulti()YESKuCoin\\SDK\\PrivateApi\\Order::cancel()YESKuCoin\\SDK\\PrivateApi\\Order::cancelAll()YESKuCoin\\SDK\\PrivateApi\\Order::getList()YESKuCoin\\SDK\\PrivateApi\\Order::getV1List()YES`DEPRECATED`KuCoin\\SDK\\PrivateApi\\Order::getDetail()YESKuCoin\\SDK\\PrivateApi\\Order::getRecentList()YESKuCoin\\SDK\\PrivateApi\\Order::createMarginOrder()YESKuCoin\\SDK\\PrivateApi\\Order::cancelByClientOid()YESKuCoin\\SDK\\PrivateApi\\Order::getDetailByClientOid()YESKuCoin\\SDK\\PrivateApi\\Order::hfCreate()YESKuCoin\\SDK\\PrivateApi\\Order::hfSyncCreate()YESKuCoin\\SDK\\PrivateApi\\Order::hfCreateMulti()YESKuCoin\\SDK\\PrivateApi\\Order::hfSyncCreateMulti()YESKuCoin\\SDK\\PrivateApi\\Order::hfModify()YESKuCoin\\SDK\\PrivateApi\\Order::hfCancel()YESKuCoin\\SDK\\PrivateApi\\Order::hfSyncCancel()YESKuCoin\\SDK\\PrivateApi\\Order::hfCancelByClientOid()YESKuCoin\\SDK\\PrivateApi\\Order::hfSyncCancelByClientOid()YESKuCoin\\SDK\\PrivateApi\\Order::hfSyncCancelSize()YESKuCoin\\SDK\\PrivateApi\\Order::hfSyncCancelAll()YESKuCoin\\SDK\\PrivateApi\\Order::getActiveOrderList()YESKuCoin\\SDK\\PrivateApi\\Order::getActiveSymbols()YESKuCoin\\SDK\\PrivateApi\\Order::getDoneOrderList()YESKuCoin\\SDK\\PrivateApi\\Order::getHfDetail()YESKuCoin\\SDK\\PrivateApi\\Order::getHfDetailByClientOid()YESKuCoin\\SDK\\PrivateApi\\Order::hfAutoCancel()YESKuCoin\\SDK\\PrivateApi\\Order::getHfAutoCancel()YESKuCoin\\SDK\\PrivateApi\\Order::getHfFills()YESKuCoin\\SDK\\PrivateApi\\Order::hfCancelAll()YESKuCoin\\SDK\\PrivateApi\\Order::createHfMarginOrder()YESKuCoin\\SDK\\PrivateApi\\Order::cancelMarginHfOrder()YESKuCoin\\SDK\\PrivateApi\\Order::cancelMarginHfOrderByClientOid()YESKuCoin\\SDK\\PrivateApi\\Order::cancelAllMarginHfOrder()YESKuCoin\\SDK\\PrivateApi\\Order::getMarginHfActiveOrders()YESKuCoin\\SDK\\PrivateApi\\Order::getMarginHfFilledOrders()YESKuCoin\\SDK\\PrivateApi\\Order::getMarginHfDetail()YESKuCoin\\SDK\\PrivateApi\\Order::getMarginHfDetailByClientOid()YESKuCoin\\SDK\\PrivateApi\\Order::getMarginHfFills()YESKuCoin\\SDK\\PrivateApi\\Order::getMarginHfActiveSymbols()YESKuCoin\\SDK\\PrivateApi\\OrderTestAPIAuthenticationDescriptionKuCoin\\SDK\\PrivateApi\\Order::createTest()YESKuCoin\\SDK\\PrivateApi\\Order::hfCreateTest()YESKuCoin\\SDK\\PrivateApi\\Order::createMarginTestOrder()YESKuCoin\\SDK\\PrivateApi\\OcoOrderAPIAuthenticationDescriptionKuCoin\\SDK\\PrivateApi\\OcoOrder::create()YESKuCoin\\SDK\\PrivateApi\\OcoOrder::cancel()YESKuCoin\\SDK\\PrivateApi\\OcoOrder::cancelByClientOid()YESKuCoin\\SDK\\PrivateApi\\OcoOrder::cancelMulti()YESKuCoin\\SDK\\PrivateApi\\OcoOrder::getDetail()YESKuCoin\\SDK\\PrivateApi\\OcoOrder::getDetailByClientOid()YESKuCoin\\SDK\\PrivateApi\\OcoOrder::getList()YESKuCoin\\SDK\\PrivateApi\\EarnAPIAuthenticationDescriptionKuCoin\\SDK\\PrivateApi\\Earn::getSavingProducts()YESKuCoin\\SDK\\PrivateApi\\Earn::getPromotionProducts()YESKuCoin\\SDK\\PrivateApi\\Earn::getStakingProducts()YESKuCoin\\SDK\\PrivateApi\\Earn::getEthStakingProducts()YESKuCoin\\SDK\\PrivateApi\\Earn::getKcsStakingProducts()YESKuCoin\\SDK\\PrivateApi\\Earn::subscribe()YESKuCoin\\SDK\\PrivateApi\\Earn::redeemPreview()YESKuCoin\\SDK\\PrivateApi\\Earn::redeem()YESKuCoin\\SDK\\PrivateApi\\Earn::getHoldAssets()YESKuCoin\\SDK\\PrivateApi\\StopOrderAPIAuthenticationDescriptionKuCoin\\SDK\\PrivateApi\\StopOrder::create()YESKuCoin\\SDK\\PrivateApi\\StopOrder::cancel()YESKuCoin\\SDK\\PrivateApi\\StopOrder::cancelBatch()YESKuCoin\\SDK\\PrivateApi\\StopOrder::getList()YESKuCoin\\SDK\\PrivateApi\\StopOrder::getDetail()YESKuCoin\\SDK\\PrivateApi\\StopOrder::getDetailByClientOid()YESKuCoin\\SDK\\PrivateApi\\StopOrder::cancelByClientOid()YESKuCoin\\SDK\\PrivateApi\\FillAPIAuthenticationDescriptionKuCoin\\SDK\\PrivateApi\\Fill::getList()YESKuCoin\\SDK\\PrivateApi\\Fill::getRecentList()YESKuCoin\\SDK\\PrivateApi\\WebSocketFeedAPIAuthenticationDescriptionKuCoin\\SDK\\PrivateApi\\WebSocketFeed::getPublicServer()NOKuCoin\\SDK\\PrivateApi\\WebSocketFeed::getPrivateServer()YESKuCoin\\SDK\\PrivateApi\\WebSocketFeed::subscribePublicChannel()NOKuCoin\\SDK\\PrivateApi\\WebSocketFeed::subscribePublicChannels()NOKuCoin\\SDK\\PrivateApi\\WebSocketFeed::subscribePrivateChannel()YESKuCoin\\SDK\\PrivateApi\\WebSocketFeed::subscribePrivateChannels()YESKuCoin\\SDK\\PrivateApi\\WithdrawalAPIAuthenticationDescriptionKuCoin\\SDK\\PrivateApi\\Withdrawal::getQuotas()YESKuCoin\\SDK\\PrivateApi\\Withdrawal::getList()YESKuCoin\\SDK\\PrivateApi\\Withdrawal::getV1List()YESKuCoin\\SDK\\PrivateApi\\Withdrawal::apply()YESKuCoin\\SDK\\PrivateApi\\Withdrawal::cancel()YESKuCoin\\SDK\\PublicApi\\CurrencyAPIAuthenticationDescriptionKuCoin\\SDK\\PublicApi\\Currency::getList()NOKuCoin\\SDK\\PublicApi\\Currency::getDetail()NOKuCoin\\SDK\\PublicApi\\Currency::getPrices()NOKuCoin\\SDK\\PublicApi\\Currency::getV2Detail()NOKuCoin\\SDK\\PublicApi\\SymbolAPIAuthenticationDescriptionKuCoin\\SDK\\PublicApi\\Symbol::getList()NO`DEPRECATED` KuCoin\\SDK\\PublicApi\\Symbol::getTicker()NOKuCoin\\SDK\\PublicApi\\Symbol::getAllTickers()NOKuCoin\\SDK\\PublicApi\\Symbol::getAggregatedPartOrderBook()NOKuCoin\\SDK\\PublicApi\\Symbol::getTradeHistories()NOKuCoin\\SDK\\PublicApi\\Symbol::getKLines()NOKuCoin\\SDK\\PublicApi\\Symbol::get24HStats()NOKuCoin\\SDK\\PublicApi\\Symbol::getMarkets()NOKuCoin\\SDK\\PublicApi\\Symbol::getListV2()NOKuCoin\\SDK\\PublicApi\\Symbol::getV2SymbolDetail()NOKuCoin\\SDK\\PrivateApi\\MarginAPIAuthenticationDescriptionKuCoin\\SDK\\PrivateApi\\Margin::getMarkPrice()YESKuCoin\\SDK\\PrivateApi\\Margin::getConfig()YESKuCoin\\SDK\\PrivateApi\\Margin::getAccount()YESKuCoin\\SDK\\PrivateApi\\Margin::borrow()YES`DEPRECATED` KuCoin\\SDK\\PrivateApi\\Margin::getBorrow()YES`DEPRECATED` KuCoin\\SDK\\PrivateApi\\Margin::getOutstanding()YES`DEPRECATED` KuCoin\\SDK\\PrivateApi\\Margin::getRepayRecord()YES`DEPRECATED` KuCoin\\SDK\\PrivateApi\\Margin::repayAll()YES`DEPRECATED` KuCoin\\SDK\\PrivateApi\\Margin::repaySingle()YES`DEPRECATED` KuCoin\\SDK\\PrivateApi\\Margin::lend()YES`DEPRECATED` KuCoin\\SDK\\PrivateApi\\Margin::cancelLend()YES`DEPRECATED` KuCoin\\SDK\\PrivateApi\\Margin::setAutoLend()YES`DEPRECATED` KuCoin\\SDK\\PrivateApi\\Margin::getLendActive()YES`DEPRECATED` KuCoin\\SDK\\PrivateApi\\Margin::getLendDone()YES`DEPRECATED` KuCoin\\SDK\\PrivateApi\\Margin::getUnsettled()YES`DEPRECATED` KuCoin\\SDK\\PrivateApi\\Margin::getSettled()YES`DEPRECATED` KuCoin\\SDK\\PrivateApi\\Margin::getLendAssets()YES`DEPRECATED` KuCoin\\SDK\\PrivateApi\\Margin::getMarket()YES`DEPRECATED` KuCoin\\SDK\\PrivateApi\\Margin::getTradeLast()YES`DEPRECATED` KuCoin\\SDK\\PrivateApi\\Margin::getEtfInfo()YESKuCoin\\SDK\\PrivateApi\\Margin::borrowV3()YESKuCoin\\SDK\\PrivateApi\\Margin::repayV3()YESKuCoin\\SDK\\PrivateApi\\Margin::getBorrowV3()YESKuCoin\\SDK\\PrivateApi\\Margin::getRepayV3()YESKuCoin\\SDK\\PrivateApi\\Margin::getInterestV3()YESKuCoin\\SDK\\PrivateApi\\Margin::getSymbolV3()YESKuCoin\\SDK\\PrivateApi\\Margin::modifyLeverageMultiplierV3()YESKuCoin\\SDK\\PrivateApi\\LendAPIAuthenticationDescriptionKuCoin\\SDK\\PrivateApi\\Lend::getCurrencies()YESKuCoin\\SDK\\PrivateApi\\Lend::getMarketInterestRate()YESKuCoin\\SDK\\PrivateApi\\Lend::purchase()YESKuCoin\\SDK\\PrivateApi\\Lend::redeem()YESKuCoin\\SDK\\PrivateApi\\Lend::purchaseUpdate()YESKuCoin\\SDK\\PrivateApi\\Lend::getRedeemOrders()YESKuCoin\\SDK\\PrivateApi\\Lend::getPurchaseOrders()YESKuCoin\\SDK\\PrivateApi\\IsolatedMarginAPIAuthenticationDescriptionKuCoin\\SDK\\PrivateApi\\IsolatedMargin::getSymbols()YESKuCoin\\SDK\\PrivateApi\\IsolatedMargin::getAccountList()YESKuCoin\\SDK\\PrivateApi\\IsolatedMargin::getAccountDetail()YESKuCoin\\SDK\\PrivateApi\\IsolatedMargin::borrow()YES`DEPRECATED` KuCoin\\SDK\\PrivateApi\\IsolatedMargin::getOutstanding()YES`DEPRECATED` KuCoin\\SDK\\PrivateApi\\IsolatedMargin::getRepaid()YES`DEPRECATED` KuCoin\\SDK\\PrivateApi\\IsolatedMargin::repayAll()YES`DEPRECATED` KuCoin\\SDK\\PrivateApi\\IsolatedMargin::repaySingle()YES`DEPRECATED` KuCoin\\SDK\\PrivateApi\\AffiliateAPIAuthenticationDescriptionKuCoin\\SDK\\PublicApi\\Time::timestamp()NOKuCoin\\SDK\\PublicApi\\TimeAPIAuthenticationDescriptionKuCoin\\SDK\\PublicApi\\Time::timestamp()NOKuCoin\\SDK\\PublicApi\\ServiceStatusAPIAuthenticationDescriptionKuCoin\\SDK\\PublicApi\\ServiceStatus::getStatus()NOKuCoin\\SDK\\PublicApi\\MarginAPIAuthenticationDescriptionKuCoin\\SDK\\PublicApi\\Margin::getSymbolsMarkPrice()NORun tests
---------

[](#run-tests)

> Modify your API key in `phpunit.xml` first.

```
# Add your API configuration items into the environmental variable first
export API_BASE_URI=https://api.kucoin.com
export API_KEY=key
export API_SECRET=secret
export API_PASSPHRASE=passphrase
export API_KEY_VERSION=2

composer test
```

License
-------

[](#license)

[MIT](LICENSE)

###  Health Score

46

—

FairBetter than 92% of packages

Maintenance34

Infrequent updates — may be unmaintained

Popularity46

Moderate usage in the ecosystem

Community23

Small or concentrated contributor base

Maturity69

Established project with proven stability

 Bus Factor1

Top contributor holds 86.2% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~46 days

Recently: every ~75 days

Total

47

Last Release

599d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/fc09c912d3848b69441bd345a7d13daebe373c1ae63ae20eb6886771264dd834?d=identicon)[kucoin](/maintainers/kucoin)

---

Top Contributors

[![hhxsv5](https://avatars.githubusercontent.com/u/7278743?v=4)](https://github.com/hhxsv5 "hhxsv5 (299 commits)")[![fieyum](https://avatars.githubusercontent.com/u/133764661?v=4)](https://github.com/fieyum "fieyum (22 commits)")[![purekid](https://avatars.githubusercontent.com/u/1232703?v=4)](https://github.com/purekid "purekid (10 commits)")[![Artisan-Liu](https://avatars.githubusercontent.com/u/135569268?v=4)](https://github.com/Artisan-Liu "Artisan-Liu (7 commits)")[![c2s](https://avatars.githubusercontent.com/u/17718352?v=4)](https://github.com/c2s "c2s (4 commits)")[![viaweb3](https://avatars.githubusercontent.com/u/17975348?v=4)](https://github.com/viaweb3 "viaweb3 (3 commits)")[![sh7ning](https://avatars.githubusercontent.com/u/4698385?v=4)](https://github.com/sh7ning "sh7ning (2 commits)")

---

Tags

apiphpv2websocketapisdkkucoin

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/kucoin-kucoin-php-sdk/health.svg)

```
[![Health](https://phpackages.com/badges/kucoin-kucoin-php-sdk/health.svg)](https://phpackages.com/packages/kucoin-kucoin-php-sdk)
```

###  Alternatives

[craftcms/cms

Craft CMS

3.6k3.6M3.1k](/packages/craftcms-cms)[tempest/framework

The PHP framework that gets out of your way.

2.2k34.4k15](/packages/tempest-framework)[checkout/checkout-sdk-php

Checkout.com SDK for PHP

563.6M13](/packages/checkout-checkout-sdk-php)[xeroapi/xero-php-oauth2

Xero official PHP SDK for oAuth2 generated with OpenAPI spec 3

1054.7M18](/packages/xeroapi-xero-php-oauth2)[eslazarev/wildberries-sdk

Wildberries OpenAPI clients (generated).

273.0k](/packages/eslazarev-wildberries-sdk)[huaweicloud/huaweicloud-sdk-php

Huawei Cloud SDK for PHP

1830.8k2](/packages/huaweicloud-huaweicloud-sdk-php)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
