📈PerpLand
Совместимость: Windows, MacOS, Linux
📚 Описание проекта
Perp DEX - новый тренд в крипте с фармом поинтов на большом количестве разных площадок со фьючерсами. Мы для себя выбрали следующие: Backpack, Lighter, Paradex. Наш софт помогает открывать зеркальные позиции, накручивать объемы и экономить огромное количество сил и времени при отработке.
Затраты на Backpack 1 acc: 400-500$ acc
Затраты на Paradex 1 acc: 400-500$ acc
Затраты на Lighter 1 acc: 40$ acc
Ожидаемый профит: Lighter x7 к затратам Paradex x3-4 к затратам Backpack x2 к затратам
🚀 Доступные в софте активности
Особенности
Бот проверяет баланс на двух запущенных аккаунтах и берет в работу ту сумму, где баланс меньше
Работа с 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
появятся в логах, их можно скопировать
const [index, obj] = Object.entries(JSON.parse(localStorage.getItem('signature')))[0];
console.log('index:', index);
console.log('seed:', obj.seed);

📁 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

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,lighter1
3 аккаунта —
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_timeout
2.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
.Если даже так дождаться не удалось, то закрывает ордера по маркету

Last updated
Was this helpful?