Ретро мини-апка на Base в стиле Dendy. Два режима: ФАРМ — покупка токена BMZH и касание x402; АИРДРОП — колесо, которое выдаёт NFT прямо в кошелёк. Всё ончейн.
Живая версия: https://bomzh-base-miniapp.vercel.app
| Экран | Что делает |
|---|---|
| Главная | две кнопки-карточки: ФАРМ и АИРДРОП |
| ФАРМ | ИИ-агент с ровно двумя действиями: купить 1000 BMZH, коснуться x402 |
| АИРДРОП | колесо на 8 секторов; CLAIM подписывает транзакцию, NFT минтится в ней же |
Агент намеренно лишён любых полномочий: у модели нет инструментов, она не получает пользовательский текст и не может ничего инициировать. Действия выполняет обычный код детерминированно, а модель только озвучивает готовый результат одной фразой. Поэтому prompt injection здесь невозможен — подать произвольный текст просто некуда.
Приз берётся из события Spun в квитанции транзакции, а не из кэша nextPrize.
Поэтому анимация всегда совпадает с тем, что реально сминтилось: колесо
физически не может показать не тот приз.
Все верифицированы на Basescan (Exact Match) и на Sourcify.
| Контракт | Адрес |
|---|---|
| BMZH (токен B20) | 0xB200000000000000000000873a5F3745D420D7C9 |
| BomzhSale | 0x362e59F89b46C685AD47CE76e4399EDBF1a09273 |
| BomzhRoulette | 0x87e546A90E5a0E69048068f08c433679BE25643a |
| BomzhB20Factory | 0x477Eb694f91E058B68dd6Bb3E303d91917196e52 |
| Приз 1 · TIER 1 | 0x5933dd22E94095BCa20E7E045D119a70e64315ba |
| Приз 2 · TIER 2 | 0xD436dc7d443B5408B88B4DFd9c57697099818113 |
| Приз 3 · TIER 3 | 0xa3dbCc441D267b20695218413aBaEe96a6528D69 |
| Приз 4 · Подарок | 0xBA35B3F48a6887050A3149C00DBf6237FACf93d6 |
Токен BMZH — это B20: надстройка над ERC-20, работающая нативным прекомпайлом. Снаружи ведёт себя как обычный ERC-20, но исходника у него нет, поэтому верифицировать его нечем и не нужно.
- Next.js 16 (App Router) + React 19 + Tailwind v4
- wagmi v2 + viem v2 +
@base-org/account x402-fetchдля микроплатежей x402- Anthropic SDK (Haiku) — только для реплик агента
Farcaster/MiniKit не используются: с 9 апреля 2026 Base App считает апки обычными веб-приложениями.
npm install
npm run devОткрыть http://localhost:3000.
Переменные окружения — в .env.local (см. .env.local.example):
| Переменная | Обязательна | Зачем |
|---|---|---|
ANTHROPIC_API_KEY |
нет | живые реплики агента; без неё — заготовленные фразы |
Приватный ключ кошелька в проекте не используется нигде — все транзакции подписываются в кошельке пользователя.
npm run dev # разработка
npm run build # продакшен-сборка
npm run lint # eslint
npm test # юнит-тестыК транзакциям buy, approve и spin приклеивается ERC-8021 data suffix
с билдер-кодом bc_892znyoo — по нему Base засчитывает активность апке.
Код и суффикс лежат в одном месте: src/lib/constants.ts.
MIT mit не работает