okx-php
Описание
PHP SDK для API криптовалютной биржи OKX версии 5. Охватывает все 335 REST‑эндпоинтов и 53 канала WebSocket. Поддерживает подписание по алгоритму HMAC‑SHA256, типизированные DTO (объекты передачи данных), режим демо‑торговли и WebSocket‑клиент с автоматическим переподключением. Поставляется с провайдером услуг Laravel и фасадом для Laravel 11/12
Языки
- PHP100%
OKX PHP SDK

PHP-клиент для OKX v5 API. Охватывает весь REST API (335 эндпоинтов, 16 категорий) и WebSocket API (53 канала). Работает как автономно, так и подключается к Laravel 11/12 через Service Provider.
Версия для Go: tigusigalpa/okx-go | Wiki
GitHub версия: https://github.com/tigusigalpa/okx-php
Что внутри
- 335 эндпоинтов REST, сгруппированных в сервисные классы (
,account(),trade()и т.д.)market() - WebSocket-клиент с автоматическим переподключением и проверкой активности (ping/pong)
- Подписание запросов HMAC-SHA256
- Режим демо-торговли (просто переключите флаг)
- Типизированные DTO для запросов и ответов; все цены/суммы остаются в виде
, чтобы избежать ошибок округления floatstring - Laravel Service Provider, Facade, публикуемый конфиг
- Логирование по стандарту PSR-3, стиль кода PSR-12
- PHP 8.2+ (классы
, именованные аргументы)readonly
Требования
- PHP 8.2+
- Composer
- Laravel 11 или 12 (опционально)
Установка
Настройка для Laravel
Опубликуйте конфиг:
Добавьте учетные данные в :
Затем используйте фасад:
Автономное использование
Конфигурация
| Опция | Переменная окружения | По умолчанию | |
|---|---|---|---|
| | | API ключ |
| | | Секретный ключ |
| | | Парольная фраза |
| | | Использовать демо-среду |
| | | Базовый URL |
Покрытие REST API
335 эндпоинтов в 16 категориях:
| Категория | # | Документация |
|---|---|---|
| Account | 53 | Торговый аккаунт |
| Trade | 32 | Торговля по книге ордеров |
| Market | 24 | Рыночные данные |
| Public Data | 24 | Публичные данные |
| Asset | 26 | Финансовый аккаунт |
| Finance | 33 | Финансовые продукты |
| Copy Trading | 26 | Копи-трейдинг |
| Trading Bot | 44 | Торговый бот |
| RFQ | 20 | Блочная торговля |
| Spread Trading | 13 | Спред-трейдинг |
| Rubik | 15 | Торговая статистика |
| Fiat | 13 | Фиат |
| Users | 8 | Субаккаунт |
| Support | 2 | Объявления |
| System Status | 1 | Статус |
| Affiliate | 1 | Партнерская программа |
WebSocket
Публичный канал:
Приватный канал (аутентификация происходит автоматически при подключении):
Публичные каналы включают , , , , , , , , , и другие.
Приватные каналы включают , , , , , , , , и другие.
Демо-торговля
Установите в или передайте в конструктор. Тот же API, песочница, без реальных денег.
Примеры
Ордер с TP/SL:
Пакетные ордера:
Установить кредитное плечо:
Исторические свечи:
Вывод средств:
Обработка ошибок
Каждый тип ошибки имеет свой собственный класс исключения. Все они наследуют , который несет в себе необработанный код ошибки OKX в .
Логирование
Передайте любой PSR-3 логгер в конструктор:
Учетные данные никогда не записываются в логи.
Тестирование
Модульные тесты:
Интеграционные тесты (требуются демо-учетные данные):
Участие в разработке
- Сделайте форк
- Создайте ветку (
)git checkout -b fix/something - Внесите свои изменения, добавьте тесты
- Отправьте изменения и откройте PR
Код должен соответствовать PSR-12. Тесты должны проходить.
Безопасность
Нашли уязвимость? Напишите напрямую на sovletig@gmail.com. Не создавайте публичную проблему.
Лицензия
MIT. См. LICENSE.