Ручна видача ролей у чатах — пекло для модераторів. Користувачі чекають годинами, помиляються з гаманцями, а підтримка тоне в заявках. Ми автоматизуємо це через 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, стейкінг баланси, 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
// }Плейсхолдер {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.







