Documentation

Build Banano dApps with MonkeyMask

MonkeyMask is a production-ready browser extension wallet for Banano with enterprise-grade security, Phantom-style API compatibility, and comprehensive ecosystem integration.

Installation

For Users
Manual Installation (Development)
  1. Download the latest release from GitHub
  2. Open Chrome and go to chrome://extensions/
  3. Enable Developer mode
  4. Click Load Unpacked and select the dist folder
  5. MonkeyMask will appear in your extensions!
For Developers
Build from Source
git clone https://github.com/thekesslereffect/monkeymask.git
cd monkeymask/extension
npm install
npm run build
Browser Compatibility
ChromeBraveEdge

Quickstart

Next.js Integration
// providers/index.tsx
import { MonkeyMaskProvider } from './MonkeyMaskProvider';

export function Providers({ children }) {
  return (
    <MonkeyMaskProvider
      config={{
        autoConnect: true,
        onConnect: (publicKey) => {
          console.log('Wallet connected:', publicKey);
        },
        onDisconnect: () => {
          console.log('Wallet disconnected');
        },
        onError: (error) => {
          console.error('Wallet error:', error);
        },
      }}
    >
      {children}
    </MonkeyMaskProvider>
  );
}

// app/layout.tsx
import { Providers } from '@/providers';

export default function RootLayout({ children }: { children: React.ReactNode }) {
  return (
    <html lang="en">
      <body>
        <Providers>{children}</Providers>
      </body>
    </html>
  );
}

Core Features

Enterprise Security
  • • Per-origin permissions
  • • AES-256 encryption
  • • Auto-lock protection
  • • User approval required
  • • No auto-approvals
Phantom-Style API
  • • Event-driven architecture
  • • Connection persistence
  • • Standardized error codes
  • • TypeScript support
  • • Silent reconnection
BNS Integration
  • • Resolve .ban domains
  • • Human-readable addresses
  • • Automatic resolution
  • • Transaction support
  • • Developer-friendly API

API Reference

Connection Management

Account Information

Transactions

Banano Name System (BNS)

Message Verification

Event System

Error Handling

Standardized Error Codes

MonkeyMask follows EIP-1193 error standards for consistent error handling across dApps.

4001 - User Rejected
User rejected the request
4100 - Unauthorized
Not connected to MonkeyMask
4900 - Disconnected
Provider is disconnected
-32602 - Invalid Params
Invalid method parameters
-32603 - Internal Error
Internal error occurred

Advanced Examples

Security Best Practices

Permission Model

Per-Origin Permissions: Each website requires explicit user approval

Persistent Authorization: Approved connections survive browser restarts

User Control: Users can revoke permissions anytime via Connected Sites

No Auto-Approvals: Every transaction requires user confirmation

Wallet Security

Auto-Lock: Configurable timeouts (1/5/15/60 minutes)

AES-256 Encryption: Private keys encrypted with PBKDF2

Local Storage: Keys never leave the browser

Secure Approval: Clear transaction previews

Developer Security Guidelines

✅ Do

  • • Always handle user rejection gracefully
  • • Verify signatures server-side for authentication
  • • Use domain-separated messages for signing
  • • Listen for disconnect events
  • • Implement proper error handling
  • • Show clear transaction details to users

❌ Don't

  • • Never store private keys in your dApp
  • Don't assume connection persists
  • • Avoid requesting unnecessary permissions
  • Don't ignore error codes
  • • Never auto-submit transactions
  • Don't trust client-side verification alone

Extension Features

Settings & Configuration
  • Auto-Lock Timer: 1, 5, 15, or 60 minutes
  • Theme Options: Dark, Light, or Banano theme
  • Connected Sites: Manage permissions per website
  • Account Management: Multiple accounts with custom names
Built-in Features
  • Transaction History: View past transactions
  • QR Code Generation: Share addresses easily
  • Explore Screen: 50+ Banano ecosystem sites
  • Faucet Integration: Built-in faucet access
  • NFT Display: View Banano NFTs (coming soon)

Ready to build with MonkeyMask?

Join the growing Banano ecosystem and create amazing dApps with enterprise-grade wallet integration.