Skip to main content
OneBalance logs every successful or failed quote execution. While HTTP status codes indicate API request success/failure, quote executions can fail for business logic reasons even when the API request succeeds (returns 200). When a quote execution fails, it will be marked as REFUNDED and include a failReason field explaining why. These codes help you handle execution failures programmatically and provide appropriate feedback to users. Every refunded quote links to this list through its failReason field.

Quote Execution Failures

The following is a complete list of OneBalance fail reason codes, their descriptions, and recommended actions for resolution.

General Failure Reasons

Error CodeDescription
UNKNOWNUnknown failure reason
SLIPPAGEPrice moved beyond slippage tolerance
AMOUNT_TOO_LOW_TO_REFUNDAmount is too low to process a refund
DEPOSIT_ADDRESS_MISMATCHDeposit address does not match expected address
DEPOSIT_CHAIN_MISMATCHDeposit chain does not match expected chain
INCORRECT_DEPOSIT_CURRENCYDeposited currency is incorrect
DOUBLE_SPENDDouble spend detected
SOLVER_CAPACITY_EXCEEDEDSolver capacity has been exceeded
DEPOSITED_AMOUNT_TOO_LOW_TO_FILLDeposited amount is too low to fill the order
NEGATIVE_NEW_AMOUNT_AFTER_FEESNegative amount after deducting fees
NO_QUOTESNo quotes available
MISSING_REVERT_DATAMissing revert data from transaction
REVERSE_SWAP_FAILEDReverse swap operation failed
GENERATE_SWAP_FAILEDFailed to generate swap
TOO_LITTLE_RECEIVEDReceived amount is too little
EXECUTION_REVERTEDExecution was reverted
NEW_CALLDATA_INCLUDES_HIGHER_RENT_FEENew calldata includes higher rent fee
TRANSACTION_REVERTEDTransaction was reverted
ORIGIN_CURRENCY_MISMATCHOrigin currency mismatch
NO_INTERNAL_SWAP_ROUTES_FOUNDNo internal swap routes found
SWAP_USES_TOO_MUCH_GASSwap uses too much gas
INSUFFICIENT_FUNDS_FOR_RENTInsufficient funds for rent (Solana-specific)

Execution Revert Specific Reasons

Error CodeDescription
ORDER_EXPIREDOrder has expired
ORDER_IS_CANCELLEDOrder has been cancelled
TRANSFER_FROM_FAILEDTransfer from operation failed
TRANSFER_FAILEDTransfer operation failed
SIGNATURE_EXPIREDSignature has expired
INVALID_SIGNATUREInvalid signature provided
INSUFFICIENT_NATIVE_TOKENS_SUPPLIEDInsufficient native tokens supplied
TRANSFER_AMOUNT_EXCEEDS_ALLOWANCETransfer amount exceeds allowance
TRANSFER_AMOUNT_EXCEEDS_BALANCETransfer amount exceeds balance
INVALID_SENDERInvalid sender
ACCOUNT_ABSTRACTION_INVALID_NONCEAccount abstraction invalid nonce
ACCOUNT_ABSTRACTION_SIGNATURE_ERRORAccount abstraction signature error
SEAPORT_INEXACT_FRACTIONSeaport inexact fraction
TOKEN_NOT_TRANSFERABLEToken is not transferable
ZERO_SELL_AMOUNTZero sell amount
MINT_NOT_ACTIVEMint is not active
ERC_1155_TOO_MANY_REQUESTEDERC-1155 too many requested
INCORRECT_PAYMENTIncorrect payment
INVALID_GAS_PRICEInvalid gas price
FLUID_DEX_ERRORFluid DEX error
ORDER_ALREADY_FILLEDOrder already filled
SEAPORT_INVALID_FULFILLERSeaport invalid fulfiller

Jupiter Specific Failures

Error CodeDescription
JUPITER_INVALID_TOKEN_ACCOUNTJupiter invalid token account (Solana)

Detailed Error Explanations

SLIPPAGE

Description: The swap failed because the price moved beyond the configured slippage tolerance. What it means: The market price of the tokens changed significantly between when the quote was generated and when it was executed, exceeding the maximum allowed price impact. Recommended action:
  • Try requesting a new quote with updated prices
  • Consider increasing the slippage tolerance if appropriate for your use case
  • For volatile assets, execute quotes more quickly after generation

TRANSFER_AMOUNT_EXCEEDS_BALANCE

Description: Transfer amount exceeds balance. What it means: Insufficient token balance for the transfer. Recommended action:
  • Check token balance
  • Reduce transfer amount

TRANSFER_AMOUNT_EXCEEDS_ALLOWANCE

Description: Transfer amount exceeds allowance. What it means: Token approval is less than transfer amount. Recommended action:
  • Increase token allowance
  • Approve exact or unlimited amount

ORDER_EXPIRED

Description: Order has expired. What it means: The order validity period has passed. Recommended action:
  • Submit a new order
  • Execute orders more quickly

INSUFFICIENT_NATIVE_TOKENS_SUPPLIED

