PHPackages                             tigusigalpa/zoomex-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. [HTTP &amp; Networking](/categories/http)
4. /
5. tigusigalpa/zoomex-php

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

tigusigalpa/zoomex-php
======================

PHP client for Zoomex cryptocurrency exchange API v3. Supports all REST and WebSocket endpoints: market data, trading, positions, account, assets. HMAC\_SHA256 authentication, testnet/mainnet support.

v1.1.1(2mo ago)00MITPHPPHP ^8.1CI failing

Since Mar 15Pushed 2mo ago1 watchersCompare

[ Source](https://github.com/tigusigalpa/zoomex-php)[ Packagist](https://packagist.org/packages/tigusigalpa/zoomex-php)[ Docs](https://github.com/tigusigalpa/zoomex-php)[ RSS](/packages/tigusigalpa-zoomex-php/feed)WikiDiscussions main Synced 3w ago

READMEChangelog (2)Dependencies (11)Versions (3)Used By (0)

Zoomex PHP Client
=================

[](#zoomex-php-client)

> Also available: [Zoomex Go Client](https://github.com/tigusigalpa/zoomex-go)

[![Zoomex PHP/Laravel SDK/Library](https://camo.githubusercontent.com/31e39922efa410b6458d272a3d1140c80bafefee0aad4317773c6d7847cfae61/68747470733a2f2f692e706f7374696d672e63632f686a4c4d44526d702f7a6f6f6d65782d7068702d6769746875622d62616e6e65722e6a7067)](https://camo.githubusercontent.com/31e39922efa410b6458d272a3d1140c80bafefee0aad4317773c6d7847cfae61/68747470733a2f2f692e706f7374696d672e63632f686a4c4d44526d702f7a6f6f6d65782d7068702d6769746875622d62616e6e65722e6a7067)

[![Latest Version on Packagist](https://camo.githubusercontent.com/3b768421f74bf76093973718fceecf25e6da796b23b95b6b9eb7423a0ad2ec8b/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f74696775736967616c70612f7a6f6f6d65782d7068702e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/tigusigalpa/zoomex-php)[![PHP Version](https://camo.githubusercontent.com/4f628d92813d9fec64263bec0174aa8d09b2bc3ea9349005fe4cb6495c50f666/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f74696775736967616c70612f7a6f6f6d65782d7068702e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/tigusigalpa/zoomex-php)[![License](https://camo.githubusercontent.com/87b3c46775cfb0b4bbc4a74466ef3c70cab0a17d6703787cf134fdbf3baa74dc/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f74696775736967616c70612f7a6f6f6d65782d7068702e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/tigusigalpa/zoomex-php)

PHP/Laravel SDK for [Zoomex](https://www.zoomex.com/) crypto exchange API v3. Works with REST and WebSocket — market data, trading, positions, account, assets.

📖 **[Full Documentation on Wiki](https://github.com/tigusigalpa/zoomex-php/wiki)**

What's inside
-------------

[](#whats-inside)

- Full Zoomex API v3 coverage (REST + WebSocket)
- HMAC-SHA256 request signing
- Laravel support out of the box (service provider, facade, config)
- Testnet/mainnet switching
- PHP 8.1+ with enums and strict types
- Tested with Pest

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

[](#requirements)

- PHP 8.1+
- Composer
- Laravel 9/10/11/12 (optional)

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

[](#installation)

```
composer require tigusigalpa/zoomex-php
```

Setup
-----

[](#setup)

### Laravel

[](#laravel)

```
php artisan vendor:publish --tag=zoomex-config
```

`.env`:

```
ZOOMEX_API_KEY=your_api_key
ZOOMEX_SECRET_KEY=your_secret_key
ZOOMEX_TESTNET=false
```

### Standalone PHP

[](#standalone-php)

```
use Tigusigalpa\Zoomex\Client;

$client = new Client([
    'api_key' => 'your_api_key',
    'secret_key' => 'your_secret_key',
    'testnet' => false,
]);

// or fluent style
$client = Client::make()
    ->withApiKey('your_api_key')
    ->withSecretKey('your_secret_key')
    ->withTestnet(false);
```

Quick examples
--------------

[](#quick-examples)

### Get tickers

[](#get-tickers)

```
use Tigusigalpa\Zoomex\Facades\Zoomex;
use Tigusigalpa\Zoomex\DTO\Market\GetTickersRequest;
use Tigusigalpa\Zoomex\Enums\Category;

$tickers = Zoomex::market()->getTickers(
    new GetTickersRequest(category: Category::LINEAR, symbol: 'BTCUSDT')
);
```

### Place order

[](#place-order)

```
use Tigusigalpa\Zoomex\DTO\Trade\PlaceOrderRequest;
use Tigusigalpa\Zoomex\Enums\{Category, OrderSide, OrderType, TimeInForce};

$order = Zoomex::trade()->placeOrder(new PlaceOrderRequest(
    category: Category::LINEAR,
    symbol: 'BTCUSDT',
    side: OrderSide::BUY,
    orderType: OrderType::LIMIT,
    qty: '0.01',
    price: '50000',
    timeInForce: TimeInForce::GTC
));
```

### Get positions

[](#get-positions)

```
use Tigusigalpa\Zoomex\DTO\Position\GetPositionInfoRequest;

$positions = Zoomex::position()->getPositionInfo(
    new GetPositionInfoRequest(category: Category::LINEAR, symbol: 'BTCUSDT')
);
```

### Get wallet balance

[](#get-wallet-balance)

```
use Tigusigalpa\Zoomex\DTO\Account\GetWalletBalanceRequest;
use Tigusigalpa\Zoomex\Enums\AccountType;

$balance = Zoomex::account()->getWalletBalance(
    new GetWalletBalanceRequest(accountType: AccountType::CONTRACT)
);
```

### WebSocket — orderbook stream

[](#websocket--orderbook-stream)

```
use Tigusigalpa\Zoomex\WebSocket;

$ws = new WebSocket(['api_key' => '...', 'secret_key' => '...']);

$ws->subscribeOrderbook('BTCUSDT', 50, function ($data) {
    print_r($data);
});

$ws->run();
```

### WebSocket — private order updates

[](#websocket--private-order-updates)

```
$ws->subscribePrivateOrders(function ($data) {
    print_r($data);
});
```

API Reference
-------------

[](#api-reference)

### Market (public)

[](#market-public)

MethodEndpointDescription`getServerTime()``/cloud/trade/v3/market/time`Get server time`getKline()``/cloud/trade/v3/market/kline`Get kline data`getMarkPriceKline()``/cloud/trade/v3/market/mark-price-kline`Get mark price kline`getIndexPriceKline()``/cloud/trade/v3/market/index-price-kline`Get index price kline`getPremiumIndexPriceKline()``/cloud/trade/v3/market/premium-index-price-kline`Get premium index price kline`getInstrumentsInfo()``/cloud/trade/v3/market/instruments-info`Get instruments info`getOrderbook()``/cloud/trade/v3/market/orderbook`Get orderbook`getTickers()``/cloud/trade/v3/market/tickers`Get tickers`getFundingRateHistory()``/cloud/trade/v3/market/funding/history`Get funding rate history`getPublicTradingHistory()``/cloud/trade/v3/market/recent-trade`Get public trading history`getRiskLimit()``/cloud/trade/v3/market/risk-limit/info`Get risk limit### Trade (private)

[](#trade-private)

MethodEndpointDescription`placeOrder()``/cloud/trade/v3/order/create`Place order`amendOrder()``/cloud/trade/v3/order/amend`Amend order`cancelOrder()``/cloud/trade/v3/order/cancel`Cancel order`getOpenOrders()``/cloud/trade/v3/order/realtime`Get open orders`cancelAllOrders()``/cloud/trade/v3/order/cancel-all`Cancel all orders`getOrderHistory()``/cloud/trade/v3/order/history`Get order history`getTradeHistory()``/cloud/trade/v3/execution/list`Get trade history### Position (private)

[](#position-private)

MethodEndpointDescription`getPositionInfo()``/cloud/trade/v3/position/list`Get position info`setLeverage()``/cloud/trade/v3/position/set-leverage`Set leverage`switchIsolated()``/cloud/trade/v3/position/switch-isolated`Switch cross/isolated margin`setTpSlMode()``/cloud/trade/v3/position/set-tpsl-mode`Set TP/SL mode`switchPositionMode()``/cloud/trade/v3/position/switch-mode`Switch position mode`setRiskLimit()``/cloud/trade/v3/position/set-risk-limit`Confirm new risk limit`setTradingStop()``/cloud/trade/v3/position/trading-stop`Set trading stop`setAutoAddMargin()``/cloud/trade/v3/position/set-auto-add-margin`Set auto add margin`addOrReduceMargin()``/cloud/trade/v3/position/add-margin`Add or reduce margin`getClosedPnl()``/cloud/trade/v3/position/closed-pnl`Get closed PnL### Account (private)

[](#account-private)

MethodEndpointDescription`getWalletBalance()``/cloud/trade/v3/account/wallet-balance`Get wallet balance`getFeeRate()``/cloud/trade/v3/account/fee-rate`Get fee rate`getAccountInfo()``/cloud/trade/v3/account/info`Get account info### Asset (private)

[](#asset-private)

MethodEndpointDescription`getCoinExchangeRecords()``/cloud/trade/v3/asset/coin-exchange-record`Get coin exchange records`getDeliveryRecord()``/cloud/trade/v3/asset/delivery-record`Get delivery record`getSettlementRecord()``/cloud/trade/v3/asset/settlement-record`Get settlement record`getAssetInfo()``/cloud/trade/v3/asset/info`Get asset info`getAllCoinsBalance()``/cloud/trade/v3/asset/all-coins-balance`Get all coins balance`getInternalTransferRecords()``/cloud/trade/v3/asset/transfer/query-inter-transfer-list`Get internal transfer records`getSubUIDList()``/cloud/trade/v3/asset/transfer/query-sub-member-list`Get sub UID list`createInternalTransfer()``/cloud/trade/v3/asset/transfer/inter-transfer`Create internal transfer`getDepositRecords()``/cloud/trade/v3/asset/deposit/query-record`Get deposit records`getWithdrawalRecords()``/cloud/trade/v3/asset/withdraw/query-record`Get withdrawal records`getCoinInfo()``/cloud/trade/v3/asset/coin/query-info`Get coin info`withdraw()``/cloud/trade/v3/asset/withdraw/create`Withdraw`cancelWithdrawal()``/cloud/trade/v3/asset/withdraw/cancel`Cancel withdrawal### WebSocket Topics

[](#websocket-topics)

Channel TypeTopic PatternDescriptionPublic`orderbook.{depth}.{symbol}`Orderbook (depth: 1, 50, 200, 1000)Public`publicTrade.{symbol}`Public tradesPublic`tickers.{symbol}`TickerPublic`kline.{interval}.{symbol}`KlinePublic`liquidation.{symbol}`All liquidationPrivate`order`Order updatesPrivate`position`Position updatesPrivate`execution`Execution updatesPrivate`wallet`Wallet updatesErrors
------

[](#errors)

Two exception types:

- `ZoomexApiException` — API returned error (`retCode !== 0`)
- `ZoomexRequestException` — HTTP/network failure

```
use Tigusigalpa\Zoomex\Exceptions\{ZoomexApiException, ZoomexRequestException};

try {
    $order = Zoomex::trade()->placeOrder($request);
} catch (ZoomexApiException $e) {
    // $e->retCode, $e->retMsg
} catch (ZoomexRequestException $e) {
    // network issue
}
```

Rate limits
-----------

[](#rate-limits)

See [official docs](https://zoomexglobal.github.io/docs/v3/rate-limit).

Testing
-------

[](#testing)

```
composer test
```

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

[](#contributing)

See [CONTRIBUTING.md](CONTRIBUTING.md).

Security
--------

[](#security)

Found a vulnerability? Email  (don't open public issues).

Author
------

[](#author)

[Igor Sazonov](https://github.com/tigusigalpa)

Based on [zoomex-go](https://github.com/tigusigalpa/zoomex-go).

License
-------

[](#license)

MIT. See [LICENSE](LICENSE).

Links
-----

[](#links)

- [Zoomex API v3 docs](https://zoomexglobal.github.io/docs/v3/intro)
- [Zoomex](https://www.zoomex.com/)

###  Health Score

36

—

LowBetter than 79% of packages

Maintenance85

Actively maintained with recent releases

Popularity0

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity44

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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 ~28 days

Total

2

Last Release

75d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/2721390?v=4)[Igor Sazonov](/maintainers/tigusigalpa)[@tigusigalpa](https://github.com/tigusigalpa)

---

Top Contributors

[![tigusigalpa](https://avatars.githubusercontent.com/u/2721390?v=4)](https://github.com/tigusigalpa "tigusigalpa (4 commits)")

---

Tags

apibitcoinchainlinkcryptocurrencylaravelnear-protocolphpzoomexzoomex-apizoomex-cryptozoomex-exchangeapilaravelcryptowebsocketexchangetradingzoomex

###  Code Quality

TestsPest

### Embed Badge

![Health badge](/badges/tigusigalpa-zoomex-php/health.svg)

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

###  Alternatives

[jlevers/selling-partner-api

PHP client for Amazon's Selling Partner API

4335.4M2](/packages/jlevers-selling-partner-api)[illuminate/http

The Illuminate Http package.

11937.2M6.5k](/packages/illuminate-http)[jaggedsoft/php-binance-api

PHP Binance API is an asynchronous PHP library for the Binance API designed to be easy to use.

643183.6k4](/packages/jaggedsoft-php-binance-api)[api-platform/laravel

API Platform support for Laravel

59156.3k11](/packages/api-platform-laravel)[dreamfactory/df-core

DreamFactory(tm) Core Components

1652.0k38](/packages/dreamfactory-df-core)

PHPackages © 2026

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