> ## Documentation Index
> Fetch the complete documentation index at: https://docs.onebalance.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Get quote status

> Retrieves the execution status of a quote by its quote ID as well as transaction hashes for user operations



## OpenAPI

````yaml get /status/get-execution-status
openapi: 3.1.0
info:
  version: 1.6.2
  title: OneBalance API
  description: >
    # OneBalance API


    The OneBalance API provides a programmatic interface for managing OneBalance
    resources using standard HTTP requests. The API documentation includes a
    design and technology overview, followed by detailed endpoint information.


    ## Features


    OneBalance API provides a complete chain abstraction toolkit:


    - Smart Account Management: Predict addresses and deploy accounts

    - Cross-Chain Balances: View aggregated balances across multiple chains

    - Multichain Transactions: Execute transfers and swaps using aggregated
    balances

    - Transaction Status: Track multichain transaction history and status

    - Token Aggregation: Access unified token lists and pricing information


    Enterprise API Access: Need higher rate limits, dedicated infrastructure, or
    custom SLAs? [Contact our sales](mailto:sales@onebalance.io) team for
    enterprise API solutions.


    ## Base URL


    OneBalance API is built on REST principles and is served over HTTPS. To
    ensure data privacy, unencrypted HTTP is not supported.


    The Base URL for all API endpoints is:


    ```bash

    https://be.onebalance.io/api

    ```


    ## Quickstart


    Try our reference application at
    [app.onebalance.io](https://app.onebalance.io) to see the API in action or
    jump straight into our [API
    Reference](https://docs.onebalance.io/api-reference/account/predict-address)
    to start building.


    ## Authentication


    The OneBalance API uses API keys to authenticate requests. All API requests
    require authentication using an API key passed in the `x-api-key` header:


    ```bash

    curl -X 'GET' \
      'https://be.onebalance.io/api/path-to/endpoint' \
      -H 'x-api-key: 42bb629272001ee1163ca0dbbbc07bcbb0ef57a57baf16c4b1d4672db4562c11'
    ```


    A public API key is available for testing purposes with limited usage:
    **42bb629272001ee1163ca0dbbbc07bcbb0ef57a57baf16c4b1d4672db4562c11**


    All API requests must be made over
    [HTTPS](https://en.wikipedia.org/wiki/HTTPS). Calls made over plain HTTP
    will fail. API requests without authentication will also fail.
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
  contact:
    name: OneBalance Support
    email: support@onebalance.io
  termsOfService: https://onebalance.io/terms-of-service
servers:
  - url: https://be.onebalance.io/api
    description: Production environment
security:
  - ApiKeyAuth: []
tags:
  - name: Account
    x-displayName: Smart Accounts
    description: >-
      Manage and predict addresses for OneBalance smart accounts. These accounts
      enable features like resource locks and streamlined cross-chain
      interactions.
  - name: Assets
    x-displayName: Aggregated Assets
    description: >-
      Retrieve details about supported aggregated assets. Aggregated assets
      represent a unified view of a token across multiple chains, simplifying
      cross-chain operations.
  - name: Balances
    x-displayName: Aggregated Balances
    description: >-
      Access and track aggregated asset balances for user accounts. These
      balances reflect a user's total holdings of an asset across all supported
      chains, usable for multichain transactions.
  - name: Chains
    x-displayName: Supported Chains
    description: >-
      List and get details about the blockchain networks currently integrated
      with and supported by the OneBalance platform.
  - name: Status
    x-displayName: Transaction Status & History
    description: >-
      Track the real-time status of quote executions and retrieve complete
      transaction histories for user accounts, offering visibility into
      multichain operations.
  - name: Quotes
    x-displayName: Quotes & Execution
    description: >-
      Request, prepare, and execute quotes for various cross-chain operations
      including asset transfers, swaps, and arbitrary contract interactions.
      These endpoints facilitate the core transaction lifecycle on OneBalance.
paths:
  /status/get-execution-status:
    get:
      tags:
        - Status
      summary: Get quote status
      description: >-
        Retrieves the execution status of a quote by its quote ID as well as
        transaction hashes for user operations
      operationId: getCallsStatus
      parameters:
        - name: quoteId
          required: true
          in: query
          description: The ID of the quote to retrieve the status for
          schema:
            type: string
            example: '0xfa6094cd9d65416c975e3498cc5c2ca17df6c4cfa37e16f84f2736296dd98b5d'
      responses:
        '200':
          description: Successfully retrieved the quote status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/status'
              examples:
                CompletedStatus:
                  summary: Completed transaction
                  description: Example of a successfully completed quote
                  value:
                    quoteId: >-
                      0xfa6094cd9d65416c975e3498cc5c2ca17df6c4cfa37e16f84f2736296dd98b5d
                    status: COMPLETED
                    user: '0x9b747cC14A5672a7166b4eccdc92d7F4003f8081'
                    recipientAccountId: eip155:1/0x9b747cC14A5672a7166b4eccdc92d7F4003f8081
                    originChainOperations:
                      - hash: >-
                          0xfa6094cd9d65416c975e3498cc5c2ca17df6c4cfa37e16f84f2736296dd98b5d
                        chainId: 1
                        chain: eip155:1
                        explorerUrl: >-
                          https://etherscan.io/tx/0xfa6094cd9d65416c975e3498cc5c2ca17df6c4cfa37e16f84f2736296dd98b5d
                    destinationChainOperations:
                      - hash: >-
                          0xfa6094cd9d65416c975e3498cc5c2ca17df6c4cfa37e16f84f2736296dd98b5d
                        chainId: 1
                        chain: eip155:1
                        explorerUrl: >-
                          https://etherscan.io/tx/0xfa6094cd9d65416c975e3498cc5c2ca17df6c4cfa37e16f84f2736296dd98b5d
                RefundedStatus:
                  summary: Refunded transaction with fail reason
                  description: Example of a refunded quote with detailed fail reason
                  value:
                    quoteId: >-
                      0xfa6094cd9d65416c975e3498cc5c2ca17df6c4cfa37e16f84f2736296dd98b5d
                    status: REFUNDED
                    user: '0x9b747cC14A5672a7166b4eccdc92d7F4003f8081'
                    recipientAccountId: eip155:1/0x9b747cC14A5672a7166b4eccdc92d7F4003f8081
                    failReason: SLIPPAGE
                    originChainOperations: []
                    destinationChainOperations: []
        '401':
          $ref: '#/components/responses/unauthorized'
components:
  schemas:
    status:
      type: object
      properties:
        quoteId:
          type: string
          description: Quote ID of the execution
          example: '0xfa6094cd9d65416c975e3498cc5c2ca17df6c4cfa37e16f84f2736296dd98b5d'
          pattern: ^0x[a-fA-F0-9]{64}$
        status:
          allOf:
            - $ref: '#/components/schemas/operation-status'
        user:
          type: string
          description: The address of the user that initiated the quote
          example: '0x9b747cC14A5672a7166b4eccdc92d7F4003f8081'
          pattern: ^0x[a-fA-F0-9]{40}$
        recipientAccountId:
          type: string
          description: The recipient account identifier (e.g., eip155:chainId/address).
          example: eip155:1/0x9b747cC14A5672a7166b4eccdc92d7F4003f8081
        failReason:
          allOf:
            - $ref: '#/components/schemas/fail-reason'
        originChainOperations:
          description: The asset(s) that were sent from the source
          type: array
          items:
            $ref: '#/components/schemas/operation-details'
          example:
            - hash: >-
                0xfa6094cd9d65416c975e3498cc5c2ca17df6c4cfa37e16f84f2736296dd98b5d
              chainId: 1
              chain: eip155:1
              explorerUrl: >-
                https://etherscan.io/tx/0xfa6094cd9d65416c975e3498cc5c2ca17df6c4cfa37e16f84f2736296dd98b5d
        destinationChainOperations:
          description: The asset(s) that were received to the final destination
          type: array
          items:
            $ref: '#/components/schemas/operation-details'
          example:
            - hash: >-
                0xfa6094cd9d65416c975e3498cc5c2ca17df6c4cfa37e16f84f2736296dd98b5d
              chainId: 1
              chain: eip155:1
              explorerUrl: >-
                https://etherscan.io/tx/0xfa6094cd9d65416c975e3498cc5c2ca17df6c4cfa37e16f84f2736296dd98b5d
      required:
        - quoteId
        - status
        - user
        - recipientAccountId
        - originChainOperations
        - destinationChainOperations
    operation-status:
      type: string
      description: >
        Execution status of the quote. The status progresses through different
        stages:

        - PENDING: Operation has been submitted but processing has not yet begun

        - IN_PROGRESS: Currently processing the execution steps of the operation

        - EXECUTED: Transaction has been executed on the destination chain but
        origin chain operations may still be pending

        - COMPLETED: All operations on both origin and destination chains have
        been completed successfully

        - REFUNDED: Operation failed at some step, causing the whole operation
        to be refunded

        - FAILED: All steps of the operation failed
      example: COMPLETED
      enum:
        - PENDING
        - IN_PROGRESS
        - EXECUTED
        - COMPLETED
        - REFUNDED
        - FAILED
    fail-reason:
      type: string
      description: >
        Reason for quote refund when status is REFUNDED. 


        For detailed explanations and troubleshooting steps, see:
        https://docs.onebalance.io/api-reference/error-codes


        Possible values:


        **General Failure Reasons:**

        - UNKNOWN: Unknown failure reason

        - SLIPPAGE: Price moved beyond the configured slippage tolerance

        - AMOUNT_TOO_LOW_TO_REFUND: Amount is too low to process a refund

        - DEPOSIT_ADDRESS_MISMATCH: Deposit address does not match expected
        address

        - DEPOSIT_CHAIN_MISMATCH: Deposit chain does not match expected chain

        - INCORRECT_DEPOSIT_CURRENCY: Deposited currency is incorrect

        - DOUBLE_SPEND: Double spend detected

        - SOLVER_CAPACITY_EXCEEDED: Solver capacity has been exceeded

        - DEPOSITED_AMOUNT_TOO_LOW_TO_FILL: Deposited amount is too low to fill
        the order

        - NEGATIVE_NEW_AMOUNT_AFTER_FEES: Negative amount after deducting fees

        - NO_QUOTES: No quotes available

        - MISSING_REVERT_DATA: Missing revert data from transaction

        - REVERSE_SWAP_FAILED: Reverse swap operation failed

        - GENERATE_SWAP_FAILED: Failed to generate swap

        - TOO_LITTLE_RECEIVED: Received amount is too little

        - EXECUTION_REVERTED: Execution was reverted

        - NEW_CALLDATA_INCLUDES_HIGHER_RENT_FEE: New calldata includes higher
        rent fee

        - TRANSACTION_REVERTED: Transaction was reverted

        - ORIGIN_CURRENCY_MISMATCH: Origin currency mismatch

        - NO_INTERNAL_SWAP_ROUTES_FOUND: No internal swap routes found

        - SWAP_USES_TOO_MUCH_GAS: Swap uses too much gas

        - INSUFFICIENT_FUNDS_FOR_RENT: Insufficient funds for rent
        (Solana-specific)


        **Execution Revert Specific Reasons:**

        - ORDER_EXPIRED: Order has expired

        - ORDER_IS_CANCELLED: Order has been cancelled

        - TRANSFER_FROM_FAILED: Transfer from operation failed

        - TRANSFER_FAILED: Transfer operation failed

        - SIGNATURE_EXPIRED: Signature has expired

        - INVALID_SIGNATURE: Invalid signature provided

        - INSUFFICIENT_NATIVE_TOKENS_SUPPLIED: Insufficient native tokens
        supplied

        - TRANSFER_AMOUNT_EXCEEDS_ALLOWANCE: Transfer amount exceeds allowance

        - TRANSFER_AMOUNT_EXCEEDS_BALANCE: Transfer amount exceeds balance

        - INVALID_SENDER: Invalid sender

        - ACCOUNT_ABSTRACTION_INVALID_NONCE: Account abstraction invalid nonce

        - ACCOUNT_ABSTRACTION_SIGNATURE_ERROR: Account abstraction signature
        error

        - SEAPORT_INEXACT_FRACTION: Seaport inexact fraction

        - TOKEN_NOT_TRANSFERABLE: Token is not transferable

        - ZERO_SELL_AMOUNT: Zero sell amount

        - MINT_NOT_ACTIVE: Mint is not active

        - ERC_1155_TOO_MANY_REQUESTED: ERC-1155 too many requested

        - INCORRECT_PAYMENT: Incorrect payment

        - INVALID_GAS_PRICE: Invalid gas price

        - FLUID_DEX_ERROR: Fluid DEX error

        - ORDER_ALREADY_FILLED: Order already filled

        - SEAPORT_INVALID_FULFILLER: Seaport invalid fulfiller


        **Jupiter Specific Failures:**

        - JUPITER_INVALID_TOKEN_ACCOUNT: Jupiter invalid token account (Solana)
      enum:
        - UNKNOWN
        - SLIPPAGE
        - AMOUNT_TOO_LOW_TO_REFUND
        - DEPOSIT_ADDRESS_MISMATCH
        - DEPOSIT_CHAIN_MISMATCH
        - INCORRECT_DEPOSIT_CURRENCY
        - DOUBLE_SPEND
        - SOLVER_CAPACITY_EXCEEDED
        - DEPOSITED_AMOUNT_TOO_LOW_TO_FILL
        - NEGATIVE_NEW_AMOUNT_AFTER_FEES
        - NO_QUOTES
        - MISSING_REVERT_DATA
        - REVERSE_SWAP_FAILED
        - GENERATE_SWAP_FAILED
        - TOO_LITTLE_RECEIVED
        - EXECUTION_REVERTED
        - NEW_CALLDATA_INCLUDES_HIGHER_RENT_FEE
        - TRANSACTION_REVERTED
        - ORIGIN_CURRENCY_MISMATCH
        - NO_INTERNAL_SWAP_ROUTES_FOUND
        - SWAP_USES_TOO_MUCH_GAS
        - INSUFFICIENT_FUNDS_FOR_RENT
        - ORDER_EXPIRED
        - ORDER_IS_CANCELLED
        - TRANSFER_FROM_FAILED
        - TRANSFER_FAILED
        - SIGNATURE_EXPIRED
        - INVALID_SIGNATURE
        - INSUFFICIENT_NATIVE_TOKENS_SUPPLIED
        - TRANSFER_AMOUNT_EXCEEDS_ALLOWANCE
        - TRANSFER_AMOUNT_EXCEEDS_BALANCE
        - INVALID_SENDER
        - ACCOUNT_ABSTRACTION_INVALID_NONCE
        - ACCOUNT_ABSTRACTION_SIGNATURE_ERROR
        - SEAPORT_INEXACT_FRACTION
        - TOKEN_NOT_TRANSFERABLE
        - ZERO_SELL_AMOUNT
        - MINT_NOT_ACTIVE
        - ERC_1155_TOO_MANY_REQUESTED
        - INCORRECT_PAYMENT
        - INVALID_GAS_PRICE
        - FLUID_DEX_ERROR
        - ORDER_ALREADY_FILLED
        - SEAPORT_INVALID_FULFILLER
        - JUPITER_INVALID_TOKEN_ACCOUNT
      example: SLIPPAGE
    operation-details:
      type: object
      properties:
        hash:
          type: string
          description: The hash of the transaction
          example: '0xfa6094cd9d65416c975e3498cc5c2ca17df6c4cfa37e16f84f2736296dd98b5d'
          pattern: ^0x[a-fA-F0-9]{64}$
        chainId:
          type: integer
          description: The chain ID of the transaction
          example: 1
        chain:
          type: string
          description: The CAIP-2 identifier for the chain
          example: eip155:1
        explorerUrl:
          type: string
          description: Explorer URL of the transaction
          example: >-
            https://etherscan.io/tx/0xfa6094cd9d65416c975e3498cc5c2ca17df6c4cfa37e16f84f2736296dd98b5d
          format: url
      required:
        - hash
        - chainId
        - chain
        - explorerUrl
    HttpUnauthorizedException:
      type: object
      properties:
        error:
          type: string
          description: Error name
          example: UnauthorizedException
        message:
          type: string
          description: Error message
          example: Invalid or missing API key
        statusCode:
          type: number
          description: Error status code
          example: 401
        timestamp:
          type: string
          description: Error timestamp
          example: '2024-12-18T14:38:24.793Z'
        path:
          type: string
          description: Error path
          example: /api/account/predict-address
      required:
        - error
        - message
        - statusCode
        - timestamp
        - path
  responses:
    unauthorized:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/HttpUnauthorizedException'
          example:
            error: UnauthorizedException
            message: Invalid or missing API key
            statusCode: 401
            timestamp: '2024-12-18T14:38:24.793Z'
            path: /api/xxx/xxx
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      name: x-api-key
      in: header
      description: >-
        The OneBalance API uses API keys to authenticate requests. All API
        requests require authentication using an API key passed in the
        `x-api-key` header:


        ```bash

        curl -X 'GET' \
          'https://be.onebalance.io/api/path-to/endpoint' \
          -H 'x-api-key: ${ONEBALANCE_API_KEY}' \
          ...
        ```


        A public API key is available for testing purposes with limited usage:
        `42bb629272001ee1163ca0dbbbc07bcbb0ef57a57baf16c4b1d4672db4562c11`.


        All API requests must be made over HTTPS. Calls made over plain HTTP
        will fail. API requests without authentication will also fail.


        Learn how to generate API access tokens at [OneBalance
        Docs](https://docs.onebalance.io).

````