📈PerpLand
Совместимость: Windows, MacOS, Linux
📚 Описание проекта
Perp DEX - новый тренд в крипте с фармом поинтов на большом количестве разных площадок со фьючерсами. Мы для себя выбрали следующие: Backpack, Lighter, Paradex. Наш софт помогает открывать зеркальные позиции, накручивать объемы и экономить огромное количество сил и времени при отработке.
Затраты:
Backpack 1 acc: 400-500$ acc
Paradex 1 acc: 400-500$ acc
Hyperliquid 1 acc: 200$-300$ acc
Lighter 1 acc: 40$ acc
Aster 1 acc: any size
Ожидаемый профит:
Lighter: x7 к затратам
Paradex: x3-4 к затратам
Hyperliquid: x3-4 к затратам
Pacifica: x3-4 к затратам
Backpack: x2 к затратам
Завершенные:
Aster: x1-x1.1 к затратам
🚀 Доступные в софте активности
Особенности
Бот проверяет баланс на двух запущенных аккаунтах и берет в работу ту сумму, где баланс меньше
Работа с DEX через WebSocket для высокой производительности и минимальной задержки
Хедж-стратегии с учётом спредов и фандинга
Защитные механизмы — автоматическое закрытие позиций при фатальных ошибках и ликвидациях
Детальная статистика с учетом всех реальных доходов и потерь (комиссии, фандинг, неудачные позиции и т.д.)
Выбор стратегий, включая те, что оптимизированы под конкретные пары и биржи
Возможность комбинировать любые поддерживаемые DEX'ы между собой
Комьюнити для отслеживания новых вариантов отработки проекта и внедрение этого в софт
⚙️ Установка
Требования:
Установка Node Js: https://nodejs.org/
Скачивание:
Перейти в нашего бота: https://t.me/OduLandBot?start=r_oxygen_x
Личный кабинет -> Доступ к софтам -> Выбрать интересующий вас продукт

▶ Первый запуск
Разархивируйте софт в удобное для вас место на вашем ПК
Запуск производится через .exe файл в корне с софтом. После первого запуска в директории появятся все нужные файлы конфигов
Настройте данные для запуска:
Заполните файлы с данными от аккаунтов (форматы данных будут расписаны ниже)
Установите оптимальные настройки под ваши требования в config.json

✅ Настройка и начало работы
Формат прокси
host:port:username:password
Настройки Backpack
📁 config/backpack/accounts.txt
Формат - label,apiKey,apiSecret,proxy
label - обязательная метка для обозначения аккаунта
apiKey - API ключ аккаунта для доступа к открытию позиций
apiSecret - API секретная фраза для доступа к открытию позиций
proxy - прокси аккаунта
Как получить apiKey и apiSecret:
Зайдите в свой аккаунт Backpack
Перейдите в портфолио
Внизу нажмите Settings
Выберите вкладку API Keys
Нажмите на кнопку New API key

Настройки Lighter
📁 config/lighter/accounts.tx
Формат - label,seed,l1Address,index,proxy
label - обязательная метка для обозначения аккаунта
seed - сид аккаунта из консоли
l1Address - адрес привязанного EVM-кошелька
index - индекс аккаунта из консоли
proxy - прокси аккаунта
Как получить seed и index:
Зайдите в свой аккаунт Lighter через браузер
Откройте консоль разработчика (нажмите F12)
Вставьте команду ниже и нажмите Enter
seedиindexпоявятся в логах, их можно скопировать

📁 config/lighter_config.json
slippage - проскальзывание, используемое при открытии позиций
‼️Возможные ошибки
Invalid signature Lighter сменил
seedдля аккаунта, нужно скопировать новые данныеseedиindexиз браузера и вставить в бота. Это случается если вы авторизовались в аккаунт Lighter с новой подписью после очистки кэша в браузере или с нового антидетект профиля.
Настройки Paradex
📁 config/paradex/accounts.tx
Формат - label,ethereumPrivateKey,paradexAddress,paradexPrivateKey,proxy
label - обязательная метка для обозначения аккаунта
ethereumPrivateKey - приватный ключ кошелька связанного с Paradex аккаунтом
paradexAddress - адрес аккаунта Paradex
paradexPrivateKey - приватный ключ аккаунта Paradex
proxy - прокси аккаунта
Как получить paradexAddress и paradexPrivateKey:
Зайдите в свой аккаунт Paradex
Нажмите на адрес кошелька справа сверху
Скопируйте Paradex Address и Paradex Private Key

