BIP38 Wallet Tools Guide

Complete walkthrough · Security · Disclaimers

Tutorial & walkthrough

Create and use a BIP38 wallet with confidence.

This guide covers every tab on /wallet, /publish, and /embed. Read the disclaimer and security tips first. Then follow the journeys in order the first time you use the tools.

Before you begin

Bitcoin Pages provides browser tools that help you create BIP38-protected keys, sign transactions, publish them, and optionally anchor a BIP38 string on-chain. They are not a custodial wallet, exchange, bank, or financial advisor.

  • What stays in your browser: passwords, BIP38 keys, WIF, and signing. Generate and Recover can work fully offline after you download the page.
  • What uses the network: Spend / Sign and Embed fetch UTXOs from mempool.space. Publish sends only signed hex to our relay (and public fallbacks).
  • What we never need: your BIP38 password on the Publish page. Do not paste passwords into Publish.
Warning Bitcoin transactions are irreversible. A wrong address, weak password, or lost backup can mean permanent loss of funds. Practice with a tiny amount first.

Next: Glossary

Glossary

Address (public side)Where others send bitcoin. Safe to share. On this tool it usually starts with 1 (legacy P2PKH).
BIP38 key (6P…)Your private key encrypted with a password. Alone it cannot spend. With the password it can.
PasswordThe secret that unlocks BIP38. Store it separately from the printed BIP38. If you lose it, funds are gone.
WIFUnencrypted private key (often starts with K or L). Anyone with WIF can spend. Treat like cash.
UTXOUnspent coins sitting on an address. Spend / Embed look these up to build a transaction.
Raw hexA fully signed transaction as text. Publish broadcasts this. It does not contain your password.
OP_RETURNA special transaction output that stores a small public message (here: your BIP38 string).
Fee rate (sat/vB)How much you pay miners per unit of transaction size. Higher usually confirms faster.

Next: Security tips

Security tips checklist

  • Use a long, unique password (16+ characters, not reused from email/exchanges).
  • Store the password separately from the paper BIP38 (different place / person / vault).
  • Never put BIP38 and password in the same photo, chat, cloud note, or email.
  • Prefer generating on a clean machine; for maximum caution use the offline download and airplane mode.
  • Print or write backups carefully; test that you can read every character of the 6P… string.
  • Fund with a small test amount first; confirm you can recover or spend before depositing more.
  • Double-check destination addresses character by character (clipboard malware exists).
  • Only open these tools on https://bitcoinpages.org — beware lookalike domains.
  • Recover / WIF: use an offline or highly trusted computer; clear the screen afterward.
  • Embed puts BIP38 on the public blockchain forever — password strength is then your only defense for that backup path.

Next: Disclaimer & assumption of risk

Disclaimer & assumption of risk

Important — read before using the tools By using /wallet, /publish, /embed, or this guide, you acknowledge and agree to the points below and to our Terms of Service.
  • The tools and this guide are provided “AS IS” and “AS AVAILABLE”, without warranties of any kind, express or implied.
  • You alone are responsible for passwords, backups, device security, verifying addresses, fees, and all Bitcoin transactions you create or broadcast.
  • Bitcoin Pages, its operators, and affiliates are not liable for any loss of bitcoin or data arising from bugs, browser issues, user error, phishing, malware, third-party services (including mempool.space and public broadcast relays), node downtime, forks, or irreversible blockchain outcomes.
  • Nothing here is financial, legal, tax, or investment advice. Educational use only.
  • You understand that lost passwords, incorrect embeds, or leaked WIF can cause permanent loss.
  • If you do not agree, do not use the tools.

Full legal terms: /terms. Privacy notes: /privacy.

Next: Download for offline generation

Download the wallet page for offline use

Generate and Recover can run without the internet once the HTML file is saved on your computer.

1

Download

On /wallet click Download for offline use, or use the button in this guide’s header. Save bitcoinpages-bip38-wallet.html.

2

Open locally

Open the file in a trusted browser (Chrome, Firefox, Safari). Confirm the URL starts with file://.

3

Go offline (recommended for Generate)

Enable airplane mode or disable Wi‑Fi/Ethernet, then create your wallet.

4

Know the limits

Spend / Sign, Embed, and Publish need network access and the live site endpoints. Use them later online when you are ready.

Tip Always download from the official site URL. Do not run wallet HTML emailed by strangers.

Next: Journey 1 — Generate

Journey 1 — Generate a BIP38 wallet

Goal: create a receive address and a password-protected private key you can print and store.

1

Open Generate

Go to /wallet (or your offline file). Select the Generate tab.

2

Choose a strong password

Enter it twice. Prefer 16+ random characters. Write it down offline, separate from the BIP38 printout.

3

Pick entropy

Computer randomness is fine for most users. Physical dice / B6 is for high-paranoia key generation: roll dice to build a 99-character base-6 string (map die face 6→0), then paste it. Follow the on-page dice instructions exactly.

4

Generate

Click Generate protected wallet. Wait for encryption to finish.

5

Save the public side

Copy or print the Bitcoin address and QR. This is what you fund.

6

Save the private side

Copy or print the BIP38 key starting with 6P. Use Print backup for a clean paper layout (mode tabs are hidden when printing).

7

Clear and test

Use Clear everything when done. Later, verify you can Recover with password on a trusted machine before depositing large amounts. Fund a tiny test first.

Common mistakes Forgetting the password; sharing BIP38 and password together; depositing large sums before a recovery test; generating on a compromised phone.

