尚未检测到更新。GitHub 发布版本后会显示在这里。
Fan Passport platform for verified fandom, LIVE participation, benefits, and GIWA credentials.
翻译准备中
正在加载完整 README。
查看完整 README ↗Fan activity is valuable, but it is usually fragmented across content, community, LIVE, and commerce platforms. kyaa turns verified participation into a persistent fan record:
The previews below show the earlier ByUs release; the current product is available at kyaa.io.
| Discover and participate | Verify and unlock |
|---|---|
kyaa is database-first. Supabase remains the operational source of truth for identity, activity, score, eligibility, claims, and mint state. GIWA provides the public ownership and verification layer for issued credentials.
flowchart LR
Fan["Fan"] --> Web["Next.js product<br/>and server-side BFF"]
Fan --> Privy["Privy<br/>Google sign-in + embedded wallet"]
Privy --> Web
Web --> DB["Supabase<br/>identity, activity, score,<br/>benefits, credentials, queues"]
DB --> Worker["One-shot workers"]
Worker --> IPFS["IPFS metadata"]
Worker --> GIWA["GIWA Sepolia<br/>Passport + Stamp"]
GIWA --> DB
| Layer | Implementation |
|---|---|
| Product | Next.js 16, React 19, TypeScript |
| Identity and wallet | Privy embedded EVM wallet |
| Data and queues | Supabase Postgres, RLS, RPCs, Edge Functions |
| Chain integration | Viem, GIWA Sepolia |
| Credentials | Soulbound ERC-721 Passport and ERC-1155 Stamp |
| Metadata | IPFS |
| Workers | One-shot TypeScript workers on AWS Lambda |
| Contracts | Solidity 0.8.28, Foundry, OpenZeppelin Contracts |
Each Passport belongs to one fan in one creator context. It brings together:
| Activity | Credential | Fan Score |
|---|---|---|
| Pass fan verification | Knowledge Stamp | +1 |
| Reserve a LIVE | Reservation Stamp | +1 |
| Enter the LIVE Fan Code | Attendance Stamp | +3 |
| Complete the post-LIVE survey | Survey Stamp | +2 |
Both credential contracts are non-transferable. A fan can prove the record, but cannot sell or transfer it to another wallet.
| Credential | Contract | Standard |
|---|---|---|
| Fan Passport | 0x17f9…ca20 | Soulbound ERC-721 |
| Live Stamp | 0x1AdC…2285 | Soulbound ERC-1155 |
The current deployment is on GIWA Sepolia testnet. kyaa does not put private fan profiles, quiz answers, activity logs, CRM data, or benefit fulfillment data on-chain. Existing ByUs contracts and issued credentials retain their original names and addresses.
apps/web Production fan product, BFF, and operations UI
apps/worker Passport/Stamp minting and notification workers
contracts Soulbound credential contracts and Foundry tests
supabase/migrations Product domain, queues, owner projections, and invariants
supabase/functions Protected scheduler and queue-maintenance functions
infrastructure/aws Worker runtime infrastructure
scripts Build, security, media, deployment, and verification tools
apps/web is the production application.
24.13.111.18.0git clone https://github.com/kyaa-io/kyaa.git
cd kyaa
npm ci
cp apps/web/.env.example apps/web/.env.local
# Fill apps/web/.env.local with authorized development values.
npm run dev --workspace @byus/web
Open http://localhost:3000.
npm run test:web
npm run typecheck
npm run lint:web
npm run build
npm test --workspace @byus/worker
npm run typecheck --workspace @byus/worker
npm run build --workspace @byus/worker
cd contracts
forge test
The full environment model, worker lifecycle, and verification commands are documented in the kyaa Developer Documentation.
Please read SECURITY.md before reporting a vulnerability.
The application source is publicly viewable for evaluation and collaboration. Copyright © 2026 SallyLab Inc. All rights reserved. See LICENSE.