Настройки Hyperliquid
📁 config/hyperliquid/accounts.tx
Формат - label,ethereumPrivateKey,proxy
label - обязательная метка для обозначения аккаунта
ethereumPrivateKey - приватный ключ кошелька связанного с Hyperliquid аккаунтом
proxy - прокси аккаунта
Настройки Aster
📁 config/aster/accounts.tx
Формат - label,apiKey,apiSecret,proxy
label - обязательная метка для обозначения аккаунта
apiKey- api ключ аккаунта Aster
apiSecret - секрет от api аккаунта Aster
proxy - прокси аккаунта
Как получить apiKey и apiSecret:
Зайдите в свой аккаунт Aster
Нажмите на адрес кошелька справа сверху
Скопируйте API key и API secret key

Настройки Pacifica
📁 config/pacifica/pacifica.txt
Формат - label,privateKey,solanaAddress,proxy
label - обязательная метка для обозначения аккаунта
privateKey- приватный ключ от API вашего аккаунта Pacifica
solanaAddress - адрес SOL кошелька, который привязан к аккаунту Pacifica
proxy - прокси аккаунта
Как получить privateKey:
Зайдите в свой аккаунт Pacifica
Перейдите во вкладку API Keys
Скопируйте ключ белого цвета

Настройки EdgeX
📁 config/edgex/accounts.tx
Формат - label,console_key,proxy
label - обязательная метка для обозначения аккаунта
console_key - данные аккаунта полученные из консоли браузера
proxy - прокси аккаунта
Как получить console_key:
Зайдите в свой аккаунт EdgeX через браузер
Откройте консоль разработчика (нажмите F12)
Вставьте команду ниже и нажмите Enter
console_keyпоявятся в логах, его можно скопировать

Настройки Extended
📁 config/extended/accounts.tx
Формат - label,apiKey, starkPublicKey, starkPrivateKey, vaultNumber, clientId,proxy
label - обязательная метка для обозначения аккаунта
apiKey, starkPublicKey, starkPrivateKey, vaultNumber, clientId - данные API созданного на аккаунте Extended
proxy - прокси аккаунта
Как получить apiKey, starkPublicKey, starkPrivateKey, vaultNumber, clientId:
Зайдите в свой аккаунт Extended через браузер
Перейдите в More -> API
Нажмите Generate API Key -> Show API Details
Скопируйте все нужные данные

config.json
Все настройки уже выведены в стандартное положение, и можно в принципе использовать для работы. Но так же можно настроить под себя и свои стратегии:
Все timeout в файле указываются в миллисекундах
random_pairs - будет ли бот случайным образом подбирать аккаунты 1 к 1, или вы хотите указать самостоятельно пары. Если false, то: pairs.txt -> и с новой строки указываете какие label с каким будут в паре, пример:
Osnova1,Osnova6
Osnova3,Osnova5
и тд
max_leverage - какое максимальное кредитное плече использовать
min_balance - какой минимальный баланс должен быть на одной из бирж для старта торгов
balance_percentage_range - какой баланс использовать для прокрута
markets - список торговых пар для отработки
cycles - кол-во кругов что сделает бот перед остановкой
sleep_between_hedge - задержка между кругами (циклами)
retries - если бот за N попыток не смог открыть хедж, то все запланированные хеджи для этих аккаунтов отменяются, а также бот будет 5 раз проверять нет ли открытых позиций и закрывать если есть
use_funding - если true бот будет учитывать фандинг при расчёте спреда (работает только при двух аккаунтах в группе). Это позволяет правильно открывать позиции при противоположных ставках фандинга на двух DEX.
balance_percentage_range - какой баланс использовать для прокрута
min_live_time - сколько по времени держать позицию открытой
wait_spread_timeout - при выборе пары, сколько ждать подходящий спред. если за указанное время не будет подходящих цен для открытия ордера, то бот выберет новую пару
wait_order_fill_timeout - сколько ожидать заполнение ордеров. бот открывает ордера лимитками, и если на 1 бирже она заполнилась за отведенное время, а на другой нет, то бот закроет по маркету первую позицию и начнет искать новую пару
wait_close_spread_timeout - закрывать ли позицию после min_live_time если неподходящий спред. Если false, то бот будет бесконечно ждать пока не появится возможность закрыть позицию в 0, или в указанные вами спреды . Если true, то бот будет ждать wait_spread_timeout, и если не смог дождаться нужной разницы, то просто закроет 2 позы с текущих значений
OXYGEN_API_KEY - API Ключ вашего Oxygen.Tools аккаунта для доступа к софтам