Next: Recover or skip to Spend / Sign after funding.

Journey 2 — Recover BIP38 to WIF

Use Recover when you need the raw private key (WIF) for Electrum, Sparrow, or another wallet — or to verify your backup.

1

Open Recover

On /wallet, choose Recover.

2

Enter BIP38 + password

Paste the 6P… key and the password used at generation.

3

Verify the address

Confirm the shown address matches your paper public side before importing WIF anywhere.

4

Handle WIF like cash

Copy only if required. Prefer offline import. Clear the page afterward.

Danger WIF can spend funds immediately. Never recover on a public or shared computer.

Next: Spend / Sign

Journey 3a — Spend / Sign

Build a signed transaction in the browser. This tab does not broadcast. It needs network access to load UTXOs from mempool.space.

1

Open Spend / Sign

On /wallet, select Spend / Sign.

2

Enter BIP38 + password

The tool decrypts locally to find your address and sign.

3

Set destination and amount

Paste the destination address. Enter an amount in BTC, or choose sweep-all. Set fee rate (sat/vB).

4

Create the hex

Review the result: fee, amounts, txid preview, and raw transaction hex.

5

Copy hex for Publish

Do not broadcast from an untrusted machine if keys were exposed. Continue to /publish.

Scope note Signing supports legacy P2PKH inputs (typical 1… addresses from this generator). Destination can be common address types supported by the tool. If you see “no UTXOs”, the address is empty or the explorer lookup failed.

Next: Publish

Journey 3b — Publish a signed transaction

/publish only accepts raw hex. No private keys belong on this page.

1

Paste hex

Paste the signed hex from Spend / Sign or Embed.

2

Publish

Click Publish transaction. We try the BitcoinFlux node first, then public relays if needed.

3

Save the txid

On success, copy the txid and check it on an explorer (for example mempool.space).

Tip Decode / policy errors mean the hex reached a node but was rejected (invalid tx, low fee, spent inputs). Connection timeouts may fall back to another relay — read the status message.

Next: Embed on-chain (optional)

Journey 4a — Fund + embed

On /embed, Fund + embed pays a BIP38 address for the first time and writes that BIP38 string into OP_RETURN in the same transaction.

Risk The BIP38 string becomes permanent public blockchain data. Security then depends only on password strength. Never embed WIF.
1

Target BIP38

Paste the 6P… key that should appear in OP_RETURN.

2

Password and/or address

Provide the target password (tool derives the address), and/or paste the target address. At least one is required. If both are set, they must match.

3

Funding key

Enter a compressed WIF (K…/L…) or another BIP38 + password that holds the coins you will spend.

4

Amount and fee

Set how much to send to the target and the fee rate. Change returns to the funding address.

5

Build → Publish

Copy the hex and broadcast on /publish.

Warning If you paste an address without the password, that address must match the BIP38. A mismatch sends coins to the wrong place while embedding a different key’s BIP38.

Next: Self-embed

Journey 4b — Self-embed

Use when the BIP38 address is already funded. The tool spends its UTXOs, writes BIP38 to OP_RETURN, and sends change back to the same address.

1

Open Self-embed

On /embed, choose Self-embed.

2

BIP38 + password + fee

Password is required to sign. No separate change address — change stays on the same key.

3

Publish the hex

Broadcast via /publish.

Next: Lookup

Journey 4c — Lookup embedded BIP38

If you have the address but lost the paper BIP38 (and you previously embedded it), Lookup can find 6P… strings in that address’s OP_RETURN history.

1

Open Lookup

On /embed, choose Lookup.

2

Paste the address

No password required for lookup.

3

Copy BIP38

Results show fund-embed or self-embed style hits with a txid link. You still need the password offline to spend.

Tip Lookup scans recent history via mempool.space (paged). Very old or rarely indexed activity might need a fuller explorer search by txid.

Next: Cheat sheets

Recommended workflows (cheat sheets)

Paper cold storage

  1. Download offline → Generate → print public + BIP38.
  2. Store password separately.
  3. Fund the address with a test amount, then more if satisfied.
  4. Optional: Fund + embed or Self-embed → Publish (on-chain BIP38 backup).

Spend later

  1. Spend / Sign on /wallet (or Recover → import elsewhere).
  2. Publish hex on /publish.
  3. Confirm txid on an explorer.

Lost paper, have address + password (after embed)

  1. Lookup on /embed → copy BIP38 from OP_RETURN.
  2. Recover or Spend / Sign with password.
  3. Publish if spending via this tool.

Next: FAQ

FAQ & troubleshooting

Insufficient funds / dust

You need enough sats for the payment (if any) plus the miner fee, and change must stay above the dust limit when change is created. Lower the amount or raise the balance.

Publish says BitcoinFlux timed out but then succeeded

The tool tries your primary relay first, then public fallbacks. Success may show mempool.space or another relay — the tx is still valid.

Offline file won’t Spend or Publish

Expected. Those features need live APIs. Generate/Recover work offline; use the website for Spend/Embed/Publish.

Fund + embed address mismatch

If both password and address are provided, they must refer to the same key. Fix the paste or leave one field empty.

Print still shows Generate / Recover / Spend

Use the in-app Print backup button after Generate. Print CSS hides the mode switch and other chrome.

Is embedding safe?

Only if the password is extremely strong and never leaked. On-chain BIP38 is public forever. Prefer embedding as an extra backup, not your only password strategy.