Core Extension
Core Extension is the browser-installed Core wallet and the surface most dapp integrations target. Architecturally it is three cooperating pieces, and knowing them explains most integration behaviour you'll observe:
- The inpage script runs in every page and exposes the
EIP-1193 provider —
window.avalanche, the EIP-6963 announcements, and the sharedwindow.ethereum. - The content script relays messages between the page and the extension, isolated from the page's JavaScript.
- The service worker is the wallet proper: it holds sessions, evaluates
permissions, orchestrates approvals, and signs. Every
requestyou make ends here.
Two practical consequences:
- The provider is a proxy. Method calls serialize across the content-script boundary; responses come back asynchronously. Nothing sensitive — keys, seed material — ever exists in the page context.
- The service worker sleeps. Manifest V3 workers stop when idle and restart on demand. Core persists connection state, so this is invisible to dapps beyond an occasional first-request latency.
What's documented where
| Topic | Page |
|---|---|
| Connecting and permissions | Connecting to dapps |
| Networks and custom RPC | Network management |
| Ledger | Hardware wallets |
| Sessions with mobile/desktop dapps | WalletConnect |
| What users see when you send a transaction | Transaction approval |
| Confidential token support | Encrypted ERC-20s |