Allow sending untrusted utxos in the sendtoaddress api #32034

issue BullishNode openend this issue on March 11, 2025
  1. BullishNode commented at 5:19 pm on March 11, 2025: none

    Please describe the feature you’d like to see added.

    We would like to be able to send untrusted utxos via the sendtoaddress API.

    Currently, we have to go through the createrawtransaction flow to achieved this.

    While I understand why it may be a sane default to have not to allow that, there is also very good reasons. Bitcoin Core may assume that a coin is “untrusted” because it is unconfirmed and is not change, but it doesn’t know that this coins is actually coming from a separate wallet that is also owned by the sender.

    No response

    Describe the solution you’d like

    A config that allows to send untrusted utxos via the sendtoaddress api. Otherwise, always allow sending untrusted utxos via the sendtoaddress api by default.

    Describe any alternatives you’ve considered

    The create raw transaction flow. However we prefer relying on the sendtoaddress flow we currently use.

    Please leave any additional context

    No response

  2. BullishNode added the label Feature on Mar 11, 2025
  3. maflcko added the label Wallet on Mar 12, 2025
  4. DaanyaalSobani commented at 6:17 pm on March 28, 2025: none
    Is there currently a difference between untrusted and unconfirmed?
  5. BullishNode commented at 8:35 pm on April 28, 2025: none
    Yes. Unconfirmed change is considered trusted.
  6. BullishNode commented at 8:45 pm on April 28, 2025: none
    @achow101 I know you once nacked this conecpt so tagging you here for discussion maybe I can change your mind.
  7. 21M4TW commented at 0:46 am on April 30, 2025: none
    If the utxo is coming from another wallet, you will need an external mechanism to sign it? Isn’t the purpose of the createpsbt function to create this type of transaction?
  8. BullishNode commented at 5:32 pm on May 1, 2025: none
    No, a, unconfirmed transaction coming from an external wallet does not need external mechanism to sign.
  9. BullishNode commented at 5:53 pm on May 1, 2025: none
    I meant that the transaction is coming from another wallet, not the input utxo.
  10. achow101 commented at 6:32 pm on May 1, 2025: member

    Concept NACK

    What problem specifically would this solve for you? If you know which untrusted inputs you want to pick and you just want to use fewer commands, the send RPC should work for that purposes as you can specify inputs to use, and it can fill in more if needed. If you want to be able to select any untrusted inputs automatically, I think that is a non-starter as it’s a pretty big footgun.


github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2025-05-08 09:13 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me