Step-by-step
- To receive BTC here, share the bc1 address from Receive. Bitcoin network only. Do not give that string as a USDT or BNB destination.
- If someone invoices a 1… or 3… address, paste it in Send. Paying someone else’s script is normal. Watch validation. Taproot bc1p may not be the account we derive.
- If your old wallet showed 1… from this seed, send on-chain. Do not assume GaurdWallet will suddenly display that legacy key. Move BTC to your bc1 Receive.
What we derive
P2WPKH via @scure/btc-signer. Fees are sat/vB from mempool data × vbytes (a typical send is around 140 vB). Insufficient BTC for the fee uses the same Send error as EVM: including the network fee.
| Prefix | Script | In GaurdWallet HD? |
|---|---|---|
| bc1q… | Native SegWit P2WPKH | Yes — Receive |
| bc1p… | Taproot | Not the HD account we create |
| 3… | P2SH | No — valid invoice to pay, not our Receive |
| 1… | Legacy P2PKH | No — different path (BIP-44) |
Exchanges that refuse bc1 still exist. Do not invent a 1… address from this seed in a website “converter”. Send from a wallet that actually holds the legacy key, or ask the exchange for a SegWit invoice.
Fee sketch
A typical P2WPKH send is on the order of 140 vbytes. Fee ≈ vbytes × sat/vB from Send’s mempool-backed tiers. There is no BTC bridge in Exchange. Too little native BTC for that fee raises Insufficient funds including the network fee.
Receive BTC → bc1q… m/84'/0'/0'/0/0
Send to 1… → payment to their script (if adapter accepts)
Exchange → no BTC corridor
Litecoin is the same story with ltc1 and coin type 2. See the Litecoin receive guide.
FAQ
Are SegWit and legacy different coins? No. Both are Bitcoin mainnet. Different output scripts. Sending to the format the invoice asks for is what matters.
Will bech32 recover my old Electrum 1… wallet? Only if that wallet used the same BIP-84 path. Most old 1… wallets used BIP-44. Importing the phrase here will show bc1, not 1….
Is Taproot supported? We do not HD-derive bc1p accounts. Paying a Taproot invoice depends on Send validation — verify in the app, do not assume.