# \[ghost-dao-interface\] Bond "Recipient Address" setting can never work: purchaseBond signs with the wrong account

**URL:** https://ghostforum.org/t/ghost-dao-interface-bond-recipient-address-setting-can-never-work-purchasebond-signs-with-the-wrong-account/174
**Category:** Pending Program Review
**Tags:** ghost-dao-interface
**Created:** [October 8, 2026, 2:51am UTC](https://ghostforum.org/t/ghost-dao-interface-bond-recipient-address-setting-can-never-work-purchasebond-signs-with-the-wrong-account/174 "2026-10-08T02:51:00Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![Rusdiwireng](https://ghostforum.org/letter_avatar_proxy/v4/letter/r/9de0a6/32.png) [@Rusdiwireng](https://ghostforum.org/u/Rusdiwireng)
#### Post date: [October 8, 2026, 2:51am UTC](https://ghostforum.org/t/ghost-dao-interface-bond-recipient-address-setting-can-never-work-purchasebond-signs-with-the-wrong-account/174/1 "2026-10-08T02:51:00Z")

</div>

**Component:** `ghost-dao-interface` @ `a911859`, `src/hooks/bonds/index.js:275-294` (`purchaseBond`), `src/containers/Bond/components/BondConfirmModal.jsx:111-120`.

**Description:** The bond purchase UI exposes a recipient address field. `BondConfirmModal` passes `user: recipientAddress` and `sender` (the connected wallet) as separate parameters to `purchaseBond`, but `purchaseBond` passes `account: user` to `executeOnChainTransaction`. When the recipient differs from the connected wallet, the transaction is prepared from an account the wallet does not control, and `@wagmi/core` 2.17 `getConnectorClient` throws for unauthorized accounts before anything is signed. The advertised feature is dead: any custom recipient fails with “Bond transaction failed”.

**Impact:** Broken advertised feature. No fund loss: it fails loudly before signing.

**Reproduction:** Code read of the call chain above; set a recipient address different from the connected wallet and observe the pre-sign failure.

**Severity: Low.** Reason: no fund loss, fails loudly, but a visible setting is non-functional.

**Recommendation:** Pass `account: sender` so the connected wallet signs and the bond vests to the recipient.

**Verification:** VERIFIED (code read, coordinator-verified).

---

<div class="post-metadata">

### Author: ![VoidDragon](https://ghostforum.org/user_avatar/ghostforum.org/voiddragon/32/16_2.png) [@VoidDragon](https://ghostforum.org/u/VoidDragon)
#### Post date: [October 11, 2026, 1:20pm UTC](https://ghostforum.org/t/ghost-dao-interface-bond-recipient-address-setting-can-never-work-purchasebond-signs-with-the-wrong-account/174/2 "2026-10-11T13:20:44Z")

</div>

Thank you for your report!

It looks like you are right here. The arguments to the function are messed up. It should have `recipientAddress` as a separate argument, while passing both in order to use them correctly.
