Error Handling
Core API uses standard HTTP status codes and returns detailed error information to help you troubleshoot issues.Common Error Responses
400 Bad Request
INVALID_REQUEST_FIELDS
- Cause: Missing or invalid required fields in the request body
- Solution: Verify all required parameters are present and properly formatted
MISSING_REQUIRED_HEADER
- Cause: The
x-magic-secret-key
header is missing from the request - Solution: Include the header:
x-magic-secret-key: sk_live_XXXXXXXX
INVALID_API_KEY
- Cause: The provided secret key is invalid or expired
- Solution: Verify your secret key is correct and your application is allowlisted
INVALID_USER_PASSCODE
- Cause: The
encryption_context
oraccess_key
is incorrect - Solution: Ensure the
encryption_context
matches what was used during wallet creation
403 Forbidden
METHOD_NOT_AVAILABLE
- Cause: The requested endpoint or method is not available for your application
- Solution: Contact Magic support to enable the required functionality
408 Timeout
REQUEST_TIMEOUT
- Cause: The request took too long to process
- Solution: Retry the request or contact support if the issue persists
500 Internal Server Error
INTERNAL_SERVER_ERROR
- Cause: An unexpected error occurred on Magic’s servers
- Solution: If this error persists, contact Magic support for assistance
Error Response Format
All error responses follow this format:Best Practices
Always implement proper error handling in your application:
- Check HTTP status codes before processing responses
- Log error details for debugging
- Implement retry logic for transient errors (5xx status codes)
- Provide meaningful error messages to your users
Never expose sensitive error details (like secret keys or encryption contexts) to end users. Log them securely for debugging purposes only.