DEX · Velocity

Документация API Velocity

TypeScript/Rust SDK, Data API, SWIFT-ордера и keeper-инфраструктура

Velocity унаследовал от Drift v2 зрелую инфраструктуру для алгоритмической торговли и пересобрал её под новое имя. Для разработчиков доступны TypeScript SDK, клиент на Rust, Data API с интерактивной песочницей, SWIFT-ордера с офчейн-подписью и полный набор инструментов для keeper-ботов. Весь код открыт в монорепозитории velocity-v1.

Статус: платформа работает в закрытой бете — интеграцию следует тестировать на devnet и следить за обновлениями документации. Публичная дата запуска не объявлена.

Безопасность API: главный приоритет

Ключи торгового API в модели Velocity — это ключи вашего Solana-кошелька: протокол некастодиален, и никакой сервер не хранит доступ к средствам. Практические правила: держать основную сумму на холодном кошельке, для ботов использовать отдельный кошелёк с минимальным балансом и делегированные субаккаунты, проверять домен перед подписью сообщений SWIFT и никогда не переиспользовать адреса, выведенные от остановленной программы Drift.

TypeScript SDK: @velocity-exchange/sdk

Пакет @velocity-exchange/sdk (версия 0.13.x) — переименованная ветка Drift SDK без обратной совместимости. Ключевые замены: DriftClientVelocityClient, DRIFT_PROGRAM_IDVELOCITY_PROGRAM_ID, DriftEnvVelocityEnv, IDL-файл drift.jsonvelocity.json. Под капотом обновлён Anchor: @anchor-lang/[email protected] вместо @coral-xyz/[email protected].

Две ловушки миграции, которые не ловит компилятор: quote-минт на mainnet — USDT (читать из getConfig().QUOTE_MINT_ADDRESS, не хардкодить USDC), а дискриминанты MarketStatus сдвинулись — кастомные парсеры сырых байтов молча неверно классифицируют состояние рынков, если их не пересобрать.

Rust-клиент velocity-rs

Для системных интеграций и высокопроизводительных ботов в монорепе доступен клиент velocity-rs (source-only). Именно Rust-библиотека DLOB используется fillers и keeper-ботами; важное поведенческое изменение: resting trigger-ордер котируется по вычисленной post-trigger аукционной цене, а не по сырой триггерной — потребителям книги ордеров следует перестать считать эти значения равными.

Data API и песочница

Хост data.velocity.exchange отдаёт исторические и потоковые данные: сделки, фандинг, свечи, состояния рынков. В документации есть интерактивная Playground-песочница и глоссарий колонок. Таблицы времён Drift очищены от легаси-колонок (внешнее спот-исполнение, LP-доли vAMM) — полный список различий приведён в гайде миграции.

SWIFT: ордера с офчейн-подписью

SWIFT-путь — основной для маркет-мейкеров: ордер подписывается как сообщение, не расходуя газ и не попадая в очередь транзакций, а сеть исполнителей сопоставляет подписанные заявки с ончейн-расчётом. Для интеграций описан отдельный SWIFT API с индикативными котировками и паттернами ботов.

Keeper-боты: четыре роли

Децентрализованная книга ордеров живёт благодаря независимым ботам. Документация содержит пошаговые туториалы по каждой роли: order matching bot (сведение тейкеров с лимитными заявками), order trigger bot (исполнение триггерных ордеров против vAMM), liquidation bot (ликвидации с приоритетом старейших позиций) и JIT maker bot (участие в коротких аукционах исполнения). Вознаграждение fillers — меньшее из двух значений: 10% комиссии либо временная компонента, растущая со временем ожидания ордера.

Техническая тонкость для MM-кранов: запись нативного MM-оракула молча пропускается при интервале меньше 800 миллисекунд или нестрого возрастающем sequence id, а шаг цены свыше 1% клэмпится, а не отбрасывается — боты с агрессивной частотой обновлений получают тихие пропуски без ошибок.

Миграция с Drift: официальный гайд

Команда опубликовала два документа: человекочитаемый Migrate from Drift и AI Agent Guide — пошаговую процедуру, которую может исполнить кодинг-агент. Канонический справочник по раскладке аккаунтов и ABI — файл DRIFT-TO-VELOCITY.md в монорепе. Типовые пункты чек-листа: замена символов SDK, USDT-минт вместо USDC, пересборка сырых декодеров под новые дискриминанты, проверка батчей ордеров против начальной (не поддерживающей) маржи.

Общие основы подписания запросов и выбора транспорта разобраны в наших материалах: HMAC-SHA256 аутентификация и REST против WebSocket. Практические туториалы по keeper-ботам Velocity появятся в разделе extras этого обзора.

Часто задаваемые вопросы (FAQ) по Velocity API

Чем SDK Velocity отличается от @drift-labs/sdk?

Пакет @velocity-exchange/sdk — переименованная и переработанная ветка Drift SDK v2.163.0-beta.0 без обратной совместимости: класс DriftClient стал VelocityClient, DRIFT_PROGRAM_ID стал VELOCITY_PROGRAM_ID, а поле USDC_MINT_ADDRESS — QUOTE_MINT_ADDRESS. Импорты старых имён дают ошибки сборки, поэтому миграция сводится к систематической замене символов по официальному гайду Migrate from Drift.

Какой актив указывать в качестве quote-валюты при интеграции?

На mainnet-beta это USDT (минт Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB), на devnet — placeholder dUSDT. Самая дорогая ошибка интегратора — захардкодить USDC из привычек Drift: депозиты, выводы, деривация ATA и расчёты ссылаются на USDT-минт. Значение следует читать из конфигуратора getConfig().QUOTE_MINT_ADDRESS, а не задавать константой.

Что такое SWIFT-ордера в Velocity?

SWIFT — путь исполнения с офчейн-подписью: трейдер подписывает сообщение с параметрами ордера, не отправляя транзакцию в блокчейн, а специализированные исполнители сопоставляют подписанные ордера с высокой скоростью. Это основной инструмент для маркет-мейкеров и высокочастотных стратегий; ончейн-расчёты остаются неизменными.

---