base / base/docs

[Bug] sdk.wallet.getEthereumProvider() hangs indefinitely in Base App WebView after April 2026 update

Open
#1,476 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
337
Forks
792
Avg merge
17h 23m
Merged PRs (30d)
49

Description

## Description
Base App's April 2026 update changed mini-app launch behavior from a
Farcaster mini-app host to a standard WebView. This causes
`sdk.wallet.getEthereumProvider()` to hang indefinitely — no error,
no timeout, no rejection.

## Root Cause
`sdk.isInMiniApp()` returns `false` in Base App WebView since the
Farcaster host is not present. Any code that calls
`sdk.wallet.getEthereumProvider()` without checking this first will
hang forever.

## Impact
- Any mini-app relying on the Farcaster SDK for wallet access is
silently broken when opened via Base App
- No console error, no rejection — just an indefinite loading state
- Affects all developers who built mini-apps before April 2026

## Suggested Fix
Detect Base App WebView using `sdk.isInMiniApp()` and fall back to
injected EIP-1193 provider:

```js
const isInMiniApp = await sdk.isInMiniApp();
const provider = isInMiniApp
? await sdk.wallet.getEthereumProvider()
: window.ethereum ?? window.coinbaseWalletExtension;
```

## References
- Related PR: https://github.com/base/docs/pull/1433
- Related issue in farcasterxyz/miniapps: https://github.com/farcasterxyz/miniapps/issues/608

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.