Skip to content

BIP139: Wallet Metadata Backup Format - #2130

Open
pythcoiner wants to merge 83 commits into
bitcoin:masterfrom
pythcoiner:bip_wallet_backup
Open

BIP139: Wallet Metadata Backup Format#2130
pythcoiner wants to merge 83 commits into
bitcoin:masterfrom
pythcoiner:bip_wallet_backup

Conversation

@pythcoiner

@pythcoiner pythcoiner commented Mar 27, 2026

Copy link
Copy Markdown
Contributor

This is a bip for wallet metadata backup format.
Mailing list post: https://groups.google.com/g/bitcoindev/c/ylPeOnEIhO8

@pythcoiner
pythcoiner force-pushed the bip_wallet_backup branch 3 times, most recently from aa3b808 to 45b4a5b Compare March 27, 2026 12:54
@murchandamus

Copy link
Copy Markdown
Member

Could you perhaps expound the relationship to #1951?

@seedhammer seedhammer left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This BIP seems to overlap #2099. It would be ideal to have a single way of encoding wallet metadata.

Comment thread bip-0139.md Outdated
Comment thread bip-0139.md Outdated
Comment thread bip-0139.md Outdated
Comment thread bip-0139.md Outdated
Comment thread bip-0139.md Outdated
@murchandamus

Copy link
Copy Markdown
Member

Thanks for reviewing related work, @seedhammer!

@pythcoiner

Copy link
Copy Markdown
Contributor Author

Thanks for review @seedhammer, I'll reply inline

@pythcoiner

Copy link
Copy Markdown
Contributor Author

This BIP seems to overlap #2099. It would be ideal to have a single way of encoding wallet metadata.

I think they have different use case:

  • I see whats offered in BIP393: Output Script Descriptor Annotations #2099 as a minimal backup that a user make once at wallet(descriptor) creation time, that contains only informations related to "scanning"
  • Whats offered in this PR intends to be a format for backup/export of a complete wallet state, that could be also done later & recurently in the wallet lifetime.

@pythcoiner

Copy link
Copy Markdown
Contributor Author

Something that I should add in the bip abstract is, that I see this bip as a "central repository" where a wallet implementer can "register" a field usage & share it's usage of the format in a test vector. The intend is not to force anyone to be interoperable in both way with every other implem, but rather to make it easy if one want to be interoperable in at least one way.

@murchandamus

murchandamus commented Apr 7, 2026

Copy link
Copy Markdown
Member

I think this also has overlap with BIPs 329. Perhaps @craigraw would be interested in taking a look.

@pythcoiner

pythcoiner commented Apr 9, 2026

Copy link
Copy Markdown
Contributor Author

I've clauded a draft implem of this format on bitcoin core here and then added few fields and a transaction object here

@pythcoiner

Copy link
Copy Markdown
Contributor Author

Could you perhaps expound the relationship to #1951?

added an Encryption section in order to link them, will update as soon as there is a BIP # for #1951

@pythcoiner
pythcoiner marked this pull request as ready for review April 24, 2026 07:29

@murchandamus murchandamus left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a quick first pass. I think I’d be interested in seeing a few more wallet developers take a look at this and provide their thoughts on how this would match their needs.

Comment thread bip-wallet-backup.md Outdated
Comment thread bip-wallet-backup.md Outdated
Comment thread bip-wallet-backup.md Outdated
Comment thread bip-wallet-backup.md Outdated
@pythcoiner
pythcoiner force-pushed the bip_wallet_backup branch 2 times, most recently from 3d74fd1 to 1fc70c4 Compare April 29, 2026 06:51
@pythcoiner

Copy link
Copy Markdown
Contributor Author

@murchandamus thanks for your review, comments addressed.

@murchandamus

Copy link
Copy Markdown
Member

Assigned BIP139

@murchandamus murchandamus changed the title Bip draft: Wallet Backup Metadata Format BIP139: Wallet Backup Metadata Format May 11, 2026
@murchandamus
murchandamus force-pushed the bip_wallet_backup branch 2 times, most recently from b0b0667 to b17c8a5 Compare May 11, 2026 20:06
@murchandamus

Copy link
Copy Markdown
Member

It took me a moment to figure out what the issue was: the preamble needed to be indented.

@pythcoiner

Copy link
Copy Markdown
Contributor Author

For reviewers: I've addressed comments, then ran a survey over 13 potentials wallets condidates (not meaning they have shown interest, just I picked them)
the survey shows interesting frictions points so I reworked heavily the structure, It's almost done but I'll re-review early next week.

@jonatack

Copy link
Copy Markdown
Member

Not a blocker, but if you have to re-push this diff should appease the CI typo checker.

--- a/.typos.toml
+++ b/.typos.toml
@@ -34,6 +34,7 @@ Toom = "Toom"
 
 [files]
 extend-exclude = [
+    "bip-0139/wallet_field_usage.md",
     "/*/*.csv",
     "/*/*.d*",
     "/*/*.go",

@murchandamus

Copy link
Copy Markdown
Member

@pythcoiner: Thanks for the update. I take it that we should hold-off for our review until you have done another pass. Please let us know when you’re ready for us.

@murchandamus murchandamus added the PR Author action required Needs updates, has unaddressed review comments, or is otherwise waiting for PR author label Aug 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

New BIP PR Author action required Needs updates, has unaddressed review comments, or is otherwise waiting for PR author

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants