I have both Bitcoin Core & Electrum wallets installed on both my desktop & mobile. How do I transfer BTCs from respective desktop to mobile wallets (& vice-versa) directly (i.e., not thru the blockchain) to avoid fees?
How to transfer BTC from desktop wallet to mobile wallet (without fees), say using Electrum or Bitcoin Core
By exporting and importing the WIF private key?– MCCCSApr 29, 2021 at 7:32
To accomplish this you will not 'transfer the bitcoin', you will just import the keys that can spend your bitcoin, into a new wallet.
Not all wallet software will support importing/exporting keys in every format, so you'll need to ensure that your current wallet software is capable of exporting keys in a format the the new wallet will accept. There are several formats for private keys, as well as other standards for backing up/recreating wallets, such as BIP32/39/44/84, etc. Be sure to familiarize yourself with these formats, and know which ones you'll need to use in order to accomplish your goal. Any wallet software worth using will allow you to export keys in some way or another, and hopefully provide some sort of documentation to help with this.
Very importantly, you need to understand that the private keys (or mnemonic seed phrase) that you'll be handling is the literal key to your bitcoin. If you store it on, or enter it into a compromised device, your bitcoin could be stolen.
Once you have the keys that control your bitcoins exported, you can import them to the new wallet, and (potentially after a rescan of the blockchain to locate your funds), your funds should appear in the new wallet.
I have both Bitcoin Core & Electrum wallets installed on both my desktop & mobile
Not sure what are you using for Bitcoin Core on mobile. Recently a pull request was merged to use Bitcoin-QT on Android: https://github.com/bitcoin/bitcoin/pull/17227 and two other projects exist that allow using Bitcoin Core on Android: ABCore and Nayuta Core
How do I transfer BTCs from respective desktop to mobile wallets (& vice-versa) directly (i.e., not thru the blockchain) to avoid fees?
I will share the steps to use the same wallet in Electrum(Desktop) and Electrum(Mobile). This is not transfer of BTC but importing the wallet.
Desktop to Mobile:
Open Electrum on desktop -> Wallet -> Seed
Write this seed on a paper and keep it safe as backup information which can be used later to access your bitcoin.
Create new wallet, select "standard" wallet and enter the seed you got from Electrum(Desktop)
Mobile to Desktop:
Enter the seed from paper which has backup information saved.
Bitcoin Core to Electrum or Bitcoin Core to Bitcoin Core:
Electrum to Bitcoin Core will require copying private key for an address(right click on any address to get private key) and importing it in Core using
importprivkey: How can I import a private key into a pruned node?