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 };