Обзор архитектуры API: StarkEx & ZK-Rollup
В отличие от классических DEX, ApeX Pro использует масштабируемое решение уровня 2 (Layer-2) на базе StarkWare (StarkEx). Ордера сводятся в высокопроизводительном off-chain движке, а криптографические доказательства (ZK-proofs) публикуются в Ethereum. Это дает задержки (latency) на уровне централизованных бирж (CEX) при полном некастодиальном контроле.
→ Подробнее об архитектуре смарт-контрактов ApeX
Безопасность API: Защита L1 и L2 уровней
Для создания торговых ботов на ApeX вам потребуются не только стандартные API-ключи, но и L2 Stark Key. Относитесь к ним так же бережно, как к сид-фразе. Компрометация L2-ключа позволяет злоумышленнику торговать от вашего имени.
Ключевые практики безопасности:
- Двухфакторная модель: Для запросов используется пара API Key / Secret (для аутентификации сессии) + L2 Stark Private Key (для криптографической подписи самих ордеров).
- Белый список IP: Привязывайте ваши API ключи к статическому IP-адресу VPS-сервера.
- Безопасное хранение: Храните `STARK_PRIVATE_KEY` и `API_SECRET` только в переменных окружения (`.env`) или AWS Secrets Manager.
Применение API: ИИ-трейдинг и алгоритмические стратегии
API ApeX Protocol — это фундамент для алгоритмической торговли деривативами на базе USDC. Квантовые фонды и алгоритмические трейдеры используют его для:
- Арбитража ставки финансирования (Funding Rate Arbitrage): Мониторинг ставок между ApeX и Bybit/Binance для дельта-нейтрального извлечения прибыли.
- Высокочастотного маркетмейкинга (HFT): Поддержание ликвидности в стакане ордеров с использованием WebSockets (движок StarkEx обрабатывает тысячи транзакций в секунду).
- Охоты за ликвидациями: Анализ
Mark PriceиOracle Priceдля автоматического входа в позиции при ликвидациях других участников рынка.
Генерация ключей: L1 Wallet, L2 Stark Key и API Key
На ApeX процесс инициализации разработчика состоит из 3 шагов:
- Подключение L1 Wallet: Подключите ваш Ethereum-кошелек (MetaMask / WalletConnect) в интерфейсе ApeX Pro.
- Генерация L2 Stark Key: ApeX запросит у вашего кошелька подпись для деривации
Stark Key. Этот L2-ключ используется математическим движком для валидации ваших ордеров. - Создание API Key: Перейдите в дашборд аккаунта (Dashboard) -> API Management. Нажмите "Создать API". Система сгенерирует API Key и Passphrase/Secret (необходимы для подписи HTTP-заголовков).
Важно: При выставлении ордера через API (POST `/api/v1/order`), тело ордера подписывается вашим L2 Stark Key (Stark Signature), а сам HTTP-запрос защищается заголовками на основе вашего API Key.
Архитектура API
API ApeX Protocol предлагает два основных интерфейса:
- REST API (Pull-модель): Размещение и отмена ордеров, запросы баланса аккаунта и исторические данные о сделках.
- WebSocket API (Push-модель): Мгновенные обновления стакана ордеров (L2 Order Book), тиков цены и состояния вашего аккаунта (Private Stream).
Справочник сред (Environments)
- Mainnet (ApeX Pro):
https://pro.apex.exchange| Публичный WS:wss://quote.pro.apex.exchange/realtime_public - Testnet:
https://testnet.apex.exchange— используйте для отладки ботов без риска потери реальных USDC. - Аутентификация заголовков: Требует `APEX-API-KEY`, `APEX-TIMESTAMP`, `APEX-SIGNATURE` и `APEX-PASSPHRASE`.
Обработка ошибок (Error Codes)
При автоматизации важно правильно обрабатывать ответы сервера. Вот основные ошибки, с которыми вы столкнетесь в ApeX API:
| Код (HTTP) | Сообщение (Причина) | Решение |
|---|---|---|
| 400 / 10000 | Invalid API-key, Signature, or Timestamp. | Убедитесь, что ваше системное время синхронизировано (разница не более 5 сек). Проверьте корректность формирования HMAC-подписи для HTTP-заголовков. |
| 400 | Invalid Stark Signature. | Ордер не принят движком StarkEx. Проверьте правильность формирования хеша ордера (Order Hash) и его подписание вашим L2 Stark Private Key. |
| 400 | Insufficient Margin. | Недостаточно свободной маржи (USDC) для открытия позиции. Увеличьте плечо или уменьшите объем заявки (qty). |
Руководства и туториалы
Для быстрого старта мы подготовили следующие образовательные материалы:
- Торговый бот на Python для ApeX — Работа с официальными библиотеками подписи StarkEx и формирование ордеров.
- Потоковые данные с WebSocket (Node.js) — Получение стакана (orderbook) и агрегированных сделок без задержек.
- Примеры интеграции и создание клиентов API — Готовые примеры кода для работы с REST.
- REST API vs. WebSocket — Какую архитектуру выбрать?
- L1 / L2 Аутентификация — Разбор криптографии StarkWare и HMAC.
Первые шаги: Подключение и примеры
Проверка доступности биржи (Ping / Symbols)
Для проверки связи запросите список доступных торговых пар (эндпоинт не требует аутентификации):
curl -X GET "https://pro.apex.exchange/api/v1/symbols"
Подписка на сделки через WebSocket
Для получения сделок в реальном времени по паре BTC-USDC (основная маржинальная пара на ApeX):
URL: `wss://quote.pro.apex.exchange/realtime_public`
{
"op": "subscribe",
"args": [
"trade.BTCUSDC"
]
}
Node.js: Пример базового REST запроса
Пример использования axios для получения актуальной книги ордеров (Orderbook L2) без аутентификации:
const axios = require('axios');
async function getOrderbook() {
try {
const response = await axios.get('https://pro.apex.exchange/api/v1/depth', {
params: {
symbol: 'BTCUSDC',
limit: 5
}
});
console.log("Топ 5 заявок Ask:", response.data.data.asks);
} catch (error) {
console.error("Ошибка API:", error.response ? error.response.data : error.message);
}
}
getOrderbook();
Обзор ключевых эндпоинтов
Данные рынка (Публичные)
- GET /api/v1/symbols: Информация о спецификации контрактов (размер тика, минимальный лот, шаг цены).
- GET /api/v1/depth: Глубина книги ордеров (Order Book).
- GET /api/v1/klines: Исторические данные свечей (OHLCV).
- GET /api/v1/ticker: Текущие котировки, включая ставку финансирования (Funding Rate) и 24ч объемы.
Торговля и Аккаунт (Требуется аутентификация)
- GET /api/v1/account: Получение данных баланса (USDC), доступной маржи и состояния счета.
- GET /api/v1/position: Список всех ваших открытых позиций, цены ликвидации (Liquidation Price) и нереализованный PnL.
- POST /api/v1/order: Создание нового ордера (LIMIT, MARKET, STOP_MARKET). Внимание: тело запроса обязательно должно содержать Stark Signature (подпись ордера).
- DELETE /api/v1/order: Отмена конкретного ордера по его ID.
Сторонние интеграции: CScalp и Hummingbot
Ручной трейдинг и Скальпинг (CScalp)
API ApeX полностью поддерживается профессиональным торговым терминалом CScalp. Вы можете добавить подключение "ApeX Pro" в настройках, ввести ваши сгенерированные L1 API-ключи и L2 Passphrase, после чего терминал будет использовать WebSocket для трансляции стакана с задержками в несколько миллисекунд и выставлять заявки в один клик.
Маркетмейкинг через Hummingbot
Для квантов и создателей ботов: Hummingbot имеет встроенный коннектор для платформы ApeX. Вы можете развернуть бота из коробки, настроить стратегии Pure Market Making (PMM) или Cross-Exchange Arbitrage (например, арбитраж между Binance и ApeX) без необходимости самостоятельно писать логику L2-подписей ордеров.
Часто задаваемые вопросы (FAQ) по ApeX API
Какой базовый URL у REST API ApeX Protocol?
Основной URL для REST-запросов к Mainnet (ApeX Pro): https://pro.apex.exchange. Для WebSocket (публичные данные): wss://quote.pro.apex.exchange/realtime_public. Для тестирования стратегий доступен Testnet: https://testnet.apex.exchange.
Почему для размещения ордеров не хватает обычного API ключа?
В отличие от CEX, ApeX базируется на ZK-Rollup архитектуре (StarkEx). Обычные API-ключи подтверждают только HTTP-запрос. Само намерение сделки (сумма, цена, маржа) должно быть криптографически подписано вашим L2-ключом (Stark Key), чтобы блокчейн признал транзакцию валидной.
Как обеспечить безопасность API ключей и L2 ключей?
Всегда используйте белый список IP-адресов в панели управления API. Никогда не сохраняйте ваши ключи (Stark Private Key, Passphrase) в публичных репозиториях кода, используйте защищенные хранилища секретов (.env или менеджеры секретов).