aave / aave/interface

[Critical Frontend Bug] Specific wallet consistently disconnects after successful connection on Arbitrum despite successful backend responses

Open
#3,061 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug new issue
Dominant language
TypeScript
Stars
536
Forks
496
Avg merge
1d 8h
Merged PRs (30d)
9

Description

Critical Frontend Bug Report

Summary

A specific externally owned account (EOA) consistently fails to remain connected to the Aave frontend on Arbitrum.

The wallet connects successfully, the frontend starts loading user data, and after a few seconds, the UI automatically disconnects the wallet and displays:

Unable to Connect

This issue is fully reproducible and affects only this specific wallet.

Other wallets connect normally using the same environment.


Wallet

Address

0xd08798452298b8de9ae32b047261490646F27423

Network

Arbitrum One

Wallet Type

Externally Owned Account (EOA)

NOT a Safe

NOT a Smart Contract Wallet


Position

Supply

1.54 WETH

31.37 ARB

Borrow

1333 USDC

Health Factor is normal.

External portfolio trackers can read the position correctly.


Expected Behaviour

Wallet should remain connected and allow normal interaction with the protocol.


Actual Behaviour

  1. Wallet connects successfully.

  2. Portfolio starts loading.

  3. Several GraphQL/RPC requests complete successfully.

  4. Frontend disconnects automatically.

  5. UI displays

Unable to Connect


Reproduction Rate

100%

Occurs every time.


Tested Environments

Browsers

Chrome

Firefox (clean profile)

Wallets

Rabby

MetaMask

Extensions

No extensions

Fresh Firefox profile

Fresh browser cache

Different RPC endpoints

Different VPN configurations

The result is identical.


Comparison

This issue affects ONLY the following wallet:

0xd08798452298b8de9ae32b047261490646F27423

Several other wallets connect normally on the same machine using the same browsers and wallets.


Network Inspection

Observed requests

rpc-proxy

HTTP 200

GraphQL

HTTP 200

preflight-compliance

HTTP 200

Tenderly gateway

HTTP 200

No backend rejection observed.

No compliance rejection.

No HTTP 403.

No protocol error.

After successful responses, the frontend disconnects.


Console

Observed repeatedly

Unable to Connect

Cannot redefine property: ethereum

MetaMask encountered an error setting the global Ethereum provider.

GraphQL requests are cancelled after disconnection

No protocol revert is visible.


Investigation already completed

The following potential causes have been ruled out.

Browser

Wallet

RPC

Network

Cache

Session

Extensions

Compliance

WalletConnect

Different providers

Different browsers

Different wallet implementations

The issue follows only this account.


Technical Hypothesis

The issue appears to occur during frontend state initialization after successful connection.

Possible components

getUserAccountData()

getUserConfiguration()

getUserReservesData()

Portfolio state initialization

Reserve decoding

Collateral configuration parsing

The backend responds successfully.

The frontend appears to invalidate the session after processing account data.


Requested Investigation

Could the frontend team verify whether this account triggers an exception during account initialization?

Wallet

0xd08798452298b8de9ae32b047261490646F27423

Specifically around

UserAccountData

UserConfiguration

Reserve parsing

Portfolio initialization

Any hidden frontend exception


Attachments

Console logs

Network logs

Position screenshots

History screenshots

Browser comparison

Wallet comparison

Image Image Image Image Image Image Image

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing frontend connection and state initialization around getUserAccountData(), getUserConfiguration(), getUserReservesData(), portfolio state initialization, reserve decoding, and collateral configuration parsing. Reproduce with the listed Arbitrum account and inspect the exception around the successful GraphQL/RPC responses; done means the account remains connected without showing Unable to Connect.

Written by the indexing model from the issue text.

Assessment

Tech stack
graphql, typescript
Domain
api, frontend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.