Plugins
Proposed plugin architecture for extending LaWallet with events, badges, and commerce.
PROPOSAL - NOT IMPLEMENTED
This documentation describes a proposed plugin architecture for LaWallet. These features are not yet implemented and are not included in the current roadmap. This is a community suggestion that may be developed as a contribution in the future.
Overview
LaWallet can be extended through a plugin system that adds functionality without modifying the core application. Plugins are modular, opt-in features that enhance the LaWallet ecosystem.
Proposed Plugin Architecture
LaWallet (core)
├── Plugin: Events
│ └── Create and manage community events with check-in
│
├── Plugin: Badges
│ └── Issue and verify Nostr badges for reputation
│
└── Plugin: Commerce
└── Merchant directory with badge-based discountsDesign Principles
- Non-invasive: Plugins should not require changes to core LaWallet code
- Optional: Users can enable/disable plugins as needed
- Interoperable: Plugins communicate via Nostr events and Lightning payments
- Open: Plugin specs are public, anyone can implement compatible services
Proposed Plugins
| Plugin | Description | Status | Document |
|---|---|---|---|
| Events | Community event management with check-in and badge issuance | Proposal | Events |
| Badges | Nostr badge system for reputation and rewards | Proposal | Badges |
| Commerce | Merchant directory with badge-based discounts | Proposal | Commerce |
How Plugins Would Work
Integration Points
Plugins would integrate with LaWallet through:
- Nostr Events: Using NIPs for badges (NIP-58), events, and custom kinds
- Lightning Payments: Zaps for rewards, payments for services
- UI Components: Embeddable components for the LaWallet interface
- API Endpoints: REST/WebSocket endpoints for plugin functionality
Data Flow Example
User attends event
│
▼
Check-in via QR/NFC (Events Plugin)
│
▼
Badge issued to user's Nostr pubkey (Badges Plugin)
│
▼
User visits merchant, scans wallet QR
│
▼
Merchant reads badges, applies discount (Commerce Plugin)
│
▼
Payment via Lightning with discount appliedContributing
These plugins are proposed as community contributions. If you're interested in implementing any of these features:
- Review the individual plugin documentation
- Open a discussion on the LaWallet repository
- Submit a proposal with technical specifications
- Implement and submit a pull request
Status Legend
| Icon | Meaning |
|---|---|
| Proposal | Not implemented |
| In Development | In Development |
| Implemented | Implemented |
This documentation was created by Claudio as a community contribution proposal.