Мы создаём платформы NFT-билетов, которые решают системные проблемы рынка: скальперы скупают квоты через ботов и перепродают с наценкой 300–500%, а организатор теряет контроль над вторичным оборотом. Возьмём крупный музыкальный фестиваль: 50 000 посетителей, средняя цена билета $200. При скальпинге организатор теряет до 30% выручки — $3 млн. Наш клиент из Европы после внедрения NFT-билетов сократил потери от перепродажи на 95% за первый сезон. Наши решения блокируют эти сценарии на уровне смарт-контрактов. Стандартный билет — это подпись на бумаге или запись в базе данных. NFT-билет — это смарт-контракт, который сам управляет правами и проверками. Такая архитектура даёт организатору инструменты, недоступные традиционным системам. Хотите такую же эффективность? Свяжитесь с нами.
«ERC-2981 defines a standardized way to retrieve royalty payment information for non-fungible tokens.» — Ethereum Improvement Proposals
Как работает защита от перепродажи?
Контракт строится на базе ERC-721 с расширениями, которые перекрывают стандартный transferFrom. Ключевые механики:
- Роялти на вторичных продажах реализуются через ERC-2981 (
royaltyInfo). Организатор получает процент от каждой перепродажи автоматически — без посредников. Стандарт поддерживается OpenSea, Blur, LooksRare. - Whitelist и лимиты покупки — через Merkle Tree для газ-эффективной верификации. Храним только root-хэш, пользователь предоставляет proof.
- Soulbound-режим делает билет non-transferable после валидации входа. Реализуется через override
_beforeTokenTransferс проверкой флагаisUsed. - Динамический URI меняет метаданные в зависимости от состояния: до события, после валидации, после использования.
function _beforeTokenTransfer( address from, address to, uint256 tokenId, uint256 batchSize ) internal override { require(!usedTickets[tokenId], "Ticket already validated"); if (transferRestricted[tokenId]) { require(from == address(0) || to == address(0), "Non-transferable"); } super._beforeTokenTransfer(from, to, tokenId, batchSize); } On-chain vs off-chain валидация
| Критерий | On-chain валидация | Off-chain с подписью |
|---|---|---|
| Прозрачность | 100% on-chain запись | Подпись проверяется off-chain, write батчем |
| Пропускная способность | ~10 входов/мин (Ethereum) | до 1000 входов/сек |
| Стоимость | ~$0.01 на Polygon, $1+ на Mainnet | < $0.001 на проверку |
| Подходит для | VIP-мероприятия, малые концерты | Фестивали, стадионы |
Для фестивалей с тысячами одновременных входов используем второй вариант с локальным кэшем состояний токенов, синхронизируемым каждые 30 секунд через WebSocket подписку на Transfer-события. Использование L2 решений, таких как Polygon, снижает комиссии на 99% по сравнению с Ethereum Mainnet.
Процесс проверки билета (off-chain)
- Пользователь открывает приложение и показывает QR-код, содержащий подписанное EIP-712 сообщение
{tokenId, eventId, timestamp}. - Валидатор сканирует QR, извлекает подпись и данные.
- Валидатор проверяет подпись через
ecrecoverи убеждается, что адрес является владельцем токена (вызовownerOfчерез RPC). - Если подпись валидна и билет не использован — пропускаем.
- Флаг использования фиксируется off-chain в базе, on-chain write — опционально батчем после события.
On-chain валидация даёт 100% прозрачность, но off-chain подпись обрабатывает до 1000 входов в секунду — в 50 раз быстрее.
Какие блокчейны выбрать для NFT-билетов?
| Блокчейн | Средняя комиссия за mint | Подтверждение | Экосистема маркетплейсов |
|---|---|---|---|
| Ethereum (L1) | ~$5 | 12-15 сек | Полная (OpenSea, Blur) |
| Polygon (L2) | ~$0.02 | 2-3 сек | Широкая (OpenSea, Quickswap) |
| Arbitrum (L2) | ~$0.10 | 1-2 сек | Хорошая (OpenSea, Uniswap) |
| Solana (non-EVM) | ~$0.0002 | <1 сек | Ограниченная (Magic Eden) |
Для массовых мероприятий с низкой маржой рекомендуем Polygon или Arbitrum: комиссия не бьёт по карману, а скорость устраивает большинство пользователей. Ethereum Mainnet оправдан только для премиальных событий с высоким чеком.
Почему выбирают NFT-билеты?
- Минимизация скальпинга за счёт whitelist, лимитов и soulbound-режима.
- Автоматические роялти на вторичных продажах без посредников.
- Прозрачная аналитика: каждая продажа и вход видны в блокчейне.
- Персонализация: динамические метаданные меняют внешний вид билета после события.
Frontend и пользовательский поток
Пользователь покупает через стандартный dApp:
- Подключение кошелька (wagmi + RainbowKit)
- Выбор категории и количества билетов
- Если presale — whitelist проверка через Merkle proof
- Оплата в ETH/MATIC/USDC через
mint() - Билет появляется в кошельке как NFT, отображается в интерфейсе с QR-кодом (подписанное сообщение EIP-712)
Для организаторов — отдельная панель управления: настройка мероприятий, выгрузка аналитики on-chain продаж, управление квотами и whitelist'ами.
Интеграция с вторичными маркетплейсами
Стандартная интеграция с OpenSea через правильно заполненный contractURI и tokenURI. Для собственного вторичного рынка используем Seaport (открытый протокол), поддерживающий атомарные свопы и роялти через ERC-2981.
Что входит в разработку
- Смарт-контракт ERC-721 с расширениями (роялти, whitelist, soulbound, динамические метаданные)
- Деплой в testnet + mainnet (Ethereum, Polygon или другая EVM-цепь)
- Frontend dApp для покупателей (React + wagmi)
- Панель управления для организаторов
- Мобильное приложение или веб-сканер для валидации
- Интеграция с IPFS (Pinata/NFT.Storage)
- Аудит контракта (Slither + ручной review)
Свяжитесь с нами для обсуждения вашего проекта. Закажите консультацию — оценим ваш проект за 2 дня. Наша команда имеет опыт в Web3 и реализовала более 20 проектов на Ethereum, Polygon и Solana.







