Ручная выдача ролей в чатах — ад для модераторов. Пользователи ждут часами, ошибаются с кошельками, а поддержка тонет в заявках. Мы автоматизируем это через Guild.xyz: цепляем кошелёк — и условия проверяются on-chain за секунды. Держишь 100 токенов ERC-20 — получаешь роль в Discord. Имеешь NFT коллекции — открывается Telegram. Никакого ручного вайтлистинга. Самое главное — безопасность: контракты проходят аудит, данные не хранятся на сторонних серверах. Guild поддерживает кросс-чейн верификацию, что критично для мультисетевых сообществ вроде DAO на Arbitrum и Polygon.
Настройка базового гейта занимает от часа под ключ. Для нестандартных сценариев пишем кастомные контракты и используем SDK. Ниже — как это работает и что вы получите.
Базовая настройка через Guild UI
Большинство кейсов решается без кода. Создаёте Guild, привязываете Discord или Telegram, задаёте условия — и ссылка готова. Пользователь подключает кошелёк, Guild верифицирует и выдаёт роль. Поддерживаемые платформы:
| Платформа | Тип доступа | Особенности |
|---|---|---|
| Discord | Роль на сервере | Требуется Guild-бот с правами управления ролями |
| Telegram | Группа/канал | Invite link с ограничением по условию |
| GitHub | Репозиторий | Доступ к private-репозиториям |
| Google Workspace | Drive/документы | Проверка через Google OAuth |
| Notion | База данных | Экспорт участников по условию |
Условия из коробки: ERC-20 balance, ERC-721 ownership, ERC-1155 balance, staking балансы, POAP, Snapshot голосование. Всё настраивается через веб-интерфейс.
Как настроить кастомные условия через Guild API?
Для нестандартных критериев — сложная логика, внешние данные — используем API. Деплоим контракт с методом проверки, регистрируем его в Guild. Пример — доступ только если пользователь совершил >= 5 транзакций с контрактом:
// Guild Custom Contract Check // Контракт-верификатор contract ActivityChecker { mapping(address => uint256) public interactionCount; function checkEligibility(address user) external view returns (bool) { return interactionCount[user] >= 5; } } // Конфигурация в Guild: // { // "type": "CONTRACT", // "chain": "ETHEREUM", // "address": "0x...", // "abi": [...], // "method": "checkEligibility", // "params": ["{user_address}"], // "returnIndex": 0, // "expected": true // } Placeholder {user_address} подставляется автоматически. Так можно проверять что угодно: минимальный объём торгов, участие в стейкинге, количество транзакций.
Пример: доступ для стейкеров
Если нужно дать роль только тем, кто застейкал не менее 500 токенов в пуле, контракт проверяет баланс стейкинга. Guild подставит адрес пользователя и вызовет метод stakedBalance(address). Всё работает без дополнительных действий пользователя.
Из нашей практики: клиент — NFT-маркетплейс — хотел давать доступ к пресейл-чату только тем, кто сделал минимум 3 покупки на платформе. Мы написали контракт ActivityChecker, интегрировали через API. Результат — ручная модерация ушла в ноль, время выдачи роли сократилось с 2 часов до 10 секунд.
Почему Guild.xyz удобнее кастомного access control?
Написать свой контракт-гейт можно, но это недели разработки + аудит + поддержка. Guild даёт коробку: верификация, логирование, масштабирование, кросс-чейн. Вы платите только за подписку Guild (если нужна) и нашу интеграцию. Экономия времени — до 10 раз. Мы имеем большой опыт в таких проектах и гарантируем надёжность решения.
Составные условия (AND/OR)
{ "logic": "AND", "requirements": [ { "type": "ERC20", "address": "0xTokenAddress", "chain": "POLYGON", "data": { "minAmount": "100" } }, { "type": "ERC721", "address": "0xNFTAddress", "chain": "POLYGON" } ] } Это покрывает DAO-сценарии: «владеет токеном И membership NFT», «голосовал в Snapshot ИЛИ держит стейк». Можно комбинировать до 10 условий.
Интеграция через Guild SDK
import { createGuildClient } from "@guildxyz/sdk"; const guild = createGuildClient("my-app-name"); // Создание роли программно const role = await guild.role.create(guildId, signer, { name: "Token Holder", requirements: [ { type: "ERC20", chain: "ETHEREUM", address: tokenAddress, data: { minAmount: "1000" } } ] }); // Проверка eligibility пользователя const access = await guild.user.getMemberships(userAddress); SDK удобен для динамики: меняете условия при изменении tokenomics или milestone-ов без ручного редактирования в UI. Подробнее читайте в Guild.xyz SDK documentation.
Типичные кейсы
| Кейс | Условие | Платформа |
|---|---|---|
| DAO contributor access | Governance token >= 100 | Discord закрытые рабочие каналы |
| NFT community | ERC-721 любая из коллекции | Telegram группа |
| Tiered benefits | 100+ / 1000+ / 10000+ токенов | Discord роли Bronze/Silver/Gold |
| Cross-chain membership | Токен на Ethereum ИЛИ NFT на Polygon | Единый доступ в экосистеме |
| Staking gating | Staked amount >= 500 | Закрытый чат для стейкеров |
Процесс работы
- Анализ — разбираем ваши требования: какие условия, платформы, количество пользователей.
- Проектирование — выбираем схему: UI/API/SDK, пишем контракты, если нужны кастомные.
- Реализация — настраиваем Guild, деплоим контракты, интегрируем с вашим ботом или сайтом.
- Тестирование — проверяем все сценарии: положительные, граничные, reentrancy (для контрактов).
- Деплой — запускаем, обучаем вашу команду, передаём документацию.
Сроки и ориентировочная стоимость
Базовый гейт (1–2 условия, одна платформа) — от 1 дня. Сложная интеграция с кастомными контрактами и SDK — до 5 дней. Точную оценку даём после брифа — заполните форму на сайте, мы рассчитаем за 24 часа.
Что входит в работу
- Настройка Guild.xyz (аккаунт, роли, платформы)
- Написание и деплой кастомных контрактов (если нужно)
- Интеграция через SDK (если требуется динамическое управление)
- Тестирование всех условий и сценариев
- Документация для вашей команды
- 30 дней поддержки после запуска
Готовы автоматизировать доступ? Свяжитесь с нами — обсудим ваш проект. Получите консультацию по token-gating.