Description: Insufficient native tokens supplied. What it means: Not enough ETH/SOL/etc. for gas fees. Recommended action:
  • Add native tokens for gas
  • Check gas price estimates

NO_QUOTES

Description: No quotes available. What it means: Unable to find any valid quotes for the requested swap. Recommended action:
  • Try different token pairs
  • Check if markets are available for the tokens
  • Try again during active trading hours

EXECUTION_REVERTED

Description: Execution was reverted. What it means: The on-chain execution failed and was reverted. Recommended action:
  • Check specific revert reasons below
  • Verify contract interactions

INSUFFICIENT_FUNDS_FOR_RENT

Description: Insufficient funds for rent. What it means: Not enough funds to cover rent fees (Solana-specific). Recommended action:
  • Add SOL for rent exemption
  • Maintain minimum balance requirements

JUPITER_INVALID_TOKEN_ACCOUNT

Description: Jupiter invalid token account. What it means: Token account issue on Jupiter (Solana). Recommended action:
  • Verify Solana token accounts
  • Initialize token account if needed

UNKNOWN

Description: Unknown failure reason. What it means: The failure reason could not be determined. Recommended action:
  • Contact support with the quote ID for investigation
  • Try generating and executing a new quote

DOUBLE_SPEND

Description: Double spend detected. What it means: An attempt to spend the same funds twice was detected. Recommended action:
  • Ensure transactions are properly sequenced
  • Wait for transaction confirmation before initiating new ones

SOLVER_CAPACITY_EXCEEDED

Description: Solver capacity has been exceeded. What it means: The system’s solving capacity has been reached. Recommended action:
  • Try again after a short delay
  • Consider splitting large orders into smaller ones

TOO_LITTLE_RECEIVED

Description: Received amount is too little. What it means: The output amount is below acceptable minimums. Recommended action:
  • Increase slippage tolerance
  • Try a different route or time

INVALID_SIGNATURE

Description: Invalid signature provided. What it means: The signature doesn’t match or is malformed. Recommended action:
  • Re-sign the transaction
  • Verify wallet connection

SIGNATURE_EXPIRED

Description: Signature has expired. What it means: The transaction signature is no longer valid. Recommended action:
  • Sign a new transaction
  • Execute signed transactions promptly

INVALID_SENDER

Description: Invalid sender. What it means: Transaction sender is not authorized. Recommended action:
  • Verify wallet connection
  • Check sender permissions

ACCOUNT_ABSTRACTION_INVALID_NONCE

Description: Account abstraction invalid nonce. What it means: Smart wallet nonce is incorrect. Recommended action:
  • Sync wallet state
  • Retry transaction

ACCOUNT_ABSTRACTION_SIGNATURE_ERROR

Description: Account abstraction signature error. What it means: Smart wallet signature validation failed. Recommended action:
  • Re-sign with correct wallet
  • Check wallet configuration

TOKEN_NOT_TRANSFERABLE

Description: Token is not transferable. What it means: Token has transfer restrictions. Recommended action:
  • Check token transfer rules
  • Verify token isn’t locked

ZERO_SELL_AMOUNT

Description: Zero sell amount. What it means: Attempting to sell zero tokens. Recommended action:
  • Specify a valid amount
  • Check input validation

MINT_NOT_ACTIVE

Description: Mint is not active. What it means: Token minting is currently disabled. Recommended action:
  • Wait for minting to activate
  • Check mint schedule

ORDER_ALREADY_FILLED

Description: Order already filled. What it means: Attempting to fill an already completed order. Recommended action:
  • Submit a new order
  • Check order status first

INVALID_GAS_PRICE

Description: Invalid gas price. What it means: Gas price is outside acceptable range. Recommended action:
  • Update gas price settings
  • Use current market rates

AMOUNT_TOO_LOW_TO_REFUND

Description: Amount is too low to process a refund. What it means: The refund amount is below the minimum threshold. Recommended action:
  • Increase transaction amount
  • Contact support for small amounts

DEPOSIT_ADDRESS_MISMATCH

Description: Deposit address does not match expected address. What it means: Funds were sent to an incorrect address. Recommended action:
  • Verify correct deposit address
  • Contact support if funds sent to wrong address

DEPOSIT_CHAIN_MISMATCH

Description: Deposit chain does not match expected chain. What it means: Funds sent on wrong blockchain network. Recommended action:
  • Verify correct chain before sending
  • Ensure wallet connected to correct network

INCORRECT_DEPOSIT_CURRENCY

Description: Deposited currency is incorrect. What it means: Wrong token type was deposited. Recommended action:
  • Verify correct token type
  • Check token contract addresses

DEPOSITED_AMOUNT_TOO_LOW_TO_FILL

Description: Deposited amount is too low to fill the order. What it means: Deposited amount doesn’t meet minimum requirements. Recommended action:
  • Increase deposit amount
  • Check minimum order requirements

NEGATIVE_NEW_AMOUNT_AFTER_FEES

