Project Overview
Project Name: FROST Multi-Signature UI for Zcash Orchard
Category: Wallets
Budget: $42,000 USD (paid in shielded ZEC)
Timeline: 12 weeks from approval (Milestone 1 already complete)
Developer: Carson (lamb356)
Repository: https://github.com/lamb356/frost-ui
Summary
Production-ready web UI for FROST threshold signatures on Zcash Orchard transactions, fully integrated with the Zcash Foundation's frostd server. This project delivers what previous attempts could not: a working Zcash Orchard (RedPallas) implementation with 76+ tests proving cryptographic correctness.
Problem
Zcash users lack a production-ready interface for threshold signatures on Orchard transactions. While the FROST protocol (RFC 9591) and frostd server (v1.0.0) exist, no broadly adopted UI:
- Integrates with frostd's REST API
- Supports Zcash Orchard (RedPallas curve, ZIP-312 rerandomization)
- Provides end-to-end encryption for signing ceremonies
Target Users:
- DAOs managing Zcash treasuries (3-of-5 approval)
- Families with shared wallets (2-of-3 inheritance)
- Businesses requiring multi-signature transactions
- Privacy-conscious users wanting distributed key custody
Solution
Production web UI for FROST threshold signing featuring:
- Full frostd REST API integration (8 endpoints)
- XEdDSA authentication via Rust WASM
- E2E encryption (X25519 + HKDF + AES-256-GCM)
- Both Ed25519 and Zcash Orchard (RedPallas) support
- Message-driven state machines with production validation
Key Generation Model: This project uses trusted dealer key generation, where a coordinator generates and distributes key shares. Distributed Key Generation (DKG) is explicitly out of scope and planned as future work.
What's Already Built (Milestone 1 Complete)
| Component |
Status |
Evidence |
| frostd REST client |
✅ |
8 endpoints |
| XEdDSA auth (Rust WASM) |
✅ |
Matches frostd spec |
| E2E encryption |
✅ |
X25519 + AES-GCM |
| State machines |
✅ |
Phase validation, dedupe |
| Ed25519 signing |
✅ |
33 live frostd tests |
| Zcash Orchard |
✅ |
34 live frostd tests |
| CI/CD |
✅ |
Pinned Rust 1.88.0, wasm-pack 0.13.1, Node 20.19.0 |
Total: 76+ tests proving cryptographic correctness
Threat Model
What We Protect Against:
- Nonce reuse: Participant state machine tracks nonceMessageId
- Replay attacks: Deduplication + freshness validation (10-min window)
- Message tampering: E2E encryption (X25519 + AES-256-GCM)
- Phase violations: Monotonic phase validation
- Backend mismatch: Validate backendId before signing
Key Custody Model:
- Private key shares encrypted in browser localStorage
- PBKDF2 (100,000 iterations, SHA-256) derives AES-256-GCM key from user password
- Uses Web Crypto API (crypto.subtle)
- Keys never stored unencrypted or transmitted
- frostd only sees E2E encrypted payloads
Non-Goals (Out of Scope):
- Distributed Key Generation (DKG) - future work
- Hardware wallet integration
- Mobile app
Milestones
Milestone 1: Core Implementation ✅ COMPLETE
Status: Delivered at-risk to demonstrate capability and reduce ZCG risk
Payment: $18,000
Deliverables:
Verification Checklist for ZCG:
git clone https://github.com/lamb356/frost-ui.git
cd frost-ui
npm install
npm test # 9 Zcash WASM tests
# Optional with frostd:
npm run test:ed25519 -- https://localhost:2745 # 33 tests
npm run test:zcash-live -- https://localhost:2745 # 34 tests
Payment Trigger: ZCG committee verification of test suite + at least 1 community member confirms successful ceremony completion during forum review period.
Milestone 2: User Testing & Refinement
Duration: 5 weeks | Payment: $8,000
Deliverables:
User Testing Methodology:
- Recruit from Zcash Community Forum
- 45-minute sessions: setup → ceremony → debrief
- All sessions screen-recorded for analysis
Acceptance Criteria:
- Primary KPI: 8/10 (80%) complete ceremony unassisted
- All critical UX issues documented and resolved
Payment Trigger: User testing report + merged UX improvements
Milestone 3: Documentation & Deployment
Duration: 3 weeks | Payment: $6,000
Deliverables:
Acceptance Criteria:
- New user completes setup in <30 minutes
- Documentation reviewed by 2 community members
Payment Trigger: Published docs + v1.0.0 release
Milestone 4: Ecosystem Integration
Duration: 4 weeks | Payment: $10,000
Deliverables:
Acceptance Criteria:
- At least 1 third-party integration demo
- API docs and npm package published
Payment Trigger: Integration demo + published docs + npm package
Timeline
| Milestone |
Duration |
Expected Completion |
Payment |
| M1: Core |
Done |
Upon approval |
$18,000 |
| M2: User Testing |
5 weeks |
+5 weeks |
$8,000 |
| M3: Documentation |
3 weeks |
+8 weeks |
$6,000 |
| M4: Integration |
4 weeks |
+12 weeks |
$10,000 |
| Total |
12 weeks |
|
$42,000 |
Budget
Rate: $100/hour (market rate for crypto/WASM development)
| Milestone |
Hours |
Cost |
| M1: Core |
180 |
$18,000 |
| M2: User Testing |
80 |
$8,000 |
| M3: Documentation |
60 |
$6,000 |
| M4: Integration |
100 |
$10,000 |
| Total |
420 |
$42,000 |
At-Risk Development Note: M1 was completed at-risk before funding to demonstrate technical capability and reduce ZCG's investment risk. This is compensation for delivered, verifiable value—ZCG pays only after confirming M1 is complete and functional.
Team
Carson (lamb356) - Solo Developer
GitHub: https://github.com/lamb356
Selected Outcomes:
- Delivered production FROST UI with 76+ tests before requesting funding
- First public Zcash Orchard (RedPallas) implementation with frostd integration
- Built 3 Rust WASM modules (xeddsa, frost-ed25519, frost-zcash)
- Created fully reproducible CI pipeline
Portfolio:
Structure: Solo developer. User testing sessions screen-recorded for post-session analysis.
Communication Plan
- Minimum: Monthly forum updates (ZCG requirement)
- Planned: Bi-weekly updates (exceeds minimum)
- Updates posted before each milestone payout request
Each update includes:
- Progress against milestone checklist
- Risks and mitigations
- Demo video or screenshots
- Link to latest release
Response Time: <48 hours for ZCG questions
Risk Management
| Risk |
Likelihood |
Impact |
Mitigation |
| frostd API changes |
Low |
High |
Pin to v1.0.0, monitor releases |
| Browser crypto limitations |
Medium |
Medium |
Cross-browser testing |
| User ceremony confusion |
Medium |
Medium |
Extensive user testing (M2) |
| Integration partner delays |
Medium |
Low |
Backup targets identified |
Maintenance
Post-Grant Support: 6 months
- Security vulnerability response: <48 hours
- Critical bug fixes
- frostd compatibility updates
Security Reports: https://github.com/lamb356/frost-ui/security/advisories
Differentiation
| Aspect |
Previous Attempts |
This Project |
| Zcash Orchard |
Not delivered |
✅ 34 tests passing |
| frostd integration |
Incomplete |
✅ All 8 endpoints |
| Test coverage |
Minimal |
✅ 76+ tests |
| CI/CD |
None |
✅ Reproducible builds |
| Budget |
$91,700 |
$42,000 (54% less) |
Conflict of Interest
No conflicts to disclose at time of submission.
Licensing & Compliance
- License: MIT
- KYC/AML: Will comply with ZCG requirements
- Payout: Shielded ZEC to z-address or unified address
References
Project Overview
Project Name: FROST Multi-Signature UI for Zcash Orchard
Category: Wallets
Budget: $42,000 USD (paid in shielded ZEC)
Timeline: 12 weeks from approval (Milestone 1 already complete)
Developer: Carson (lamb356)
Repository: https://github.com/lamb356/frost-ui
Summary
Production-ready web UI for FROST threshold signatures on Zcash Orchard transactions, fully integrated with the Zcash Foundation's frostd server. This project delivers what previous attempts could not: a working Zcash Orchard (RedPallas) implementation with 76+ tests proving cryptographic correctness.
Problem
Zcash users lack a production-ready interface for threshold signatures on Orchard transactions. While the FROST protocol (RFC 9591) and frostd server (v1.0.0) exist, no broadly adopted UI:
Target Users:
Solution
Production web UI for FROST threshold signing featuring:
Key Generation Model: This project uses trusted dealer key generation, where a coordinator generates and distributes key shares. Distributed Key Generation (DKG) is explicitly out of scope and planned as future work.
What's Already Built (Milestone 1 Complete)
Total: 76+ tests proving cryptographic correctness
Threat Model
What We Protect Against:
Key Custody Model:
Non-Goals (Out of Scope):
Milestones
Milestone 1: Core Implementation ✅ COMPLETE
Status: Delivered at-risk to demonstrate capability and reduce ZCG risk
Payment: $18,000
Deliverables:
Verification Checklist for ZCG:
Payment Trigger: ZCG committee verification of test suite + at least 1 community member confirms successful ceremony completion during forum review period.
Milestone 2: User Testing & Refinement
Duration: 5 weeks | Payment: $8,000
Deliverables:
User Testing Methodology:
Acceptance Criteria:
Payment Trigger: User testing report + merged UX improvements
Milestone 3: Documentation & Deployment
Duration: 3 weeks | Payment: $6,000
Deliverables:
Acceptance Criteria:
Payment Trigger: Published docs + v1.0.0 release
Milestone 4: Ecosystem Integration
Duration: 4 weeks | Payment: $10,000
Deliverables:
Acceptance Criteria:
Payment Trigger: Integration demo + published docs + npm package
Timeline
Budget
Rate: $100/hour (market rate for crypto/WASM development)
At-Risk Development Note: M1 was completed at-risk before funding to demonstrate technical capability and reduce ZCG's investment risk. This is compensation for delivered, verifiable value—ZCG pays only after confirming M1 is complete and functional.
Team
Carson (lamb356) - Solo Developer
GitHub: https://github.com/lamb356
Selected Outcomes:
Portfolio:
Structure: Solo developer. User testing sessions screen-recorded for post-session analysis.
Communication Plan
Each update includes:
Response Time: <48 hours for ZCG questions
Risk Management
Maintenance
Post-Grant Support: 6 months
Security Reports: https://github.com/lamb356/frost-ui/security/advisories
Differentiation
Conflict of Interest
No conflicts to disclose at time of submission.
Licensing & Compliance
References