Frequently Asked Questions
Common questions and solutions for build issues, authentication, transactions, and debugging with the TypeScript SDK.Build & Environment
"Buffer is not defined" or "process is not defined"
"Buffer is not defined" or "process is not defined"
"crypto is not defined"
"crypto is not defined"
Module resolution issues or type errors
Module resolution issues or type errors
tsconfig.json uses modern module resolution:Next.js: "Cannot find module" or ESM errors
Next.js: "Cannot find module" or ESM errors
next.config.js:Bundle size is too large
Bundle size is too large
Module resolution errors, dependency conflicts, or build failures
Module resolution errors, dependency conflicts, or build failures
Regional Support
What regions are supported?
What regions are supported?
Authentication
"Redirect URI mismatch" error
"Redirect URI mismatch" error
redirectUri in your code must exactly match what’s configured in Hub.Common mismatches:httpvshttps- Trailing slash (
/callbackvs/callback/) - Port number differences
- Different paths
"Invalid client_id" error
"Invalid client_id" error
clientIdmatches your Hub configuration- You’re using the correct environment (Sandbox vs Production)
publishableKeyis set correctly
"Popup blocked" when logging in
"Popup blocked" when logging in
Callback page shows error or nothing happens
Callback page shows error or nothing happens
loginCallback() is called on your redirect URI page:Transactions
"User rejected the request"
"User rejected the request"
"Insufficient funds" error
"Insufficient funds" error
"Nonce too low" error
"Nonce too low" error
Performance & Debugging
Slow SDK initialization
Slow SDK initialization
How do I enable SDK debug logs?
How do I enable SDK debug logs?
How do I inspect SDK network calls?
How do I inspect SDK network calls?
- Sandbox:
api.sandbox.immutable.com - Production:
api.immutable.com
Common HTTP error codes
Common HTTP error codes
| Code | Meaning | Solution |
|---|---|---|
| 401 | Unauthorized | Check API key or access token |
| 403 | Forbidden | Check permissions in Hub |
| 429 | Rate limited | Implement exponential backoff |
| 500 | Server error | Retry with backoff, contact support if persistent |
Integration & Usage
How do I use the SDK with viem?
How do I use the SDK with viem?
How do I validate webhooks?
How do I validate webhooks?
@imtbl/webhook to verify incoming webhooks from Immutable:Can I use the SDK via CDN?
Can I use the SDK via CDN?
How do I enable code splitting?
How do I enable code splitting?
moduleResolution: "bundler" in tsconfig.json.V2 SDK migration notes
V2 SDK migration notes