This request has been withdrawn due to lack of community support.
1. Executive Summary
This proposal outlines the completion and launch of a mainnet-ready Grin cryptocurrency wallet for iOS (iPhone and iPad). The application is not a concept — it is a working prototype with over 12,000 lines of production code already written, core wallet operations functional, and the most technically challenging integration work (Rust-to-iOS FFI bridging) already solved.
The remaining work focuses on stabilisation, bug resolution, feature completion, performance optimisation, comprehensive testing, and App Store submission. This is structured into six outcome-based milestones, each paid only upon verified delivery.
An estimated £12,000 of self-funded development has already been invested to reach the current prototype stage. This prior investment significantly de-risks the project: the Council is not funding speculative research, but the completion of a proven, working foundation.
Total investment: £38,000
2. Background & Current Status
Development of the Grin iOS wallet (new name pending) began as a self-funded initiative to deliver a simple, user-friendly, yet feature-rich mobile interface for the Grin network. The prototype is built in SwiftUI with a Rust FFI bridge to the official grin-wallet libraries, and demonstrates the core vision across iPhone and iPad, with potential pathways to macOS (via Catalyst/SwiftUI) and watchOS.
What has been built
The existing prototype comprises approximately 12,000 lines of code across 40 Swift source files and a 1,077-line Rust FFI layer exposing 26 wallet functions. The following capabilities are implemented and functional:
-
Wallet core: Creation, restoration (BIP39 seed phrase), deletion, and multi-wallet management
-
Key management: Secure storage and retrieval via iOS Keychain with biometric unlock (Face ID/Touch ID)
-
Transactions: Send and receive workflows (SRS and RSR/invoice modes), cancellation, and transaction history
-
Node connectivity: HTTP connection to Grin nodes with sync status monitoring
-
Output management: UTXO inspection, status tracking, and split outputs UI
-
Peer-to-peer transfers: Nearby device discovery and transaction exchange via Multipeer Connectivity
-
QR code support: Generation and scanning for slatepack exchange
-
Build pipeline: Cross-compilation script for Rust-to-iOS (device and simulator targets) producing a signed XCFramework
What requires completion
Despite substantial progress, several areas require stabilisation and completion before mainnet release:
-
Node polling causes UI freezes — requires refactoring off the main thread and interval tuning
-
Balance reconciliation does not always update correctly after transactions
-
Wallet re-sync is unreliable when recovering from a specified date
-
Fee estimation contains calculation errors during transaction building
-
Block height in transaction details does not always align with the block explorer
-
Testing — no automated test suites exist; unit, integration, and UI tests are required
-
Performance — memory consumption and battery impact have not been profiled
-
Localisation — display currency is not yet region-aware
-
Nearby transfers — peer-to-peer communication requires security review and may need encryption implementation
3. Scope of Work & Milestones
Each milestone represents a distinct, verifiable capability. Payment is released upon verified delivery of the defined outcome. Milestones are ordered by technical dependency — each builds on the stability established by the previous one.
Milestone 1 — Reliable Wallet Core & Sync Engine
Outcome: The wallet maintains a reliable, real-time view of the Grin blockchain without freezing or stalling. This is the foundation upon which every other feature depends — transactions, balances, and recovery all require a stable sync engine.
Deliverables:
-
Refactor node polling to eliminate UI freezes (move network operations off the main thread, tune polling intervals)
-
Reliable wallet sync to chain tip with accurate progress reporting
-
Fix re-sync/restore so it works consistently from a specified date
-
Wallet repair after interruption or data corruption
-
Verify wallet creation, seed backup, and deletion are robust across edge cases
-
Codebase architecture review for maintainability and future contributor onboarding
-
Secure memory handling — ensure seed phrases and private keys are zeroed from memory after use
Acceptance criteria: Wallet syncs to chain tip without UI freezes across 20 consecutive test cycles. Re-sync from a specified date restores the correct balance in 10/10 test runs. Polling interval is tuned and documented.
Investment: £8,000
Milestone 2 — Transaction Engine & Balance Management
Outcome: Users can send and receive Grin with accurate fees, correct balance updates, and clear status tracking. This is the core value proposition — without reliable transactions, the wallet has no utility.
Deliverables:
-
Fix fee estimation and calculation bugs
-
Fix balance reconciliation so balances update correctly after every transaction type (send, receive, cancel, fail)
-
Output selection and management for transaction building
-
Transaction status tracking (pending, confirmed, cancelled, failed) with correct state transitions
-
Error handling with clear, user-facing messages
-
Transaction history with persistent local storage
-
Fix block height display to align with block explorer values
-
Input validation and sanitisation for slatepack and QR code inputs
-
Security review of nearby peer-to-peer transfers (Multipeer Connectivity), with encryption implementation if required
Acceptance criteria: 20 test transactions (mixed send, receive, invoice, cancel) complete with correct fee deduction and balance update each time. Cancelled and failed transactions leave no phantom balance. History persists across app restarts.
Investment: £9,000
Milestone 3 — Recovery, Advanced Outputs & Background Sync
Outcome: The wallet recovers gracefully from loss or corruption, supports advanced output management, and keeps itself current without user intervention. This transforms the wallet from a tool that works under ideal conditions into one that handles real-world scenarios.
Deliverables:
-
Wallet recovery from seed phrase with full chain scan and correct output restoration
-
Split outputs functionality for improved transaction flexibility
-
Background sync and refresh (iOS background task scheduling)
-
Verification that recovered wallets match original balance and transaction history
Acceptance criteria: A wallet restored from seed phrase on a clean device shows the correct balance and complete transaction history. Split outputs can be created and used in subsequent transactions. Background refresh updates the balance without user intervention.
Investment: £6,000
Milestone 4 — Production-Grade UI & Performance
Outcome: The app feels native, fast, and polished — meeting the standard iOS users expect. Performance is profiled and optimised so the wallet is viable for daily use.
Deliverables:
-
Interface refinement across iPhone and iPad form factors
-
Region-based display currency (automatic localisation from device settings)
-
Node polling interval optimisation based on app state (foreground, background, low power)
-
Memory and battery profiling with documented benchmarks
-
Accessibility review (Dynamic Type, VoiceOver basics)
-
App Transport Security (ATS) compliance review for node connections
-
Graceful offline and degraded network handling
Acceptance criteria: Documented benchmarks for memory usage, battery consumption, and data transfer during typical usage patterns. UI reviewed against Apple Human Interface Guidelines on both iPhone and iPad. Display currency defaults correctly for relevant locales.
Investment: £5,500
Milestone 5 — Verified Quality & Beta Programme
Outcome: The wallet is independently testable, regression-proof, and validated by real users through a structured beta programme.
Deliverables:
-
Unit test suite covering wallet core and transaction logic
-
Integration tests for network sync and restore flows
-
UI test suite for critical user journeys (create wallet, send, receive, restore)
-
Dependency audit of Rust and Swift libraries for known vulnerabilities
-
App Store privacy nutrition label preparation
-
Beta programme via TestFlight with structured feedback collection and issue tracking
Acceptance criteria: Test coverage documented across wallet core, transaction engine, and sync logic. TestFlight beta distributed to a minimum of 5 testers with feedback collected and critical issues resolved.
Investment: £5,000
Milestone 6 — App Store Launch & Post-Launch Support
Outcome: Grin has a publicly available, approved wallet on the iOS App Store.
Deliverables:
-
App Store listing assets (screenshots, description, metadata, keywords)
-
Apple review guideline compliance audit and resolution
-
Submission and review process management
-
Data migration strategy for future app updates
-
Post-launch monitoring and hotfix support (30 days)
Acceptance criteria: App approved and publicly available on the iOS App Store. Post-launch hotfixes delivered within 48 hours of critical issue identification for 30 days following approval.
Investment: £4,500
Investment Summary
| # | Milestone | Investment |
|---|---|---|
| 1 | Reliable Wallet Core & Sync Engine | £8,000 |
| 2 | Transaction Engine & Balance Management | £9,000 |
| 3 | Recovery, Advanced Outputs & Background Sync | £6,000 |
| 4 | Production-Grade UI & Performance | £5,500 |
| 5 | Verified Quality & Beta Programme | £5,000 |
| 6 | App Store Launch & Post-Launch Support | £4,500 |
| Total | £38,000 |
4. Strategic Value: Grin on the App Store
Beyond the direct utility of a working wallet, an approved App Store presence delivers strategic benefits that are difficult to achieve through other means:
Visibility and credibility. The App Store is the single largest software distribution platform in the world, reaching over 1.5 billion active devices. A professionally listed Grin wallet signals to potential users, developers, and investors that Grin is an active, maintained project with real-world infrastructure. Many cryptocurrency projects are judged by the availability and quality of their mobile wallets — a polished iOS app positions Grin favourably in that comparison.
Reduced friction for new users. The most common barrier to cryptocurrency adoption is complexity. A native iOS wallet that can be installed in two taps and opened with Face ID removes that barrier entirely. Users who would never compile software, configure a node, or manage slatepacks via command line become reachable.
Press and community engagement. An App Store launch is a tangible, shareable event. It provides material for blog posts, social media announcements, and press coverage. It gives community members something concrete to point to when introducing Grin to others.
Platform foundation. A successful iOS launch establishes the architecture, FFI bridge, and design language for future platform extensions — macOS (via Catalyst/SwiftUI), watchOS, and potentially visionOS — at significantly lower incremental cost.
5. Payment Terms
-
Milestone-based payment: each milestone is invoiced upon verified completion and paid within 14 days.
-
No upfront payment is required.
-
Acceptance criteria for each milestone will be agreed in writing before work commences.
-
Any material scope change will be documented and agreed as an amendment before additional cost is incurred.
6. Additional Costs (Excluded from £38,000)
The following items are outside the core development scope and require separate budgeting:
| Item | Estimated Cost |
|---|---|
| Security Audit (Third-Party) | £5,000–£15,000* |
| Legal & Compliance Advisory | £3,000–£8,000* |
| Apple Developer Programme (Annual) | £79/year |
| Estimated Total | £8,079–£23,079 |
Ranges reflect market variability. Security audit cost depends on scope (automated tooling vs. manual penetration testing). Legal costs depend on jurisdiction and entity structure.
7. Future Platform Extensions
Following successful delivery of the iOS app, development could extend to additional platforms. The estimates below are indicative and would be scoped formally if pursued:
| Platform | Scope | Est. Cost |
|---|---|---|
| watchOS Companion App | Wallet balance, transaction alerts, quick actions | TBC |
| macOS Desktop App | Full-featured desktop client via Catalyst/SwiftUI | TBC |
| Android App | Native Kotlin/Compose rebuild with feature parity | TBC |
| Windows & Linux Desktop | Cross-platform desktop client (Electron/Tauri) | TBC |
8. Risks & Mitigations
-
grin-wallet upstream changes: Pin to a stable release; monitor repository for breaking changes.
-
App Store rejection: Review Apple guidelines early; engage in pre-submission dialogue with Apple if cryptocurrency functionality raises concerns.
-
Security vulnerabilities: Budget for third-party audit; follow OWASP mobile security best practices throughout development.
-
Legal/liability exposure: All work will be carried out and published under Frontier Applications Limited, providing a clear legal entity for contracting, invoicing, and liability. Legal counsel will be obtained before App Store submission.
-
Scope adjustment: Milestone structure limits financial exposure; scope adjustments can be negotiated per milestone.
-
Developer availability: This work requires a rare combination of iOS, Rust, and Grin protocol expertise. The current developer has already demonstrated this capability through the working prototype, reducing key-person risk relative to onboarding a new contributor.
9. Assumptions
-
The Grin Council will provide timely feedback and milestone sign-off (within 10 business days).
-
No fundamental protocol changes occur during the development period that would require significant rework.
10. Conclusion
Grin’s long-term viability depends on accessible, reliable infrastructure. A native iOS wallet — available to over a billion devices through the App Store — is one of the highest-impact pieces of that infrastructure. This proposal offers a transparent, outcome-driven path to delivering it, backed by a working prototype and clear accountability at every stage.
The foundation is proven. What remains is the investment to take it from prototype to product.
Wayne
Director, Frontier Applications Limited