Adds missing standard artifacts: - README.md (if missing) - AGENTS.md (AI agent contract) - PLAN.md (current sprint) - STATUS.md (where we are) - DEVELOPMENT.md (dev workflow) - DEPLOYMENT.md (deploy procedure) - TESTING.md (test strategy) - DECISIONS.md (ADR index + templates) - .github/CODEOWNERS - .github/workflows/ci.yml Preserves all existing artifacts. Refs: RugMunchMedia/fleet-template
218 lines
8.6 KiB
Markdown
218 lines
8.6 KiB
Markdown
# WalletPress — 15 Market-Leading Improvements (V2)
|
|
|
|
## Strategic Positioning
|
|
|
|
WalletPress occupies a unique quadrant that NO competitor fills:
|
|
```
|
|
UI + Dashboard
|
|
│
|
|
Turnkey │ WalletPress (here)
|
|
(API only) │ (API + UI + PDF + WP)
|
|
│
|
|
──────────────────┼─────────────────────
|
|
│
|
|
DIY │ BitGo / Fireblocks
|
|
(code only) │ (enterprise, expensive)
|
|
│
|
|
Self-Hosted
|
|
```
|
|
|
|
The gap: **self-hosted wallet infrastructure with a beautiful UI, proof of
|
|
generation, multi-chain, and WordPress integration.** Nobody else does this.
|
|
|
|
---
|
|
|
|
## 15 Improvements
|
|
|
|
### 1. Batch CSV Import
|
|
|
|
**What:** Upload a CSV with hundreds of private keys/mnemonics, import them
|
|
all at once with labels and tags.
|
|
|
|
**Why it wins:** Currently only single-wallet import via the API. Competing
|
|
wallet generators don't handle bulk import. Users migrating from other wallets
|
|
have hundreds of keys — they need batch import.
|
|
|
|
**Implementation:** `POST /import/batch` accepts CSV with columns:
|
|
`private_key,chain,label,tags`. Returns import report with successes and failures.
|
|
|
|
### 2. Wallet Groups & Folders
|
|
|
|
**What:** Organize wallets into hierarchical groups: "Exchange Wallets →
|
|
Binance → Hot Wallet #1". Not just flat tags.
|
|
|
|
**Why it wins:** Vault with 10,000 wallets is unusable without organization.
|
|
BitGo has folders. Fireblocks has vaults. We have tags.
|
|
|
|
**Implementation:** Add `group` field to `WalletEntry`. `GET /vault/tree`
|
|
returns hierarchical view. Drag-and-drop in the web dashboard.
|
|
|
|
### 3. Transaction History per Wallet
|
|
|
|
**What:** `GET /wallet/{address}/transactions` returns actual on-chain tx
|
|
history (not an empty array). Uses public explorer APIs.
|
|
|
|
**Why it wins:** Every wallet management tool shows history. We don't.
|
|
It's the #1 missing feature for compliance.
|
|
|
|
**Implementation:** Add block explorer API integrations:
|
|
- EVM: Etherscan API (free tier: 5 calls/sec)
|
|
- Solana: Solscan API
|
|
- BTC: Blockchair API
|
|
- TRX: Trongrid API
|
|
|
|
### 4. Portfolio Dashboard
|
|
|
|
**What:** "Portfolio" view showing total USD value across all wallets, by chain,
|
|
by group. Pie charts, trend lines, top holdings.
|
|
|
|
**Why it wins:** Users manage wallets to hold assets. Without showing the
|
|
value, we're just a key factory. This makes us a management platform.
|
|
|
|
**Implementation:** `GET /portfolio` aggregates `balance_usd` across wallets.
|
|
Charts via Chart.js in the web dashboard (or return chart data for frontend).
|
|
|
|
### 5. Webhook Event Replay
|
|
|
|
**What:** `POST /webhooks/replay?from=2026-01-01&to=2026-06-01` replays all
|
|
missed events within a time range. Useful for backfilling integrations.
|
|
|
|
**Why it wins:** Enterprise integrations need reliability. If their webhook
|
|
receiver was down, they need to replay missed events without regenerating wallets.
|
|
|
|
**Implementation:** Store events in a replayable queue (SQLite + timestamps).
|
|
Replay endpoint scans events in range and re-emits them.
|
|
|
|
### 6. Team Access & Multi-User
|
|
|
|
**What:** Multiple users can access the same vault with different permission
|
|
levels: Admin (full), Operator (generate wallets), Viewer (read-only).
|
|
|
|
**Why it wins:** Businesses have teams. A solo-priced tool that supports the
|
|
whole team is worth 3x more.
|
|
|
|
**Implementation:** Extend the existing API key system with `user_id` and `role`.
|
|
Audit log records which user performed each action.
|
|
|
|
### 7. Audit Log Export
|
|
|
|
**What:** `GET /audit-trail/export?format=csv` downloads the entire audit log.
|
|
Filterable by user, action, date range.
|
|
|
|
**Why it wins:** Compliance. SOC 2 auditors ask for "proof of access controls."
|
|
Exportable audit logs are the answer.
|
|
|
|
**Implementation:** Stream the JSONL audit file through a CSV converter.
|
|
Add date range and action type filters.
|
|
|
|
### 8. WebSocket Event Stream
|
|
|
|
**What:** `wss://walletpress.cc/events` streams wallet events in real-time.
|
|
No polling. No webhooks to configure. Just connect and listen.
|
|
|
|
**Why it wins:** Webhooks are request-response. WebSockets are push.
|
|
For live dashboards, monitoring, and real-time apps, WebSockets are superior.
|
|
|
|
**Implementation:** FastAPI WebSocket endpoint. Clients subscribe to specific
|
|
event types. Events are broadcast to all connected clients.
|
|
|
|
### 9. Client SDK Libraries
|
|
|
|
**What:** `pip install walletpress-sdk` (Python), `npm install walletpress-sdk` (JS),
|
|
`go get walletpress/sdk` (Go). Wrapper libraries for the REST API.
|
|
|
|
**Why it wins:** Developers don't want to write HTTP clients. They want
|
|
`client.generate_wallet(chain="eth", count=100)`.
|
|
|
|
**Implementation:** Thin wrappers around the API. Auth handling, error handling,
|
|
type hints. Publish to PyPI, npm, and Go module registry.
|
|
|
|
### 10. Seed Phrase Finder / Repair
|
|
|
|
**What:** Paste a partial or corrupted seed phrase with `?` for unknown words.
|
|
WalletPress tries all BIP39 word combinations and finds the valid one.
|
|
|
|
**Why it wins:** "I know 10 of my 12 seed words" is one of the most common
|
|
crypto support requests. This is a viral feature — people will share it.
|
|
|
|
**Implementation:** `POST /tool/seed-repair` takes `unknown word1 word2 ? word4 ? word6 ...`.
|
|
Generates all BIP39 word candidates for each `?` position using Levenshtein
|
|
distance or brute force for up to 2 missing words.
|
|
|
|
### 11. Wallet Compatibility Report
|
|
|
|
**What:** For any generated wallet, show which software/ hardware wallets it
|
|
works with: "✓ MetaMask, ✓ Ledger, ✓ Phantom, ⚠ Trezor (requires path change)."
|
|
|
|
**Why it wins:** Users worry about lock-in. Telling them "this wallet works
|
|
with everything" builds trust.
|
|
|
|
**Implementation:** Static compatibility matrix by chain family. EVM → all EVM
|
|
wallets. Solana → Phantom, Solflare, etc. Included in the wallet detail response.
|
|
|
|
### 12. On-Chain Registration (ENS/SNS)
|
|
|
|
**What:** Optionally register a generated wallet with an ENS name (Ethereum)
|
|
or SNS name (Solana). "Generate wallet + get yourname.eth for free."
|
|
|
|
**Why it wins:** Human-readable names are the future. Offering registration at
|
|
generation time is a 10x UX improvement over "generate on one site, register
|
|
on another."
|
|
|
|
**Implementation:** Optional param `register_name=true`. Calls ENS/SNS contract
|
|
with the generated address. User pays gas fees. We handle the transaction.
|
|
|
|
### 13. Gas Estimation for New Wallets
|
|
|
|
**What:** When generating a wallet, estimate the minimum balance needed for
|
|
transactions: "Your new Arbitrum wallet will need ~$3 in ETH for ~100 txs."
|
|
|
|
**Why it wins:** Users generate wallets and don't know how much to fund them.
|
|
This shows we understand the full lifecycle, not just generation.
|
|
|
|
**Implementation:** Per-chain gas estimates (cached, updated hourly). Show in
|
|
wallet detail response as `estimated_gas_usd`.
|
|
|
|
### 14. Multi-Address Monitoring (Cross-Chain Watch)
|
|
|
|
**What:** Watch the same address across multiple chains simultaneously.
|
|
Detect when a transaction hits ANY chain for that address.
|
|
|
|
**Why it wins:** Airdrop hunters track addresses across chains. Whale watchers
|
|
monitor large movements. This is a power user feature that drives engagement.
|
|
|
|
**Implementation:** Accept an address and list of chains. Poll each chain's RPC
|
|
for new transactions. Alert via webhook/email when detected.
|
|
|
|
### 15. White-Label / "WalletPress for Business"
|
|
|
|
**What:** Companies pay $499/mo to rebrand WalletPress as their own product.
|
|
Custom domain, custom logo, custom colors, custom pricing. They run it, we
|
|
support it.
|
|
|
|
**Why it wins:** The ultimate revenue play. A fintech startup needs wallet
|
|
generation but doesn't want to build it. They'll pay $499/mo to offer
|
|
"ACME Wallet Generator" to THEIR customers.
|
|
|
|
**Implementation:** Multi-tenant mode. Custom domain per tenant. Branding API
|
|
(logo, colors, name). Usage-based billing for white-label partners.
|
|
|
|
---
|
|
|
|
## Implementation Priority
|
|
|
|
| Week | Improvements | Effort | Revenue Impact |
|
|
|------|-------------|--------|---------------|
|
|
| 1 | CSV import, Wallet groups, Tx history | 3 days | Medium (retention) |
|
|
| 2 | Portfolio dashboard, Webhook replay | 3 days | Medium (differentiation) |
|
|
| 3 | Team access, Audit export, WebSocket | 4 days | High (enterprise) |
|
|
| 4 | Client SDKs, Seed repair | 3 days | High (developer adoption) |
|
|
| 5 | Compatibility report, Gas estimation | 2 days | Medium (trust) |
|
|
| 6 | ENS/SNS registration, Cross-chain watch | 4 days | Low (niche) |
|
|
| 7 | White-label | 5 days | VERY HIGH ($499/mo) |
|
|
|
|
**Revenue potential:**
|
|
- 10 white-label customers at $499/mo = $4,990/mo MRR
|
|
- 100 hosted teams at $79/mo = $7,900/mo MRR
|
|
- SDK adoption drives API marketplace usage ($0.01/wallet)
|
|
- Seed phrase repair drives viral organic traffic
|