my idea is to use bitcoin core and it's multi-wallet capabilities as the back-end of a mobile wallet app. The way I think this could be archieved is by creating an empty wallet with bitcoin-cli createwallet true and then using the importmulti RPC command to upload an output descriptor with an xpub.

Disregarding the privacy issues, the only other thing that worries me about this is that some wallets might cause the node to re-scan the blockchain, and since this can potentially take a while, all other clients will be basically denied their service.

I have not really tested this, but I'm pretty sure this will prevent this architecture from ever working. Am I right? or is there a way around this?

2 Answers 2


There are at least two open source mobile wallets that already do just this:

FullyNoded for iOS, which connects to a bitcoin node via a Tor V3 Hidden Service

Sifir which uses the brilliant Cyphernode


Can bitcoin-core wallet be used as the backend for a mobile wallet app?


Using one of the libraries to create app will be better approach in my opinion.


BitcoinJ : if using Java to create the app

NBitcoin or NBXplorer : if using C# to create the mobile app

  • Cool, I understand these libraries can be used for the client-side of things. I'm just concerned about the potential DoS vector that allowing anyone to trigger re-scans on my node pose. I think this makes this architecture inviable.
    – Bilthon
    Commented Oct 26, 2020 at 18:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.