Skip to content

Wallet Privacy Improvements #28

Description

@notmandatory

This is a tracking issue for wallet privacy features mentioned but not completed in bitcoindevkit/bdk#918. Some of these will require #318.

I'm doing some bitcoin core repo archeology to identify privacy related wallet features. I started with the excellent core onboarding wallet write up from @willcl-ark, which mentioned choosing an "appropriate" change script type. I have identified the below features BDK's wallet API should support. Some of these we already support, the rest I'll make new BDK issues for. Please comment if you know of any I'm missing.

Originally posted by @notmandatory in #918

Activity

  1. martinsaposnic commented on Feb 23, 2025

    @martinsaposnic

    These are my first few days on BDK so still struggling, so please correct me if I'm wrong and do not take what I say as final or correct

    Took a look at this one

    use P2WPKH change output if any destination is P2WPKH or P2WSH bitcoin/bitcoin#12119

    BDK uses descriptors to define address types, while Bitcoin Core uses explicit configuration options (-addresstype and -changetype).

    In BDK:

    • Address types are defined by the descriptor you use when creating the wallet
    • Change addresses use the same descriptor type as defined for the internal keychain
    • You cannot dynamically change address types at runtime

    So it does not make sense to implement this feature in BDK.

  2. martinsaposnic commented on Feb 23, 2025

    @martinsaposnic

    bitcoin/bitcoin#2340 should also be marked as completed

    (PR bitcoindevkit/bdk#611 fixes this)

  3. martinsaposnic commented on Feb 24, 2025

    @martinsaposnic
  4. moved this to Discussion in BDK Walleton Mar 6, 2025
  5. moved this from Discussion to Todo in BDK Walleton Mar 6, 2025
  6. mapaba79 commented on Dec 29, 2025

    @mapaba79

    Hi everyone! I'm a developer participating in the BDL (Bitcoin Developer Launchpad) program by Vinteum.

    We are currently in the PoC (Proof of Concept) phase, where we are tasked with choosing a project, deeply understanding its mechanics, and contributing to its development. I've chosen to work on the privacy feature: 'avoid mixing different OutputTypes during coin selection' (based on Bitcoin Core PR #24584).

    I'm currently studying the BDK codebase and the original Core PR. If anyone has tips, is already looking into this, or has specific thoughts on how this should be integrated into the current bdk_wallet architecture, please let me know!

  7. github-actions commented on Jul 13, 2026

    @github-actions

    This issue has been inactive for 180 days and labeled stale, comment to keep it open. It will be closed in 30 days if there is no activity.

  8. tvpeter commented on Jul 27, 2026

    @tvpeter
    Contributor

    I will be working on bitcoin/bitcoin#13756

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions