Welcome to the Dash Forum!

Please sign up to discuss the most innovative cryptocurrency!

Restore Breadwallet-Dash funds to your Electrum-Dash Wallet (tested)

Discussion in 'Miscellaneous Dash Guides' started by nmarley, Mar 15, 2016.

  1. nmarley

    nmarley Administrator
    Dash Core Team Moderator

    Joined:
    Jun 28, 2014
    Messages:
    363
    Likes Received:
    423
    Trophy Points:
    133
    Dash Address:
    XsUFct27gKMRZ7JFxoxcMgjaBDXndk5kXT
    You can technically use your Breadwallet-Dash seed with Electrum-Dash for whatever reason (maybe Breadwallet stops working?), but it requires just a bit of tinkering. Unfortunately, because Breadwallet uses deeper derivation paths than Electrum, you can't go the other way around (Electrum -> Breadwallet won't work).

    You just have to get an "xprv" key from your Breadwallet-Dash seed, at the right depth, which is "m/0p". Then import that into Electrum-Dash.

    1. Retrieving the correct Breadwallet-Dash "xprv" key:

    This BIP39 page is a useful tool for manipulating/displaying BIP32/39 seed data. It has an "Offline Usage" section that you can follow if you're paranoid. To get started, go there and...
    1. Enter in your 12-word seed.
    2. Change "Number of Words" to 12.
    3. Leave Passphrase blank.
    4. Leave coin set to 'Bitcoin'.
    5. Under "Derivation Path", click the "BIP32" tab.
    6. Now in the "BIP32 Derivation Path" box, type: m/0' (That's not a typo.)
    7. Then copy the value in "BIP32 Extended Key".

    2. Importing that "xprv" key into Electrum-Dash:
    1. Open "Electrum-Dash" and go to File->New/Restore.
    2. Use "Breadwallet", or whatever name you want for the wallet.
    3. In the next box, click "Restore a wallet or import keys".
    4. Leave the next option set to "Standard Wallet". Then click "next".
    5. Now paste in your value from "BIP32 Extended Key" above.
    Electrum should detect your BreadWallet-Dash balance and you should now have complete access to your funds.

    The Seed Mnemonic won't be available in Electrum(-Dash) now, but you will have full access to spend your funds. You will just need to re-follow the steps above if you want to restore your Electrum wallet from seed again, -OR- just send your old Breadwallet funds to a NEW Electrum-Dash wallet with the seed.
     
    • Like Like x 5
  2. tungfa

    tungfa Administrator
    Dash Core Team Foundation Member Masternode Owner/Operator Moderator

    Joined:
    Apr 9, 2014
    Messages:
    8,945
    Likes Received:
    6,728
    Trophy Points:
    1,283
    Tx man
    this is so good !! I thought it did not work
    nice
     
  3. tungfa

    tungfa Administrator
    Dash Core Team Foundation Member Masternode Owner/Operator Moderator

    Joined:
    Apr 9, 2014
    Messages:
    8,945
    Likes Received:
    6,728
    Trophy Points:
    1,283
  4. nmarley

    nmarley Administrator
    Dash Core Team Moderator

    Joined:
    Jun 28, 2014
    Messages:
    363
    Likes Received:
    423
    Trophy Points:
    133
    Dash Address:
    XsUFct27gKMRZ7JFxoxcMgjaBDXndk5kXT
    It does, but takes a bit of knowledge/effort. Not as simple as I'd like it to be. (But it could if wallets were a little more configurable.)

    It only works starting with BreadWallet and moving to Electrum. The other way around won't work, because of the depth of the paths. Breadwallet uses a deeper path than Electrum.
     
    • Like Like x 1
  5. tungfa

    tungfa Administrator
    Dash Core Team Foundation Member Masternode Owner/Operator Moderator

    Joined:
    Apr 9, 2014
    Messages:
    8,945
    Likes Received:
    6,728
    Trophy Points:
    1,283
    haaaaa interesting
    man how fid you figure that one out ?!
    (updated my links)
     
  6. nmarley

    nmarley Administrator
    Dash Core Team Moderator

    Joined:
    Jun 28, 2014
    Messages:
    363
    Likes Received:
    423
    Trophy Points:
    133
    Dash Address:
    XsUFct27gKMRZ7JFxoxcMgjaBDXndk5kXT
    Looking into the different wallets, using them. Playing with them over months. I won't use a wallet where I can't manually re-generate the keys, which requires knowing the derivation paths for each.

    Breadwallet uses m/0p/0/x, where x = each new address generated, (e.g. 1st, 2nd, etc). This was suggested in BIP0032.

    Electrum just uses m/0/x. This wasn't really decided as a standard by anyone, that's just what ThomasV chose to use.
     
    • Like Like x 1
  7. nmarley

    nmarley Administrator
    Dash Core Team Moderator

    Joined:
    Jun 28, 2014
    Messages:
    363
    Likes Received:
    423
    Trophy Points:
    133
    Dash Address:
    XsUFct27gKMRZ7JFxoxcMgjaBDXndk5kXT
    Ok, just found out why this wasn't working for a user a couple months ago. Found a bug in the iPhone DashWallet code and submitted a pull request to @QuantumExplorer:

    https://github.com/QuantumExplorer/dashwallet/pull/10


    If he wants to change it or not, and how to handle old wallets is probably another discussion. (I'm obviously for changing it for reasons of standards and interoperability.)
     
    • Like Like x 3
  8. strophy

    strophy Administrator
    Dash Core Team Dash Support Group Moderator

    Joined:
    Feb 13, 2016
    Messages:
    622
    Likes Received:
    363
    Trophy Points:
    133
    Hi @QuantumExplorer @akhavr I'm reviving an old thread here while trying to update documentation for this process. I think something has changed in the key derivation since 2016, and I am no longer able to successfully restore from an iOS recovery phrase from dashwallet 0.7.6 on Dash Electrum 3.0.6.3. Steps taken:
    1. Send Dash to iOS wallet and view recovery phrase
    2. Enter phrase in this tool
    3. Set coin to "Bitcoin"
    4. Select BIP32 under Derivation Path
    5. Specify m/0' derivation path
    6. Copy BIP32 xprv
    7. In Dash Electrum, File -> New/Restore
    8. Enter wallet name, click Next
    9. Choose Standard wallet, click Next
    10. Choose Use public or private keys, click Next
    11. Paste in xprv, click Next
    12. Enter password, click Next
    13. Dash balance does not appear...
    I've tried specifying "Dash" as the coin and change the derivation paths without success. Looking back on GitHub, it seems this code has changed several times. What are the current correct settings, and what were some possibly correct previous settings for older versions of the iOS wallet?

    Also, what is the current repository used to build the wallet? I came across the following releases:

    https://github.com/QuantumExplorer/dashwallet - 0.5
    https://github.com/dashpay/dashwallet - 0.6.4
    My version (latest for iOS 9.x) - 0.7.6
    Latest version on App Store - 0.8.13
     
    • Like Like x 1
  9. akhavr

    akhavr Active Member

    Joined:
    Oct 11, 2014
    Messages:
    723
    Likes Received:
    360
    Trophy Points:
    133
    I'm not sure how breadwallet works, but try exporting `m`, not `m/0` path?
     
  10. strophy

    strophy Administrator
    Dash Core Team Dash Support Group Moderator

    Joined:
    Feb 13, 2016
    Messages:
    622
    Likes Received:
    363
    Trophy Points:
    133
    • Like Like x 2