Browser Compatibility
Build Target
The SDK is compiled with ES2020 as the target (configured in tsconfig.json and Vite build settings).
Supported Browsers
| Browser | Minimum Version |
|---|---|
| Chrome | 80+ |
| Firefox | 80+ |
| Safari | 14+ |
| Edge | 80+ |
| iOS Safari | 14+ |
| Chrome Android | 80+ |
Required Web APIs
The SDK relies on these browser APIs:
| API | Purpose | Support |
|---|---|---|
| Custom Elements v1 | Web Component registration | All modern browsers |
| Shadow DOM v1 | Style isolation | All modern browsers |
fetch | API requests | All modern browsers |
AbortController | Request cancellation/timeouts | All modern browsers |
EventSource | Streaming quotes when enabled | All modern browsers |
localStorage | Token metadata cache | All modern browsers; may be limited in private modes |
postMessage | Iframe embedding | All modern browsers |
window.open | Fiat provider popup | Can be blocked if not triggered by user action |
Optional chaining (?.) | ES2020 syntax | Chrome 80+, Safari 14+, Firefox 80+ |
Nullish coalescing (??) | ES2020 syntax | Chrome 80+, Safari 14+, Firefox 80+ |
Polyfills
The core direct widget path does not need polyfills in the minimum browser versions listed above. Some environments still need product-specific checks:
| Flow | Extra browser behavior to verify |
|---|---|
| Streaming quotes | EventSource is available and allowed by connect-src |
| Iframe mode | postMessage and frame-src are allowed |
| Card payments | window.open is not blocked by the checkout context |
| WebViews | Wallet provider injection and popup behavior work in that WebView |
WebView Environments
| Environment | Status | Notes |
|---|---|---|
| Electron | Supported | Chromium-based — full compatibility |
| Capacitor / Cordova | Supported | WebView must support Custom Elements v1 |
| React Native WebView | Partial | Standard Android/iOS WebViews work; older versions may not |
| In-app browsers | Varies | Social media in-app browsers have limited Web Component support |
Known Limitations
- Internet Explorer: Not supported. IE does not implement Custom Elements or Shadow DOM.
- Safari < 14: Missing ES2020 features. Update to Safari 14+.
- Strict CSP environments: If
style-srcdoesn't allow inline styles, use thecsp-nonceattribute. See CSP Guide.