[LOCKED] Support Ledger Wallet

It’s when you send to yourself. We defined it as a separate tx type, since there’s no negotiation with peer, no need in payment proofs and etc.

Mining pools and exchanges use it to “split” large UTXO into small ones, that later can be used to pay different miners.


@markhollis thanks for this thorough application!

The meeting Quentin refers to above is Agenda: Governance Mar 16 2021 · Issue #403 · mimblewimble/grin-pm · GitHub, if you can make it, it would be great to have you present answering any questions. :v:


I’ll try to make it. Regarding the full time, I’ve thought about it more. I think it’s best to start during weekends and evenings.

I have to admit that the more I read about this project, the more scared I become, and the more I feel the weight of responsibility that comes with this sort of project. Add that together with having relatively little experience with Grin developent and becomes it becomes a very challenging task. But at the same time it’s a very interesting project and a fantastic learning opportunity.

I’m at the moment trying to make a connection between a simple Rust program and a boilerplate Ledger app, using this library: GitHub - Zondax/ledger-rs: Rust crate to connect to Ledger devices


Don’t let yourself become intimidated! Break it off into smaller chunks (as you’ve done), tackle one by one, and see how far you can get. We can try to be creative in terms of how to best fund you without setting expectations neither too high or too low.

Happy to discuss further.


There’s also Grin++, which would likely be much easier to integrate. Whether you go with grin++, or just stick with grinmw, don’t be afraid to reach out to me for any technical guidance.


Unfortunately I can’t make it to the meeting; it is during my working hours. If there are questions, I’m glad to answer them.

Roger that. We’ll keep you posted.

1 Like

Congratulations @markhollis :champagne:, as per Tuesday March 17 governance meeting decision, the bounty is now assigned to you. I’m changing the status of the request to LOCKED.
We will check every 2 weeks the progress. If there is no sign of life after a month this bounty will be set to available again.
Good luck and feel free to ask any questions that you have on Keybase!


It was agreed on keybase to reassign this task to @NicolasFlamel .


Now that this bounty has been assigned to me, I propose the following changes to it based on my experiences developing the Grin Ledger app and Ledger Live Desktop/Mobile with Grin support.

1. Remove the requirement of needing Ledger to officially release the app and integrate the Ledger Live changes.
It’s now been more than a year since I submitted the app to Ledger for review, and since then the app’s submission status hasn’t changed at all and I haven’t been contacted by Ledger. Ledger has stated in their Discord channel that they currently lack the man power needed to review and release external apps for cryptocurrencies that don’t have a high enough market cap, so there’s a chance that the Grin Ledger app will never be officially released by them. Unfortunately, this bottleneck is outside of my control.

2. Remove the requirement for a grin-wallet CLI integration.
This isn’t explicitly mentioned in the bounty’s deliverables, so, as far as I can tell, this was a self-imposed requirement by @markhollis. Ledger’s release requirements for an app explicitly state that an app’s integration in a GUI wallet is mandatory for a public release, so having a CLI integration doesn’t help with getting an app released publicly. The GUI wallet that I integrated support for the Grin Ledger app into is the Grin version of the MWC web wallet.

3. Increasing the bounty’s reward from 50k USD to 100k USD.
Given the sheer amount of time, knowledge, and skills required to complete this bounty, I find the original reward of 50k USD to be insufficient. Here’s all the tasks and subtasks required to complete this bounty given Ledger’s requirements and the route that I took.

As far as I know, in the approximately two years that this bounty was assigned to @markhollis, he didn’t manage to finish any of those subtasks which is a testament to how challenging this bounty truly is. Also, inflation has been pretty bad since this bounty was first posted.

Tagging the Grin OC members to review the proposed changes in a timely manner: @quentinlesceller @oryhp @tromp @Yeastplume

1 Like

Reasonable request. Can’t really hold you to something that’s impossible to achieve.


I’m a huge fan of your work here and I think you were treated a bit unfortunately on the wrapper bounty, but I don’t see how you can come and ask for that retroactively. The bounty is the bounty. Not that it’s up to me. If I stretch I could sort of see an argument for adding interest on the period between your release of the app and the bounty being paid out to you, due to the delay, but that would be in the 5-10% range.


Don’t worry, after last events with Ledger trust to this hardware wallet dropped to minimum, its more secure to develop our own hardware wallet from open components, we have some bounty for this, you are welcome to apply if you are interesting: Funding Proposal 2: Bounty for a Hardware Wallet implementation - bounty?


Out of curiosity, did you receive any funding for developing Ledger support for the MWC wallet?


No, I didn’t receive any funding for that. In total, I’ve receive about $650 USD worth of donations from Grin and MWC community members for my Ledger related work.

I completely agree with you. I may have already developed a Trezor Model One firmware with Grin support as a result of this :wink:


I would highly support this development.
As time showed, ledger is a centralized company, with weird decisions made recently.

We need a grin signer device built from common hardware boards, like seedsigner or krux hardware signers for bitcoin.


As per @oryhp on Keybase, bumping this thread to remind the Grin OC to review my proposed changes for this bounty.

Tagging the Grin OC members to review these changes in a timely manner: @quentinlesceller @oryhp @tromp @Yeastplume

Also to keep everyone up to date regarding the app’s submission process with Ledger, Ledger no longer covers the cost of auditing third-party hardware wallet apps and they removed the app from the integration board. Here’s a snippet of the conversation I had with Ledger regarding this.
ledger security audit changes

I am a huge fan of your work with grin.

I support concessions on 1 and 2 and I oppose 3. The bounty is the bounty.

To expand on that, the time to ask for a greater bounty would be before doing the work. However, even in that hypothetical, I would have opposed raising it.


I have no say on this bounty but I will share my opinion. If the work increased significantly beyond what could be expected, or now includes payment for an audit, it would make sense to increase the bounty to compensate for these costs or drop that requiremt. However, the combination of dropping major tasks while asking for a doubling of the bounty does not make sense to me at all.
Requirement 2), Integration in wallet software is a large part of the work and would pose a bottleneck if offloaded on @Yeastplume who is already doing the work of Atlas. Therefore I would strongly argue against dropping this requirement. Dropping requiremt 1) or at least paying for those audit cost would make sence to me. So 3) should be negotiable IMO if there are valid arguments to claim the task or cost exceeds what could be expected and should include the audit fees unless this requirement is dropped.


Would be a waste not to finish Ledger App, a lot of work went into it I imagine, we all are very grateful to you :pray: @NicolasFlamel .
But why the ask to double the bounty. Bounties are take it or leave it right?