[WITHDRAWN] Development Proposal: Grin Cryptocurrency Wallet for iOS

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

3 Likes

I’m not against your proposal, however, what i’m seeing now is that developing a mobile crypto wallet is saturated and not promising attracting new comers. Seemingly Grin is missing is the ecosystem around it, than repeating simple wallet stuff, we have several markets we can explore to populate Grin like entertainment, utilities, gaming….

I would expect the Play Store to reach more active devices, considering how Android is more popular than iOS.

My statement is misleading. The App Store is larger in terms of revenue but not in terms of device count which is what is relevant here.

@waynegeorge Let me start with applauding :clap: you for starting to work on this project without first asking for money, indeed it reduces the risk for the investment.
If there are sufficient community members who will support this request I see no reason not to support it. Funny how everyone always cries heaven and earth for something (like an iOS wallet) and when there is actually a proposal made to develop one, all you hear is :cricket: :cricket:

I do have some feedback about the proposal, its milestones etc.
First, I think there are too many milestones and they are in some cases a bit inflated it feels. I mean the wallet is kind of working, and for example any fee estimation fixes (ask @tromp for the formula) is very little work. Actually I was wondering, is there not just an API call for fee estimation, could make sense to put it in grin-wallet itself. Testing (Milestone 5) should be part of the development process and not a separate milestone. Furthermore, I think a lot of testing is already part of grin-wallet so not many test cases need writing for example.

I would prefer to make the proposal more minimal, and change it to three milestones. I am not sure about the exact reward amounts per milestone, I put below some estimates from my side which I think are still generous.

1. Core Stabilization Fix sync, transactions, balance reconciliation, security audit prep £14,000
2. Production Polish UI refinement, testing suite, performance profiling, localization £10,000
3. Launch & Handover App Store submission, documentation £6,000
Total £30,000

Second, indeed there are more users in google play store. Just wondering, how easy is it to offer the wallet also for Android? Not that it is needed, Grim works fine, it is more a “why not” question.

Thirdly, are you planning to maintain the wallet? If so, is this something you can do as a hobby project or something that would require more funding in the future.
In other words, what are you thoughts about the (long-term) support of the iGrin wallet (sorry, I still like that name so I am sticking to it) :face_with_tongue:

Lastly, regarding extra costs, I think we can skip those except for the developer account.

1 Like

absolutely. if we had a nostr relay (and blossom media server?) with a grin payment gateway to get whitelisted to post on it, that would actually be a service to spend your grin on. and the functionality that nostr provides is quite large now.

such a thing would allow us to even discuss grin in a decentralized way, in public, outside of just this forum.

How much tokens you spent (what’s was total expense) while created current MVP on Claude?

I think this is should be 1st step, cause we could not test an app without local build since Apple is rejecting cryptocurrency wallets without LLC.

Have you tried some IPA server like https://github.com/iineva/ipa-server if this method works?
It should be able to export .ipa file using App Store Connect at XCode to install from web.

Some functionality you described is already available at grin-wallet or can be added (like outputs selection), will you plan to contribute to grin-wallet repo as well?

1 Like

lol why pay to get integrated into a fully established, popular, FOSS wallet like Unstoppable, when instead you guys (council members) can just fund yourselves to churn out shit code for a ghetto iOS app instead? BRILLIANT

1 Like

This seems kind of crazy to me because isn’t Grim essentially ready for release on iOS store? What is missing there? Afaik just a corporate entity and an apple dev account. Also I guess there are arguments both ways but I think it would be better to get added to Stack or Unstoppable for less or similar amount.

2 Likes

I would say, why not both. There are good arguments for both native Grin as well as general purpose wallets.

@rehrar is missing for some time, topic is still open Stack Wallet Integration - #17 by Anynomous main question was about keeping grin-wallet lib actual since its changing frequently, they also had problem with Tor integration as I remember.

@Anynomous Thank you for taking the time to review this and providing valuable feedback. I appreciate the suggestion of simplifying the milestones and reducing the total rewards. Unfortunately I would not be able to reduce the amount that I proposed. The commitment required would mean that this would be full time for me until completion with no guarantee of smooth payments.

@ardocrat I think your comment about using Claude is an attempt to devalue what I have produced. I’m not sure how much attention you have been paying to the world of software but the smartest engineers are using AI to code. As for starting with the App Store launch, I intended to use my own limited company to host the app. An app also doesn’t need to be in the App Store or even on TestFlight to be tested. All you need is a Mac with Xcode and an iPhone.

@syntaxjak Could you explain what you mean by “ghetto” as that appears as racism to me.

Absolutely not, I am just interesting how much it actually costs, I used Cursor at web development as well, it speed up development a lot with low cost (of time).

Not everyone can afford this or has Macos, also it requires to create setup of development account etc, not everyone knows how to do it, big blocker for a lot people. I don’t see a problem to launch an app at Tesflight with your corporate account then or try to launch own IPA server.

I’m hesitate to support this proposal because of huge amount of funds requested: £38K ($50K) for a mobile wallet that works only on iOS.

1 Like

@waynegeorge hey man, I totally understand how you not able to comprehend what I’m saying, so a little tip, whenever you find yourself not understanding what someone said, I recommend using Ai to help you figure it out.

ChatGPT: “Using “ghetto” that way is generally understood, but it can come across as insensitive or outdated depending on who you’re talking to.

Originally, ghetto referred to specific, often marginalized urban neighborhoods (historically tied to poverty and segregation). Because of that history, using it to mean “cheap,” “low-quality,” or “bad” can carry unintended social or cultural baggage—even if that’s not your intent.

In casual settings, people still use it like you did, but in professional or mixed environments (like work, school, or public forums), it’s usually better to choose something more precise and neutral.

For your example:
• “churn out quick-and-dirty code for an iOS app”
• “a hacky iOS app”
• “a low-quality iOS app”
• “a barebones / rushed iOS app”

Those alternatives say exactly what you mean without risking misunderstanding. “

Is that true @ardocrat ?

I have no developer Apple account as we discussed before, so I can not export .ipa to check own IPA server,@wiesche has bought Mac, so we can test if it works without Appstore on his account soon.
Last time I tested it on Simulator and it worked.
Real device launch is working with https://github.com/tauri-apps/cargo-mobile2
There are some limitations, so need to rework UI a bit:

  • iOS has no support of Tor bridges
  • No file pick for Slatepack file (not sure if its even possible on iOS?)
  • Add paddings at top and bottom of the screen
  • Camera not tested, but should work with same lib as MacOS
1 Like

What AI actually says about this, when also considering your recent post referring to transatoshi as “this guy”, is that this looks like a pattern of contempt towards marginalised people.

@waynegeorge try to keep this thread on topic wayne, last I checked this thread wasn’t about “is syntaxjak incentive towards marginalized people groups” now was it?

Ok you can go back to trying to scam this community out of 40k for Ai slop code, I guess all members of the “governance council” are scammers? Cuz @transatoshi is a proven scammer as well.

@jwinterm given that iOS seems to be its own animal entirely, I see the value in an iOS specific wallet.

Not sure if the price is really worth it though if we’re being honest. Especially in the age of “Jarvis, make me an app.”

Owning the repo and putting it on the App Store almost seems more valuable to the creator than to the community in the sense of the resume builder.

@waynegeorge How are you going to handle Tor?