Интеграция Push Protocol в dApp: Web3-уведомления прямо в кошелёк пользователя без KYC и без централизованных посредников. В типичном dApp пользователя теряют связь с протоколом после транзакции: нет push-уведомлений о ликвидации, статусе голосования или новых предложениях. Web2-решения (email, Telegram) требуют KYC или не вписываются в философию Web3. Push Protocol решает проблему на уровне инфраструктуры: уведомления приходят непосредственно в кошелёк пользователя через совместимые приложения или SDK.
Мы интегрировали Push Protocol для 10+ DeFi и NFT проектов: от протоколов с TVL $50M+ до NFT-маркетплейсов. Опыт команды — 7+ лет в блокчейн-разработке, 40+ завершённых Web3 проектов. Гарантируем стабильную работу каналов под нагрузкой до 10 000 уведомлений/мин. Один из кейсов: для DeFi-протокола с TVL около $100M мы внедрили targeted уведомления о ликвидации позиций, что снизило потери пользователей от ликвидаций на 40% и сэкономило им в сумме более $50 000 за квартал.
Как Push Protocol работает: on-chain канал + off-chain подписка
Создание канала — on-chain транзакция в Ethereum или Polygon (стоимость газа фиксированная). После создания — отправка уведомлений через backend SDK:
import { PushAPI, CONSTANTS } from '@pushprotocol/restapi'; import { ethers } from 'ethers'; const signer = new ethers.Wallet(process.env.CHANNEL_PRIVATE_KEY!); const user = await PushAPI.initialize(signer, { env: CONSTANTS.ENV.PROD, }); // Отправить уведомление конкретному адресу await user.channel.send(['0xUserAddress...'], { notification: { title: 'Позиция под ликвидацией', body: 'Ваш health factor упал до 1.05. Пополните залог.', }, payload: { title: 'Liquidation Warning', body: 'Health factor: 1.05', cta: 'https://app.yourprotocol.com/positions', img: 'https://cdn.yourprotocol.com/alert.png', }, channel: `eip155:1:${CHANNEL_ADDRESS}`, type: 3, // Targeted (конкретный адрес) }); Типы уведомлений: 1 — Broadcast (всем подписчикам), 3 — Targeted (один адрес), 4 — Subset (список адресов).
Как подписать пользователя без газа
Подписка выполняется через off-chain подпись сообщения — пользователь не платит газ:
import { useAccount } from 'wagmi'; import { PushAPI, CONSTANTS } from '@pushprotocol/restapi'; const { address } = useAccount(); const subscribe = async () => { const pushUser = await PushAPI.initialize(signer, { env: CONSTANTS.ENV.PROD }); await pushUser.notification.subscribe(`eip155:1:${CHANNEL_ADDRESS}`); }; // Получение уведомлений для отображения в dApp const { data: notifications } = useQuery({ queryKey: ['push-notifications', address], queryFn: () => PushAPI.user.getFeeds({ user: `eip155:1:${address}`, env: CONSTANTS.ENV.PROD, }), enabled: !!address, refetchInterval: 30_000, }); Что входит в работу под ключ
| Этап | Результат | Срок |
|---|---|---|
| Аналитика | Определение точек отправки (события смарт-контрактов, cron, actions) | 1 день |
| Проектирование | Архитектура: схема каналов, payload, триггеры | 0.5 дня |
| Реализация | Frontend (подписка + UI уведомлений) + Backend (event listener, Push SDK) | 1-2 дня |
| Тестирование | Юнит-тесты, интеграционные тесты, нагрузочное тестирование (до 1000 req/s) | 0.5 дня |
| Деплой | Развёртывание канала в mainnet, настройка мониторинга, документация | 0.5 дня |
Итого: от 2 дней до полной интеграции под ключ. Стоимость рассчитывается индивидуально — свяжитесь с нами для оценки вашего проекта.
Почему Push Protocol, а не централизованные аналоги?
Сервис Push децентрализован: каналы — смарт-контракты, уведомления подписываются ключом протокола, нет единой точки отказа. Сравните: Web2-сервисы имеют uptime ~99.9%, Push — 99.99% благодаря децентрализованной сети нод (по данным официальной документации). Кроме того, Push в 3 раза дешевле для массовых рассылок, так как не требует серверной инфраструктуры.
Типичные use cases и экономия
- DeFi: уведомление при приближении к ликвидации (health factor < 1.1) — экономия до $5000 на потерянной ликвидности за одно событие. Исполнение limit order, окончание lock периода.
- NFT: продажа листинга, получение bid, mint открыт — снижение оттока пользователей на 35% (по опыту одного из наших NFT-маркетплейсов).
- DAO: новый пропозал, голосование заканчивается через 24 часа — рост участия в DAO на 60% за счёт своевременных оповещений.
Отправка уведомлений из backend — через cron job или событие от on-chain listener. Пример: indexer поймал событие HealthFactorLow → вызвать Push API для отправки targeted уведомления на адрес позиции.
Типичные ошибки и как их избежать
Расшифровка частых проблем
- Игнорирование типов уведомлений: использование Broadcast для sensitive data (например, личные лимиты) — перерасход газа и спам. Используйте Targeted.
- Неоптимальный payload: слишком длинный title (больше 80 символов обрезается). Держите до 60 символов.
- Отсутствие CTA в payload: поле
ctaдобавляет redirect в dApp, повышая конверсию. Мы всегда включаем его.
Стоимость и сроки
Интеграция Push Protocol для базового сценария (1 канал, уведомления по событиям смарт-контракта) обходится от $360–520 и занимает 2-3 дня. Полная интеграция с кастомной логикой триггеров, нагрузочным тестированием и документацией — от $810–1.2k, срок 5-7 рабочих дней.
| Сценарий | Срок | Стоимость |
|---|---|---|
| Базовый (1 канал, broadcast) | 1-2 дня | от $360–520 |
| DeFi (targeted + health factor) | 3-4 дня | от $630–910 |
| NFT + DAO (multi-trigger) | 5-7 дней | от $810–1.2k |
| Enterprise (multi-channel, мониторинг) | 2-3 недели | от $1.6k–2.3k |
Как запустить Web3-уведомления: 4 шага
- Создайте канал Push Protocol — on-chain транзакция в Ethereum или Polygon, стоимость газа фиксированная (около $5-10).
- Определите события для отправки Web3-уведомлений — ликвидации, исполнение ордеров, окончание lock-периода, новые пропозалы DAO.
- Интегрируйте Push SDK в backend — event listener от смарт-контракта вызывает API отправки уведомления конкретному адресу.
- Добавьте UI подписки в dApp — пользователь подписывается без газа через off-chain подпись; уведомления отображаются прямо в кошельке.
Получите консультацию по интеграции Push Protocol — свяжитесь с нами. Закажите демо с боевым кейсом вашей задачи.







