INBOX is a decentralized inbox web application that enables users to onboard with their wallet, register an ENS subname, and communicate securely using XMTP. The project is built with Next.js and leverages modern web3 technologies for seamless onboarding and messaging.
- Wallet Onboarding: Secure wallet connection using Privy SDK
- ENS Subname Registration: Register a unique ENS subname via NameStone SDK
- Inbox & Messaging: Decentralized messaging powered by XMTP (coming soon)
- Notifications: Real-time notifications for new messages (planned)
- Test Coverage: Comprehensive tests using Jest and React Testing Library
- CI/CD: Automated testing and linting with GitHub Actions
- Next.js
- React
- Privy SDK (wallet onboarding)
- NameStone SDK (ENS subname registration)
- XMTP (messaging, planned)
- Jest & React Testing Library
- Zustand (state management)
- ESLint & Prettier
- Node.js (v18+ recommended)
- npm or yarn
-
Clone the repository:
git clone https://github.com/yourusername/inbox.git cd inbox/inbox-app
-
Install dependencies:
npm install # or yarn install
-
Configure environment variables: Create a
.env.local
file in this folder with the following:NEXT_PUBLIC_NAMESTONE_ENS_DOMAIN=yourbrand.eth NAMESTONE_API_KEY=your-namestone-api-key NEXT_PUBLIC_PRIVY_APP_ID=your-privy-app-key
Fill with your actual values
-
Run the development server:
npm run dev # or yarn dev
The app will be available at http://localhost:3000
npm test
# or
yarn test
src/
app/
onboarding/ # Onboarding modal and logic
api/namestone/ # API route for ENS registration (CORS proxy)
...
public/
.env.local # Environment variables
...
- Wallet onboarding (Privy)
- ENS subname registration (NameStone)
- Messaging and inbox (XMTP)
- Notification system
- Documentation and coverage
MIT
Built with ❤️ by the INBOX team.