Gno-native multisig wallet & DAO governance application.
⚠️ Alpha Software — Memba is experimental, unaudited, and under active development. See DISCLAIMER.md.
Memba is a standalone web application for managing multisig wallets and DAO governance on the Gno blockchain. Built by Samouraï Coop.
🌐 Live: memba.samourai.app
- 🔑 Create & import multisig wallets
- 💼 Adena wallet connection (dApp mode)
- 💰 GNOT balance display (live via ABCI query)
- 📝 Propose GNOT send & contract call transactions
- ✍️ Sign with Adena or paste gnokey signatures (air-gapped)
- 📊 Signature tracking + threshold progress
- 📡 Combine signatures + broadcast to chain
- 🔗 Shareable import links for 1-click onboarding
- 🔍 Auto-detect multisig membership with 1-click join
- ✏️ Inline multisig rename (per-user, backend-persisted)
- 🏛️ Multi-DAO hub — proposals, voting, execution, member management
- 🏗️ DAO Factory — 4 presets (Basic, Team, Treasury, Enterprise)
- 🎭 Roles — admin, dev, finance, ops, member + role management
- 📊 Quorum — configurable minimum participation %
- 📁 Proposal Categories — governance, treasury, membership, operations
- 📊 SingleVoteBar — participation % (green YES / red NO split) + tier pie chart
- 📊 Quorum threshold — 50% marker with amber/teal participation indicator
- 🗄️ Archive DAO — admin-only archival for obsolete DAOs
- 💰 Treasury Management (asset overview, spending proposals)
- 🔴 LIVE auto-refresh for active proposals (30s polling)
- 📂 Organization Directory — discover DAOs, tokens, and users with rich metadata
- Featured DAOs carousel, DAO Render parsing (members, proposals, description)
- Save-to-Memba buttons, search/filter, premium glassmorphism UI
- 🗳️ "Needs My Vote" filter tabs for DAO members
- ✅ Vote status badges + auto-hide buttons after voting
- 🔴 Unvoted proposal notification dot (pulsing red badge on DAO nav)
- 🏥 DAO Health Score — composite A/B/C/D grade badge (participation, backlog, activity)
- 📦 Proposal Action Metadata — action type, body, executor realm on ProposalView
- 🏷️ Category Badges — parsed proposal categories displayed in header
- ⚡ Inline EXECUTE Badges — passed proposals show inline action indicator
- 📊 Validator Dashboard — 20+ validators with voting power, rank, search, pagination
- 🏷️ Monikers — human-readable names from gnomonitoring API (pending CORS unlock)
- ⬆️ Uptime & Participation — live metrics from monitoring service
- 🔄 hexToBech32 — Tendermint hex →
g1...bech32 address derivation - 📈 Network stats cards (Block Height, Avg Block Time, Active Validators, Total Voting Power)
- 🕵️ Hacker View — gnockpit-parity+ telemetry dashboard with:
- Per-validator health grid (health badge, participation %, uptime %, missed blocks, TX contribution)
- Live consensus round age counter (green/yellow/red severity)
- RPC status badges + "only validators" peer filter
- Network Health Banner (✅🟡🔴⚪ counts)
- Incident polling (30s) + monitoring refresh (60s)
- Session age, DoctorPanel diagnostics, NodeStatePanel identity
- 🔔 Alerts Page —
/alertsroute with 3-section accordion (Webhooks, Contacts & Schedule, Telegram) - 🔑 Clerk Auth — secondary auth layer scoped to alerting (independent from Adena wallet)
- 🪝 Webhook CRUD — Discord & Slack webhooks for GovDAO and Validator monitoring
- 👤 Alert Contacts — link validator monikers to Discord/Slack mention tags
- 📋 Daily Reports — configurable hour/minute/timezone with auto-detect
✈️ Telegram Bots — onboarding cards for@govdao_activities_bot&@gno_validators_bot- 🛡️ Bundle Isolation — Clerk SDK (~45KB) lazy-loaded, zero impact on non-alerts pages
- 💚 Scoreboard — contributor leaderboard with time filters, core team exclusion, sortable columns
- 🏆 Team Cards — CSS Grid team breakdown with ranked scores
- 📋 Weekly Report — PR status report with week navigation and 5 status tabs
- 📈 Analytics — Recharts visualizations: team bar charts, contribution pie chart, 9 stat cards
- 🗺️ Sub-Navigation — Scoreboard / Report / Analytics tab navigation
- ❓ Help Wanted Issues — bounty/help-wanted issues from the Gno ecosystem
- 🔀 Freshly Merged PRs — latest merged pull requests feed
- 📦 Tracked Repositories — repository overview with branch info
- 🛡️ Bundle Isolation — entire section lazy-loaded, zero main bundle impact (+1KB)
- 🔒 Zod Validation — 25+ runtime schemas at the API boundary
- 🪙 GRC20 Token Launchpad (create, mint, burn, transfer, faucet)
- 💎 2.5% platform fee on mints (supports Samouraï Coop)
- 🏛️ Multisig admin governance for GRC20 tokens
- 🎨 NFT Gallery — browse GRC721 collections, view metadata, explore by realm path
- 🏪 NFT Marketplace — active listings with Buy Now + Make Offer actions
- 📊 Activity Feed — recent sales from on-chain marketplace Render()
- 🚀 NFT Launchpad — 5-step wizard to deploy GRC721 (1-of-1) or GRC1155 (editions) collections
- 💰 Buy/Sell Modals — price breakdown (price + 2.5% platform fee + seller receives)
- 🤝 Offer System — escrow-backed offers with 7-day timeout safety valve
- 📦 GRC1155 Templates — multi-token editions with per-token supply caps, URI metadata
- 🔐 Self-contained code generation — templates deploy on any network without external dependencies
- 🏷️ Feature-gated behind
VITE_ENABLE_NFT
- 🎮 85 Quests — Developer, Everyone, Champion, and Hidden categories
- 🏆 8-Tier Rank System — Newcomer → Gno Guardian (2,000 XP)
- ✅ Multi-Type Verification — on-chain, off-chain, social, self-report
- 🔗 Prerequisite Chains — quest dependencies with visual chain display
- 📊 Leaderboard — XP rankings across all players
- 🎉 Completion Celebration — animated XP overlay on quest verification
- 🏅 Badge NFT Infrastructure — GRC721-based achievement badges
- 🤖 Multi-Model Consensus — 10 free AI models via OpenRouter analyze proposals from different perspectives (strategic, risk, technical, financial, legal, security, community, governance, reasoning, contrarian)
- 📊 Proposal-Level Analysis — on-demand "Run AI Analysis" button on any proposal, shows verdict badge (APPROVE/REJECT/CAUTION) + confidence + model breakdown
- 🏛️ DAO-Level Health Insight — AI health grade (A+ through F) as a stat card in the DAO overview, with tooltip summary and expandable full report
- 💾 SQLite-cached — results cached 6h to preserve OpenRouter quota (200 req/day free tier)
- 🔒 Security — API key backend-only, prompt injection preamble, input validation, SSRF guards
- 🌐 RealmDetailDrawer — slide-in panel with Render/Source/Info tabs for realms and packages
- 💻 Source Code Viewer — CSS-only Gno syntax highlighting, line numbers, file tabs, copy button
- 📄 Markdown Renderer — lightweight XSS-safe renderer for Gno Render() output
- 🔍 Cross-Tab Global Search — aggregated results across DAOs, realms, packages
- 🪙 Token Detail Drawer — inline preview with symbol, path, gnoweb link
- 📅 Proposal Dates — hybrid tx-indexer + block estimation with
~prefix - 🎯 Candidature Bridge — 3-state CandidatureUnlock linking Quest Hub to DAO membership
- 👥 Teams Polish — copy invite code, confirmation dialogs, username resolution, team descriptions
- 👤 User profiles (bio, social links, contributions, deployed packages)
- 📛 Username registration via network-aware user registry (
getUserRegistryPath()) - 🔗 GitHub OAuth identity verification
- 📊 Gnolove contribution stats (commits, PRs, issues, reviews)
- 🔀 User redirect (
/u/username→/profile/address) - 🗳️ "My Votes" — cross-DAO vote history on user profile
- 🏛️ DAO Memberships — saved DAO list on profile with navigation
- 🖼️ Avatar Upload — URL + file picker (JPEG/PNG/WebP/GIF, 2MB max)
- 🔔 Notification Center — bell icon, 30s ABCI polling, per-wallet isolation, grouped by date
- ⚡ Validator Dashboard — network stats, voting power distribution, sortable table, pagination
- 💧 Faucet Card — gasless onboarding with dismiss button, "TESTNET ONLY" badge
- 🧩 Extensions Hub — dedicated
/extensionspage with status badges (Active/Coming Soon) - ⌘K Command Palette — 14 navigation commands, fuzzy search, keyboard shortcuts
- 💬 Channel Pages — standalone
/dao/:slug/channelsroute with sidebar, breadcrumb nav - 🔄 Real-time UX — 10s polling, Page Visibility API pause, "New messages" toast
- 🔊 Voice Channels — Jitsi Meet iframe embed, "Join Room" gate
- 🎥 Video Channels — Jitsi Meet with camera, deterministic room names
- 🧵 Thread Types — text (💬), announcements (📢), readonly (🔒), voice (🔊), video (🎥)
- 🎙️ PiP Portal — Jitsi sessions persist across route navigation (draggable mini-player)
- 🔊 Default DAO Rooms — auto Public/Members rooms for all DAOs
- 🎬 Creative Landing — 6 Remotion animated feature showcases
- 📊 Live ABCI Stats — real-time block height, validators, chain ID on landing page (30s polling)
- 📐 Sidebar Navigation — Vercel-inspired 3-section sidebar (Navigation, Plugins, User)
- 📱 Mobile Tab Bar — 5-tab bottom navigation (Home, DAOs, Tokens, Directory, More)
- 📋 Bottom Sheet — Slide-up modal for mobile overflow menu
- 🔒 TopBar — Alpha/v2 badges, network selector, wallet status, security banners
- ♿ Skip-to-content — Accessibility link (focus-only)
- 🔐 Challenge-response auth (ed25519, ADR-036)
- 🛡️ RPC domain validation — blocks writes through untrusted RPCs
- 🔒 Content Security Policy — CSP meta tag restricting script/style/connect/frame origins
- ⚡ Adena reconnect optimization (5s polling,
GetNetwork()cached) - 🏠 Dashboard guard — hidden when disconnected, auto-redirect to landing
- 🌐 Network selector (test12 ↔ test11 ↔ staging ↔ portal-loop ↔ gnoland1) with chain mismatch detection
- 📱 Mobile responsive (375px+) with sidebar collapse at 1024px, tab bar below 768px
- ⚡ Code splitting (496KB main, 145KB gzip, lazy-loaded DAO/token/directory/channel/NFT chunks)
- 🪲 Sentry — Error monitoring with PII scrubbing (self-hosted at sentry.samourai.pro)
- 🐳 Docker Compose self-hosting
- 🚀 CI/CD: GitHub Actions (Node 22) + Netlify + Fly.io
- 🧪 1,588 unit tests (Vitest, 72 files) — ABCI parsers, code generators, template sanitizer, gnoweb namespace/source explorer, profile logic, balance formatting, RPC domain validation, write guard, plugins, notifications, validators, directory, channels, DAO metadata, gas config, error messages, gnomonitoring, validator health engine, gnolove filters, chain health, NFT marketplace parsers, GRC1155 templates, block time estimation, markdown renderer, quest system, integration tests
- 🧪 E2E tests (Playwright, Chromium, 18 spec files) — navigation, smoke, plugins, DAO, profile, token, multisig, settings, create-dao, treasury, validators, directory, extensions, cmd-k, channels, gnolove, candidature, teams
frontend/ → React + Vite + Vanilla CSS + Kodera design system (Netlify)
backend/ → Go + ConnectRPC + SQLite (Fly.io)
api/ → Protobuf service definitions (Buf)
contracts/ → Gno realms (future)
docs/ → Architecture, API, deployment docs
See docs/ARCHITECTURE.md for the full system design.
Memba uses a modular plugin system for extensible DAO features:
src/plugins/
├── registry.ts # Plugin registry (frozen after init)
├── types.ts # PluginProps interface
├── styles.ts # Shared plugin styles
├── PluginLoader.tsx # Lazy-loading error boundary
├── board/ # 💬 Discussion board (ABCI parser)
├── gnoswap/ # 🔄 GnoSwap DEX integration
├── leaderboard/ # 🏆 Member ranking
└── proposals/ # 📋 Proposal Explorer (search, filter, sort, paginate)
Each plugin follows: index.tsx (entry) → *View.tsx (UI) → queries.ts/builders.ts (logic).
Extensions in CreateDAO: The wizard's Step 4 lets users enable plugins during DAO creation. When Board is enabled, a companion board realm is deployed alongside the DAO in a chained transaction.
- Go ≥ 1.25
- Node.js ≥ 22
- Buf CLI
- Adena Wallet browser extension
# Backend
cd backend && go run ./cmd/memba
# Frontend
cd frontend && npm install && npm run dev
# Proto generation
make proto-gen# Frontend unit tests (Vitest)
cd frontend && npm test
# Frontend E2E smoke tests (Playwright)
cd frontend && npx playwright test
# Backend tests
cd backend && go test -race -count=1 -cover ./...| Network | RPC | Chain ID |
|---|---|---|
| test12 ⭐ | https://rpc.testnet12.samourai.live:443 |
test12 |
| test11 (legacy) | https://rpc.test11.testnets.gno.land:443 |
test11 |
| portal-loop | https://rpc.gno.land:443 |
portal-loop |
| staging | https://rpc.gno.land:443 |
staging |
| gnoland1 (Betanet) | https://rpc.gnoland1.samourai.live:443 |
gnoland1 |
samourai-crew 3-of-7: g10kw7e55e9wc8j8v6904ck29dqwr9fm9u280juh
- Roadmap
- Changelog
- Architecture
- API
- Deployment
- Contributing
- Security Policy
- Code of Conduct
- Disclaimer
Built by the Samouraï Coop team.
Contributions are welcome! See CONTRIBUTING.md for guidelines.
MIT © 2026 Samouraï Coop