Command-line tool for scaffolding complete Next.js XRPL wallet applications.

๐Ÿš€ Quick Start

# Clone the repository
git clone https://github.com/zhaben/xrp-genie.git
cd xrp-genie

# Install dependencies
npm install

# Create your app
npx xrp-genie init my-app
cd my-app
npm run dev

๐Ÿ“‹ What It Creates

The CLI generates a complete Next.js application with:

  • XRPL wallet integration (Web3Auth, Xaman, or Faucet)
  • Tailwind CSS styling
  • TypeScript support
  • Working examples of wallet connection and transactions
  • Environment configuration files

๐ŸŽฏ Choose Your Integration

During initialization, youโ€™ll select:

๐Ÿ” Web3Auth (Social Login)

  • Google, Twitter, Discord login
  • No wallet installation required
  • Perfect for mainstream users
  • Requires Web3Auth setup

๐Ÿ“ฑ Xaman (Mobile Wallet)

  • QR code signing flow
  • Mobile wallet integration
  • Secure transaction signing
  • Requires Xaman setup

๐Ÿงช Faucet (Development)

  • Direct wallet creation
  • Automatic testnet funding
  • Perfect for development/testing
  • No external setup required

๐ŸŒ Network Selection

Choose between:

  • Testnet - For development and testing
  • Mainnet - For production applications

๐Ÿ“ Project Structure

Generated project includes:

my-app/
โ”œโ”€โ”€ app/
โ”‚   โ”œโ”€โ”€ globals.css
โ”‚   โ”œโ”€โ”€ layout.tsx
โ”‚   โ””โ”€โ”€ page.tsx
โ”œโ”€โ”€ hooks/
โ”‚   โ””โ”€โ”€ useXrplWallet.ts     # Wallet integration
โ”œโ”€โ”€ package.json
โ”œโ”€โ”€ tailwind.config.js
โ”œโ”€โ”€ tsconfig.json
โ””โ”€โ”€ .env.local.example       # Environment variables

โšก Commands

Initialize Project

npx xrp-genie init <project-name>

Development

cd <project-name>
npm run dev

Build

npm run build

Start Production

npm start

๐Ÿ”ง Configuration

After initialization:

  1. Copy environment file:
    cp .env.local.example .env.local
    
  2. Add your API keys (for Web3Auth/Xaman):
  3. Start development:
    npm run dev
    

๐Ÿ“š Next Steps

After creating your app:

๐Ÿ”— Alternative: Use the SDK

For existing projects, use the XRP Genie SDK instead:

npm install xrp-genie-sdk xrpl