From 72c77f0585d2838068b4a573880083247a83e253 Mon Sep 17 00:00:00 2001 From: minato32 Date: Mon, 22 Jun 2026 14:20:59 +0530 Subject: [PATCH] fix: prevent eth_getBalance when showBalance is disabled --- .changeset/fix-show-balance-eth-getbalance.md | 5 +++++ packages/rainbowkit/src/hooks/useProfile.ts | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 .changeset/fix-show-balance-eth-getbalance.md diff --git a/.changeset/fix-show-balance-eth-getbalance.md b/.changeset/fix-show-balance-eth-getbalance.md new file mode 100644 index 0000000000..9888b1c2f9 --- /dev/null +++ b/.changeset/fix-show-balance-eth-getbalance.md @@ -0,0 +1,5 @@ +--- +'@rainbow-me/rainbowkit': patch +--- + +**Fix:** `useProfile` now sets an explicit `query.enabled` on the underlying `useBalance` call so that `eth_getBalance` is never requested when `showBalance` is disabled (or the account modal is closed). Previously the hook relied on passing `address: undefined` to disable the query implicitly, which could still result in a fetch in some scenarios. diff --git a/packages/rainbowkit/src/hooks/useProfile.ts b/packages/rainbowkit/src/hooks/useProfile.ts index 0e7cba4521..f0105b3bd0 100644 --- a/packages/rainbowkit/src/hooks/useProfile.ts +++ b/packages/rainbowkit/src/hooks/useProfile.ts @@ -12,7 +12,10 @@ export function useProfile({ address, includeBalance }: UseProfileParameters) { const ensName = useMainnetEnsName(address); const ensAvatar = useMainnetEnsAvatar(ensName); const { data: balance } = useBalance({ - address: includeBalance ? address : undefined, + address, + query: { + enabled: Boolean(includeBalance && address), + }, }); return { ensName, ensAvatar, balance };