Description: Negative amount after deducting fees. What it means: Fees exceed the transaction amount. Recommended action:
  • Increase transaction amount
  • Review fee structure

MISSING_REVERT_DATA

Description: Missing revert data from transaction. What it means: Transaction failed without detailed error information. Recommended action:
  • Contact support with transaction details
  • Try transaction again

REVERSE_SWAP_FAILED

Description: Reverse swap operation failed. What it means: Attempt to reverse a swap transaction failed. Recommended action:
  • Contact support for manual intervention
  • Review transaction history

GENERATE_SWAP_FAILED

Description: Failed to generate swap. What it means: System couldn’t create a valid swap transaction. Recommended action:
  • Try with different parameters
  • Check token compatibility

NEW_CALLDATA_INCLUDES_HIGHER_RENT_FEE

Description: New calldata includes higher rent fee. What it means: Updated transaction requires higher fees than originally quoted. Recommended action:
  • Accept higher fee or cancel
  • Request fresh quote

TRANSACTION_REVERTED

Description: Transaction was reverted. What it means: Blockchain transaction failed and was reverted. Recommended action:
  • Check gas settings
  • Verify transaction parameters

ORIGIN_CURRENCY_MISMATCH

Description: Origin currency mismatch. What it means: Source currency doesn’t match expectations. Recommended action:
  • Verify correct source token
  • Check wallet token selection

NO_INTERNAL_SWAP_ROUTES_FOUND

Description: No internal swap routes found. What it means: Unable to find a valid path for the swap. Recommended action:
  • Try alternative token pairs
  • Check liquidity availability

SWAP_USES_TOO_MUCH_GAS

Description: Swap uses too much gas. What it means: Swap would exceed gas limits. Recommended action:
  • Simplify swap path
  • Split into smaller transactions

ORDER_IS_CANCELLED

Description: Order has been cancelled. What it means: Order was cancelled before execution. Recommended action:
  • Submit new order if needed
  • Check cancellation reason

TRANSFER_FROM_FAILED

Description: Transfer from operation failed. What it means: Unable to transfer tokens from source. Recommended action:
  • Check token allowances
  • Verify token balance

TRANSFER_FAILED

Description: Transfer operation failed. What it means: Token transfer could not be completed. Recommended action:
  • Check token compatibility
  • Verify recipient address

SEAPORT_INEXACT_FRACTION

Description: Seaport inexact fraction. What it means: NFT marketplace order has fraction issues. Recommended action:
  • Adjust order parameters
  • Use whole units

SEAPORT_INVALID_FULFILLER

Description: Seaport invalid fulfiller. What it means: Not authorized to fulfill this Seaport order. Recommended action:
  • Check fulfiller requirements
  • Verify permissions

ERC_1155_TOO_MANY_REQUESTED

Description: ERC-1155 too many requested. What it means: Exceeds maximum ERC-1155 tokens per transaction. Recommended action:
  • Reduce number of tokens
  • Split into multiple transactions

INCORRECT_PAYMENT

Description: Incorrect payment. What it means: Payment amount or method is wrong. Recommended action:
  • Verify payment amount
  • Check payment currency

FLUID_DEX_ERROR

Description: Fluid DEX error. What it means: Error specific to Fluid DEX protocol. Recommended action:
  • Check Fluid DEX status
  • Try alternative DEX

Integration Example

// Check execution status
const statusResponse = await fetch('/api/status/get-execution-status?quoteId=0x...', {
  headers: {
    'x-api-key': 'your-api-key'
  }
});

const status = await statusResponse.json();

if (status.status === 'REFUNDED' && status.failReason) {
  switch (status.failReason) {
    case 'SLIPPAGE':
      // Handle slippage - maybe retry with higher tolerance
      console.log('Quote refunded due to slippage');
      break;
    case 'TRANSFER_AMOUNT_EXCEEDS_BALANCE':
      // Inform user about insufficient balance
      console.log('Insufficient balance for swap');
      break;
    case 'TRANSFER_AMOUNT_EXCEEDS_ALLOWANCE':
      // Need to increase token approval
      console.log('Token allowance insufficient');
      break;
    case 'ORDER_EXPIRED':
      // Order expired, need fresh quote
      console.log('Order expired, please request a new quote');
      break;
    case 'NO_QUOTES':
      // No quotes available for this pair
      console.log('No quotes available for this token pair');
      break;
    case 'EXECUTION_REVERTED':
      // Check for more specific revert reasons
      console.log('Transaction execution reverted');
      break;
    case 'UNKNOWN':
      // Unknown failure
      console.log('Unknown failure reason');
      break;
    // ... handle other cases
    default:
      console.log(`Quote refunded: ${status.failReason}`);
  }
}

Best Practices

  • Always check the failReason: When a quote is refunded, use the failReason to provide appropriate feedback to users
  • Implement retry logic: For certain fail reasons like SLIPPAGE or TIMEOUT, consider implementing automatic retry with adjusted parameters
  • Monitor patterns: Track fail reasons to identify common issues and optimize your integration
  • User communication: Translate technical fail reasons into user-friendly messages