> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://support.mixin.one/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# How to use Bitcoin Core GUI to approve transactions?

If you haven't created a Mixin Safe with Bitcoin Core, please check this article:  
[How to use Bitcoin Core GUI to create Safe?](/en/article/how-to-use-bitcoin-core-gui-to-create-safe-1y3cm89/)


### New Transaction
1. Choose the Safe which you want to transfer and input the amount and destination address:

![](https://storage.crisp.chat/users/helpdesk/website/71991a4db339f000/screenshot-2023-08-03-at-45556_322457.png)

2. Preview and create the transaction

3. Members approval

![](https://storage.crisp.chat/users/helpdesk/website/71991a4db339f000/screenshot-2023-07-13-at-20323_13atwg5.png)

### Owner approval

1. Sign with script wallet

![](https://storage.crisp.chat/users/helpdesk/website/71991a4db339f000/screenshot-2023-07-13-at-53908_8vabe8.png)

Switch to the **Script wallet** built-in console,  Copy unsigned data signed with a script wallet:

![](https://storage.crisp.chat/users/helpdesk/website/71991a4db339f000/image_jk18cb.png)

|| Please do not forget to add the parameter `true "ALL|ANYONECANPAY"` at the end.


2. Sign with Key wallet

Switch back to **Key wallet**, sign the psbt data returned in step 1 with the key wallet:

![](https://storage.crisp.chat/users/helpdesk/website/71991a4db339f000/image_1375uy3.png)

|| Please do not forget to add the parameter `true "ALL|ANYONECANPAY"` at the end.

3. Copy and paste

Copy the psbt data returned by the step 2, paste it into the input box, and click the Approve button to complete the operation.


### Owner rejects the transaction

1. Sign with key wallet

![](https://storage.crisp.chat/users/helpdesk/website/71991a4db339f000/screenshot-2023-08-03-at-50807_12ax3vj.png)

Switch to **Key wallet** built-in console, copy unsigned data signed with `signmessage`:

![](https://storage.crisp.chat/users/helpdesk/website/71991a4db339f000/image_wzd1tu.png)

|| The parameter `1LAng6tNUobkNmD86KpuHg41j9o1R8ocwS` is the key wallet address. If you forget it, you can query it by label: `getaddressesbylabel safe` .

2. Copy paste
Copy the data returned by step 1, paste it into the input box, and then click the Reject button to complete the operation.

### FAQ

*Failed to sign transaction: Specified sighash value does not match the value stored in PSBT

The signature interface on Bitcoin Core GUI doesn't allow setting up parameter sighash, please use the built-in console to sign transactions.