Skip to main content

dApp Browser

Essentials includes a built-in browser for interacting with decentralized applications (dApps) directly from the app. It also supports WalletConnect for dApps that run outside Essentials.

Enabling the Built-in Browser

The built-in browser lets you use dApps inside Essentials with full wallet integration, phishing protection, and automatic account detection. Its default state depends on your platform:

PlatformDefaultWhy
AndroidEnabledThe built-in browser works out of the box
iOSDisabledApple App Store policies require the external browser by default

If the built-in browser is disabled, tapping a dApp URL opens it in Safari (or your default browser) instead. You lose the in-app wallet injection, meaning the dApp cannot automatically detect Essentials as your wallet. You would need to use WalletConnect to connect manually.

To enable the built-in browser on iOS:

  1. Open Settings (gear icon on the home screen title bar)
  2. Go to Privacy
  3. Turn on Built-in browser

Once enabled, dApps open inside Essentials with full wallet support.

Browsing dApps

Open the dApp browser from the Discover dApps widget on your home screen or by setting your startup screen to dApps in Settings. From the browser home you can:

  • Enter a URL in the address bar to navigate to any dApp
  • Pick from recent apps -- the last three dApps you visited appear at the top
  • Browse suggested dApps -- a curated list of dApps filtered by your active network

Tapping any entry opens the dApp inside Essentials with full wallet integration.

Important for iOS users

With the built-in browser disabled (the iOS default), the suggested dApps list is empty. Only your recent apps and favorites appear. When using external browser mode, only dApps that support WalletConnect are suggested, since in-app wallet injection is not available. Enable the built-in browser in Settings > Privacy for the full experience.

Favorites

You can bookmark dApps for quick access:

  • Tap the star icon next to any recent or suggested dApp to add it to your favorites
  • Favorites are grouped by network, so you only see bookmarks relevant to your active chain
  • To edit or remove a favorite, open its settings. You can also toggle which networks a favorite appears under.

Transaction Approval

When a dApp requests a transaction (such as a token swap, NFT mint, or contract interaction):

Every signing request goes through this approval flow. The dApp cannot bypass the review screen.

Phishing Protection

Stay alert

Essentials checks every URL against a community-maintained list of known scam domains. If a site is flagged, the page is hidden and a scam warning dialog appears. You can choose Leave (closes the browser) or Continue (loads the page anyway).

The warning only appears once per domain during a browsing session. This catches known phishing sites, but always verify URLs yourself before signing anything.

Network Switching

Some dApps request a specific network (for example, a DeFi protocol on ESC might ask you to switch from Ethereum to Elastos Smart Chain). When this happens:

  • Essentials shows a network switch prompt
  • You can confirm to switch your active network, or cancel to stay on your current network
  • If the dApp requests a network that Essentials does not recognize, you see an unsupported network error

If a dApp asks you to add a new network, Essentials opens the network addition flow and then prompts you to switch.

How Essentials Connects to dApps

When you open a dApp in the browser, Essentials makes itself available as a wallet provider. This means dApps can detect Essentials the same way they detect MetaMask or other wallets. The dApp can then request your account address, ask you to sign messages, and submit transactions for your approval.

Essentials also provides Elastos-specific capabilities to dApps that support them, such as requesting your DID credentials or signing with your ELA main chain keys. From your perspective, all of this happens through the same approval flow described above.

For the developer perspective on how this works, see Building a dApp.

WalletConnect

For dApps that run outside the Essentials browser (in a desktop browser, another mobile app, or Safari on iOS), you can connect using WalletConnect.

Connecting

  1. In the external dApp, look for a WalletConnect option and display the QR code
  2. In Essentials, scan the QR code. You can use the Scan icon in the home screen title bar, or any scanner prompt within the app. Essentials automatically recognizes WalletConnect URIs.
  3. A connection request appears showing the dApp's name, description, and the chains it wants to use
  4. Review the request and tap Connect
  5. Switch back to the external dApp. Your Essentials wallet is now connected.

Managing Sessions

Open Settings > WalletConnect sessions to see all active connections. Each entry shows the dApp name, its icon, and when it last communicated. You can disconnect any session from this list.

Sessions persist across app restarts, so you do not need to reconnect every time you reopen Essentials.

Approving Requests

When a connected dApp sends a transaction or signing request, Essentials displays the same review screen as the built-in browser. You approve or reject as usual.

info

Essentials supports WalletConnect v2 only. Version 1 has reached end-of-life and is no longer supported for new connections.