PHPackages                             isaacongoma/binance-connector-php - 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. [API Development](/categories/api)
4. /
5. isaacongoma/binance-connector-php

ActiveLibrary[API Development](/categories/api)

isaacongoma/binance-connector-php
=================================

A thin layer for Binance API in PHP

017PHP

Since Feb 2Pushed 3y agoCompare

[ Source](https://github.com/isaacongoma/binance-connector-php)[ Packagist](https://packagist.org/packages/isaacongoma/binance-connector-php)[ RSS](/packages/isaacongoma-binance-connector-php/feed)WikiDiscussions master Synced today

READMEChangelogDependenciesVersions (1)Used By (0)

Binance Connector PHP
=====================

[](#binance-connector-php)

This is a thin library that working as a connector to the Binance public API.

Installation
------------

[](#installation)

```
composer require binance/binance-connector-php
```

How to use
----------

[](#how-to-use)

```
require_once 'vendor/autoload.php';

$client = new \Binance\Spot();
$response = $client->time();
echo json_encode($response);

$client = new \Binance\Spot(['key' => $key, 'secret' => $secret]);
$response = $client->account();
echo json_encode($response);
```

Please find `examples` folder for more endpoints

### RSA Signature

[](#rsa-signature)

RSA signature is supported.

```
# RSA Key(Unencrypted) Authentication
$key = ''; # api key is also required
$privateKey = 'file:///path/to/rsa/private/key.pem';

$client = new \Binance\Spot([
    'key'  => $key,
    'privateKey'  => $privateKey, # pass the key file directly
    'baseURL' => 'https://testnet.binance.vision'
]);

# RSA key(Encrypted) Authentication
$key = '';
$encryptedPrivateKey = 'file:///path/to/rsa/private/key.pem';
$privateKey = openssl_pkey_get_private($encryptedPrivateKey, 'password');

$client = new \Binance\Spot([
    'key'  => $key,
    'privateKey'  => $privateKey,
    'baseURL' => 'https://testnet.binance.vision'
]);
```

### Testnet

[](#testnet)

The [spot testnet](https://testnet.binance.vision/) is available. In order to test on testnet:

```
$client = new \Binance\Spot([
    'baseURL' => 'https://testnet.binance.vision'
]);
```

### RecvWindow

[](#recvwindow)

From Binance API, recvWindow is available for all endpoints require signature. By default, it's 5000ms. You are allowed to set this parameter to any value less than 60000, number beyond this limit will receive error from Binance server.

```
$client = new \Binance\Spot(['key' => $key, 'secret' => $secret]);
$response = $client->getOrder('BNBUSDT', [
        'orderId'    => '11',
        'recvWindow' => 10000
    ]
);
```

### Optional parameters

[](#optional-parameters)

For the optional parameters in the endpoint, pass exactly the field name from API document into the optional parameter array. e.g

```
$response = $client->cancelOCOOrder('BNBUSDT',
    [
        'orderListId' => '12'
    ]
);
```

The mandartory parameter is validated in the library level, missing required parameter will throw `Binance\Exception\MissingArgumentException`.

### Timeout

[](#timeout)

Time out in seconds.

```
$client = new \Binance\Spot(['timeout' => 0.5]);

$response = $client->time();

echo json_encode($response);
```

### Display meta info

[](#display-meta-info)

Binance API server returns weight usage in the header of each response. This is very useful to indentify the current usage. To reveal this value, simpily intial the client with show\_weight\_usage=True as:

```
$client = new \Binance\Spot(['showWeightUsage' => true]);
$response = $client->time();
echo json_encode($response);
```

this will returns:

```
{"data":{"serverTime":1590579807751},"weight_usage":{"x-mbx-used-weight":["2"],"x-mbx-used-weight-1m":["2"]}}
```

It's also able to print out all headers, which may be very helpful for debug:

```
$client = new \Binance\Spot(['showHeader' => true]);
$response = $client->time();
echo json_encode($response);
```

the returns will be like:

```
{"data":{"serverTime":1590579942001},"header":{"Content-Type":["application/json;charset=utf-8"],"Transfer-Encoding":["chunked"],...}}
```

Websocket
---------

[](#websocket)

```
$client = new \Binance\Websocket\Spot();

$callbacks = [
    'message' => function($conn, $msg){
        echo $msg.PHP_EOL;
    },
    'ping' => function($conn, $msg) {
        echo "received ping from server".PHP_EOL;
    }
];

$client->aggTrade('btcusdt', $callbacks);
```

It's able to provide a customlized websocket connector.

```
$loop = \React\EventLoop\Factory::create();
$reactConnector = new \React\Socket\Connector($loop);
$connector = new \Ratchet\Client\Connector($loop, $reactConnector);
$client = new \Binance\Websocket\Spot(['wsConnector' => $connector]);

$callbacks = [
    'message' => function($conn, $msg){
        echo "received message".PHP_EOL;
    },
    'pong' => function($conn) {
        echo "received pong from server".PHP_EOL;
    },
    'ping' => function($conn) {
        echo "received ping from server".PHP_EOL;
    },
    'close' => function($conn) {
        echo "receive closed.".PHP_EOL;
    }
];

$client->miniTicker('btcusdt', $callbacks);

# send ping to server intervally
$loop->addPeriodicTimer(2, function () use ($client) {
    $client->ping();
    echo "ping sent ".PHP_EOL;
});

$loop->run();
```

Listen to combined stream:

```
$client->combined([
    'btcusdt@miniTicker',
    'ethusdt@miniTicker'
], $callbacks);
```

Test
----

[](#test)

```
# install the packages
composer install

vendor/bin/phpunit
```

Limitation
----------

[](#limitation)

Futures and Vanilla Options APIs are not supported:

- /fapi/\*
- /dapi/\*
- /vapi/\*
- Associated Websocket Market and User Data Streams

Contributing
------------

[](#contributing)

Contributions are welcome. If you've found a bug within this project, please open an issue to discuss what you would like to change. If it's an issue with the API, please open a topic at Binance Developer Community

License
-------

[](#license)

MIT

###  Health Score

15

—

LowBetter than 3% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity24

Early-stage or recently created project

 Bus Factor1

Top contributor holds 87% 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.

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/21239787?v=4)[Isaac Ongoma](/maintainers/isaacongoma)[@isaacongoma](https://github.com/isaacongoma)

---

Top Contributors

[![2pd](https://avatars.githubusercontent.com/u/365354?v=4)](https://github.com/2pd "2pd (20 commits)")[![isaacongoma](https://avatars.githubusercontent.com/u/21239787?v=4)](https://github.com/isaacongoma "isaacongoma (2 commits)")[![tantialex](https://avatars.githubusercontent.com/u/17701918?v=4)](https://github.com/tantialex "tantialex (1 commits)")

### Embed Badge

![Health badge](/badges/isaacongoma-binance-connector-php/health.svg)

```
[![Health](https://phpackages.com/badges/isaacongoma-binance-connector-php/health.svg)](https://phpackages.com/packages/isaacongoma-binance-connector-php)
```

###  Alternatives

[exsyst/swagger

A php library to manipulate Swagger specifications

35916.4M7](/packages/exsyst-swagger)[hubspot/api-client

Hubspot API client

24016.2M20](/packages/hubspot-api-client)[pocketmine/bedrock-protocol

An implementation of the Minecraft: Bedrock Edition protocol in PHP

172445.0k15](/packages/pocketmine-bedrock-protocol)[botman/driver-telegram

Telegram driver for BotMan

93459.5k6](/packages/botman-driver-telegram)

PHPackages © 2026

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