groups.txt
В этом файле вы можете настроить какие аккаунты будут хеджироваться друг с другом.
Доступные стратегии:
2 аккаунта (например: backpack + paradex)
3 аккаунта (например: lighter1 + lighter2 + lighter3) *работает только для связки аккаунтов одной биржи
Форматы данных:
2 аккаунта —
backpack1,lighter13 аккаунта —
lighter1,lighter2,lighter3;50,20-25,20-30
Бот автоматически распознает связки аккаунтов указанные в файле, меняет стратегию если 2 биржи или 3 биржи.
Что значит количество аккаунтов, и для чего это нужно?:
2 аккаунта Бот открывает на одной бирже лонг на 50% суммы, а на другой шорт так же на 50%. Привычный способ отработки перпов.
3 аккаунта Бот открывает на одном аккаунте биржи лонг/шорт на 50% суммы, а на двух остальных зеркальную сделку на те же 50% суммы, но которая разделится на два аккаунта.
Формат - lighter1,lighter2,lighter3;50,20-25,20-30
50,20-25,20-30 - это распределение ликвидности между аккаунтами.
Можно указывать как точные значения - 50,27,23 , так и плавающие - 50,20-25,20-30 (бот будет рандомить)
Например: вы указали такие значения - 50,20-25,20-30
Распределение для группы аккаунтов по итогу может быть следующим:
Аккаунт 1 - 50% от суммы
Аккаунт 2 - 22% от суммы
Аккаунт 3 - 28% от суммы
Стратегия на 3 аккаунта сделана для точечной отработки одной биржи. Например если вы хотите крутить только Lighter.
При отработке одной биржи на 2 аккаунтах — на одном лонг, а на другом шорт, вы получите блокировку с шансом 98%. Но если вы используете 3 аккаунта, то шанс поймать блокировку стремится к 0%. Бот будет брать 1 аккаунт за главного, при чем каждый раз разного, и открывать полную позицию, а противоположную сделку разделит на другие аккаунты поровну.
Так если lighter1 откроет лонг на 500$, то lighter2 и lighter3 откроют шорты на 500$ общей суммы но с распределением, которое вы указали в формате (например 220$ и 280$).

🧠 Логика софта
Чтобы лучше понять за что отвечают все настройки и каким алгоритмам следует бот мы сделали этот блок, где в наглядных примерах объясняются процессы поиска монет, работы с ордерами и прочее.
Поиск монеты
Выбирает случайную монет из списка
marketsЖдёт на ней подходящий
min_spreadпо таймеру изopen_spread_timeoutЕсли за
open_spread_timeoutне удалось дождаться нужногоmin_spread, то выбирает другую случайную монету из markets
Открытие сделки
Сделки открываются на % от баланса, который указан в balance_percentage_range
Как только бот находит нужный
min_spreadна выбранной монете, он анализирует стакан под ваш объём предполагаемого ордера, и если всё хорошо, то он выставляет лимитный ордер на двух биржахОжидание заполнения выставленных ордеров длиться
wait_order_fill_timeout2.1 Если по какой-то причине на одной из бирж за времяwait_order_fill_timeoutне заполнился полностью ордер, то бот продаёт позиции на двух биржах по маркету (запоминает объём и записывает комиссии, но отобразит это только в таблице с подсчетом успешного круга открытия и закрытия)
Жизнь ордера
Бот будет держать открытыми заполненные позиции на биржах ориентируясь на min_live_time, после его окончания перейдет к закрытию сделки.
Отслеживание ликвидаций
В случае ликвидации какой-либо позиции в группе аккаунтов, бот останавливает поток, отменяет все запланированные хеджи для группы и закрывает открытые позиции.
Закрытие сделки
Бот начинает ожидание спреда от "0 до
min_spread" на монете. Если в настройкеuse_close_spread_timeoutстоитtrue, то ориентируется на время изwait_close_spread_timeout. Если false, то ждёт бесконечноКак только бот видит подходящий
min_spreadв стакане, он выставляет ордера на продажу и ждётwait_order_fill_timeout. Если за времяwait_order_fill_timeoutна какой-то из бирж бот не дождался полного заполнения ордера, то он обе биржи закрывает по маркетуЕсли
use_close_spread_timeoutустановлен наtrue, то он начинает искать возможность закрытия в диапазоне между "0 иmin_spread". Это ожидание длиться столько же, сколько и времяwait_close_spread_timeout.Если бот не смог дождаться спреда даже в 0, то начинает искать в диапазоне от "минус
min_spreadдо плюсmin_spread", например: от -0.04% до 0.04%. Проверка такого диапазона будет длитьсяwait_close_spread_timeout.Если даже так дождаться не удалось, то закрывает ордера по маркету

Последнее обновление
Это было полезно?
