Обзор архитектуры API: StarkEx & ZK-Rollup
Инкубированный Amber Group, EdgeX Exchange использует решение масштабирования Layer-2 на базе StarkWare (StarkEx). Ордера сводятся в оффчейн-движке со скоростью до 200,000 транзакций в секунду и задержкой 10 мс. Криптографические доказательства (ZK-proofs) затем публикуются в Ethereum, обеспечивая безопасность на уровне L1 при околонулевых комиссиях за газ.
Безопасность API: Защита L1 и L2 уровней
Для создания торговых ботов на EdgeX вам потребуются не только стандартные API-ключи, но и L2 Stark Key. Относитесь к ним так же бережно, как к приватным ключам. Компрометация L2-ключа позволяет злоумышленнику управлять вашими ордерами.
Ключевые практики безопасности:
- Двухфакторная модель: Для запросов используется пара Account ID / Secret (для HTTP-аутентификации) + L2 Stark Private Key (для криптографической подписи самих ордеров).
- Белый список IP: Обязательно привязывайте ваши API ключи к статическому IP-адресу вашего торгового сервера.
- Безопасное хранение: Храните `L2_PRIVATE_KEY` и `API_SECRET` исключительно в защищенных переменных окружения (`.env`) или менеджерах секретов.
Применение API: ИИ-трейдинг и HFT-стратегии
Благодаря сверхнизким комиссиям (базовая ~0.012% maker / 0.038% taker) и залогу в USDT, API EdgeX идеально подходит для сложных алгоритмических стратегий:
- Маркетмейкинг (HFT): Поддержание ликвидности в стакане ордеров с использованием WebSockets (движок EdgeX обрабатывает ордера быстрее, чем большинство DeFi-протоколов).
- Арбитраж ставки финансирования: Дельта-нейтральные стратегии между EdgeX и централизованными биржами (Binance, Bybit).
- Охота за ликвидациями: Анализ потоков оракула
Stork, используемого на EdgeX для расчета Index и Mark Price, для автоматического входа при каскадных ликвидациях.
Генерация ключей: L1 Wallet, L2 Stark Key и API Key
На EdgeX процесс инициализации разработчика состоит из 3 шагов:
- Подключение L1 Wallet: Подключите ваш кошелек (например, MetaMask) в интерфейсе EdgeX Exchange. Выберите сеть (Ethereum или Arbitrum).
- Генерация L2 Stark Key: Платформа запросит подпись для деривации
Stark Key. Этот L2-ключ используется математическим движком ZK-Rollup для валидации того, что ордер был размещен именно вами. - Создание API Key: Перейдите в настройки API. Система сгенерирует Account ID (API Key) и Secret Key, необходимые для подписи HTTP-заголовков.
Важно: При выставлении ордера через приватный API, тело заявки подписывается вашим L2 Stark Key (Stark Signature), а сам HTTP-запрос защищается заголовками на основе вашего Secret Key.
Архитектура API и Эндпоинты
API EdgeX предлагает два основных интерфейса взаимодействия:
- REST API (Pull-модель): Размещение и отмена ордеров, запросы баланса и истории сделок.
- WebSocket API (Push-модель): Мгновенные обновления стакана ордеров (15 или 200 уровней глубины), потоки сделок в реальном времени и приватные события аккаунта.
Справочник сред (Environments)
- Mainnet REST (EdgeX):
https://pro.edgex.exchange - Mainnet WebSocket:
wss://quote.edgex.exchange - Аутентификация: Для приватных (Third-party) API вызовов требуется формирование подписей на базе вашего ключа, спецификации которых подробно описаны в документации EdgeX (GitBook).
Обработка ошибок (Error Codes)
При написании торговых алгоритмов важно правильно обрабатывать ответы сервера. Основные ошибки движка StarkEx / EdgeX:
| Код (HTTP) | Сообщение (Причина) | Решение |
|---|---|---|
| 401 | Unauthorized / Invalid API-key or Signature. | Проверьте корректность формирования HMAC-подписи для HTTP-заголовков. Убедитесь, что IP-адрес добавлен в белый список. |
| 400 | Invalid Stark Signature. | Ордер отвергнут движком ZK-Rollup. Проверьте правильность формирования хеша ордера и его подписание вашим L2 Stark Private Key. |
| 400 | Insufficient Margin. | Недостаточно залога (USDT) для открытия позиции. Уменьшите объем (quantity) или проверьте маржинальные требования для конкретного рынка. |
Руководства и туториалы
Для быстрого старта с инфраструктурой EdgeX ознакомьтесь с нашими материалами:
- Торговый бот на Python для EdgeX — Работа с библиотеками подписи StarkEx и формирование лимитных ордеров.
- Потоковые данные с WebSocket (Node.js) — Получение стакана (orderbook) и агрегированных сделок без задержек.
- Примеры интеграции и создание клиентов API — Сниппеты кода для REST API.
Первые шаги: Подключение и примеры
Проверка доступности (Public API)
Для проверки связи запросите список доступных торговых пар (эндпоинт не требует аутентификации):
curl -X GET "https://pro.edgex.exchange/api/v1/symbols"
Node.js: Получение книги ордеров
Пример использования axios для получения стакана ордеров по паре BTC-USDT (в EdgeX залогом является USDT):
const axios = require('axios');
async function getOrderbook() {
try {
const response = await axios.get('https://pro.edgex.exchange/api/v1/depth', {
params: {
symbol: 'BTC-USDT',
limit: 5
}
});
console.log("Топ 5 заявок Ask:", response.data.data.asks);
} catch (error) {
console.error("Ошибка API:", error.response ? error.response.data : error.message);
}
}
getOrderbook();
Сторонние интеграции: FMZ Quant
Алгоритмическая торговля через FMZ
Платформа FMZ Quant имеет встроенную, полностью функциональную поддержку EdgeX DEX. Вам не нужно писать логику подписей L2 с нуля. В панели FMZ добавьте новую биржу, выберите EdgeX, введите ваш AccountID (Access Key) и SecretKey.
Это позволяет мгновенно запускать сложные стратегии (например, сеточную торговлю "Grid Trading" или многоуровневый арбитраж по полосам Боллинджера) используя готовые интерфейсы платформы, транслируя ордера прямо в ZK-движок EdgeX.
Часто задаваемые вопросы (FAQ) по EdgeX API
Какой базовый URL у REST API EdgeX?
Основной URL для REST-запросов к Mainnet EdgeX: https://pro.edgex.exchange. Для потоков WebSocket (публичных и приватных): wss://quote.edgex.exchange.
Почему для размещения ордеров не хватает обычного API ключа?
EdgeX базируется на ZK-Rollup архитектуре (StarkEx). Обычные ключи (AccountID/Secret) подтверждают только вашу HTTP-сессию. Само намерение сделки (сумма, цена, пара) должно быть криптографически подписано вашим приватным L2-ключом (Stark Private Key), чтобы блокчейн признал операцию валидной.
Как обеспечить безопасность API ключей и L2 ключей?
Обязательно используйте белый список IP-адресов в панели EdgeX. Никогда не сохраняйте ваши ключи (Stark Private Key, API Secret) в публичных репозиториях (GitHub), передавайте их через защищенные переменные окружения (.env).