Skip to main content
All Deframe API errors follow a consistent JSON structure:
{
  "code": "QUOTE_NOT_FOUND",
  "message": "Quote not found or expired",
  "httpStatus": 404,
  "details": null
}

Quote Errors

CodeHTTP StatusDescriptionResolution
QUOTE_NOT_FOUND404Quote not found or expiredRequest a new quote — quotes are valid for 5 minutes
QUOTE_EXPIRED400Quote has expiredRequest a new quote using the same parameters
QUOTE_GENERATION_FAILED400Could not generate a quote for the specified parametersVerify token addresses, chain names, and amount format
QUOTE_VALIDATION_ERROR400Quote validation failedCheck that quoteId and rawQuote match the original quote response

Swap Errors

CodeHTTP StatusDescriptionResolution
NO_ROUTE_FOUND400No swap route available between the specified chains or tokensTry a different token pair or check supported networks
PROVIDER_NOT_FOUND404Swap provider not found for the requested routeUse a supported chain and token combination
BYTECODE_GENERATION_FAILED500Failed to generate transaction bytecodeRetry the request — if the issue persists, contact support
SWAP_EXECUTION_FAILED500Failed to execute the swap transactionVerify wallet balance, allowance, and gas fees

Validation Errors

CodeHTTP StatusDescriptionResolution
INVALID_AMOUNT_PARAMS400Cannot specify both amountIn and amountOut simultaneouslyUse only one of amountIn or amountOut per request
MISSING_AMOUNT_PARAMS400Either amountIn or amountOut is requiredInclude at least one amount parameter in the request
AMOUNT_IN_TOO_LOW400amountIn is below the minimum threshold (1 USDC)Increase the input amount
AMOUNT_IN_TOO_HIGH400amountIn exceeds the maximum threshold (3,000 USDC)Reduce the input amount or contact support for higher limits

Bridge Errors

CodeHTTP StatusDescriptionResolution
TRANSFER_VALIDATION_FAILED400Token transfer validation failedVerify the token address, chain, and transfer amount
INSUFFICIENT_AMOUNT_FOR_REFUND400Transferred amount is insufficient to cover the refund feeIncrease the transfer amount to cover bridge fees
DEPOSIT_NOT_FOUND404Bitcoin deposit not foundWait for on-chain confirmation or check the deposit address

General Errors

CodeHTTP StatusDescriptionResolution
INTERNAL_SERVER_ERROR500An unexpected error occurredRetry the request — if the issue persists, contact support
SYMBIOSIS_API_ERROR502Error communicating with the Symbiosis bridge APIRetry after a short delay — this is usually transient

Authentication Errors

CodeHTTP StatusDescriptionResolution
401No API key providedInclude x-api-key header in your request
401Invalid API keyVerify your API key at deframe.io
429Rate limit exceededWait for the retry window — see retryAfter in the response body

Rate Limit Response

When you hit the rate limit, the response includes:
{
  "error": {
    "code": "RATE_LIMIT_EXCEEDED",
    "details": {
      "retryAfter": 60
    }
  }
}
Use the retryAfter value (in seconds) before retrying. See Authentication for rate limit details.