Known Issues & Limitations
Rate Limits
- The Hyperstream API is rate-limited by IP address.
- The SDK uses a 15-second timeout for API requests.
- Failed requests are not automatically retried.
Performance
- Bundle size depends on build mode, bundler, and included adapters.
- Multiple widget instances share a query cache for chains, tokens, and balances.
- Order tracking polling starts only after a transaction or fiat order is created.
Multiple Instances
Multiple widget instances on the same page are supported:
- Each instance has its own Shadow DOM.
- State is isolated per instance.
registerWidgetElement()can be called multiple times safely.- Instances share cached API data.
Cleanup
js
const widget = new TokenFlightWidget({
container: '#widget',
config: {
toToken: { chainId: 8453, address: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913' },
tradeType: 'EXACT_OUTPUT',
amount: '100',
theme: 'dark',
},
});
widget.initialize();
widget.destroy();Network & Offline Behavior
- No built-in offline detection.
- Requests that exceed 15 seconds surface as
TF3002. - Users must retry manually after network failures.
Privacy
- No telemetry or analytics.
- No cookies.
localStoragemay be used for token metadata caching.- Network requests go only to configured APIs and asset domains referenced by token metadata.
Known Limitations
| Limitation | Status |
|---|---|
| No limit orders | Not planned for v1.x |
| No custom translation overrides | Only built-in locales are supported |
| No testnet / sandbox mode | Use MockWalletAdapter for testing |
| No webhook notifications | Use polling or backend verification |
| No React-specific wrapper package | Use the public widget directly |
| No post-init config updates | Destroy and recreate to update config |