---
title: "GET /requests/v3"
method: GET
path: "/requests/v3"
---

# GET /requests/v3

`GET /requests/v3`

## Query parameters

- `limit` number
- `continuation` string
- `includeTotal` boolean
- `user` string
- `term` string
- `id` string
- `orderId` string
- `depositTxHash` string
- `fillTxHash` string
- `refundTxHash` string
- `originChainId` number
- `destinationChainId` number
- `chainId` number
- `privateChainsToInclude` string
- `depositAddress` string
- `recipient` string
- `status` 'success' | 'failure' | 'refund' | 'pending' | 'depositing'
- `failReason` 'UNKNOWN' | 'SLIPPAGE' | 'AMOUNT_TOO_LOW_TO_REFUND' | 'DEPOSIT_ADDRESS_MISMATCH' | 'DEPOSIT_CHAIN_MISMATCH' | 'INCORRECT_DEPOSIT_CURRENCY' | 'DOUBLE_SPEND' | 'SOLVER_CAPACITY_EXCEEDED' | 'SOLVER_BALANCE_TOO_LOW' | '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' | 'TRANSACTION_TOO_LARGE' | 'ORIGIN_CURRENCY_MISMATCH' | 'NO_INTERNAL_SWAP_ROUTES_FOUND' | 'SWAP_USES_TOO_MUCH_GAS' | 'INSUFFICIENT_FUNDS_FOR_RENT' | 'SPONSOR_BALANCE_TOO_LOW' | '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' | 'INVALID_SIGNER' | 'MINT_QUANTITY_EXCEEDS_MAX_PER_WALLET' | 'MINT_QUANTITY_EXCEEDS_MAX_SUPPLY' | 'JUPITER_INVALID_TOKEN_ACCOUNT' | 'INVALID_NONCE' | 'ACCOUNT_ABSTRACTION_GAS_LIMIT' | 'CONTRACT_PAUSED' | 'SWAP_IMPACT_TOO_HIGH' | 'INSUFFICIENT_POOL_LIQUIDITY' | 'TTL_EXPIRED' | 'DEPOSIT_CONFIRMATION_TIMEOUT' | 'ORPHANED_DEPOSIT_REFUND' | 'GASLESS_PERMIT_BALANCE_TOO_LOW' | 'MANUAL_ADMIN_REFUND' | 'QUOTED_GAS_LIMIT_EXCEEDED' | 'DESTINATION_TOKEN_TRANSFER_REJECTED' | 'DEPOSIT_REORGED' | 'BLOCKED_WALLET' | 'PROTOCOL_DEADLINE_EXPIRED' | 'TRANSACTION_NOT_INCLUDED' | 'TRANSACTION_SUBMISSION_FAILED' | 'N/A'
- `refundFailReason` 'AMOUNT_TOO_LOW_TO_REFUND' | 'NEGATIVE_NEW_AMOUNT_AFTER_FEES' | 'SWAP_CURRENCY_NOT_ON_ORIGIN' | 'REFUND_RECIPIENT_IS_VASP' | 'MANUAL_REFUND_REQUIRED'
- `apiKey` string
- `requestType` string
- `currencyInChainId` number
- `currencyOutChainId` number
- `currencyInAddress` string
- `currencyOutAddress` string
- `currencyInSymbol` string
- `currencyOutSymbol` string
- `sortBy` 'createdAt' | 'updatedAt' | 'amountUsd'
- `sortDirection` 'asc' | 'desc'
- `startTimestamp` number
- `endTimestamp` number
- `startBlock` number
- `endBlock` number
- `amountUsdMin` number
- `amountUsdMax` number
- `appFeesAmountUsdMin` number
- `appFeesAmountUsdMax` number
- `fillTimeMin` number
- `fillTimeMax` number
- `features` string
- `includeAuthenticatedData` boolean
- `includeChildRequests` boolean
- `filters` string

## Headers

- `x-api-key` string, required

## Response `200`

Default Response

- object
  - `requests` object[]
    - `id` string
    - `status` 'refund' | 'waiting' | 'depositing' | 'failure' | 'pending' | 'submitted' | 'success'
    - `user` string
    - `recipient` string
    - `sender` string, nullable
    - `refundTo` string, nullable — The address refunds are sent to for deposit-address transactions. Null when not specified.
    - `supersededByRequestId` string, nullable — Regenerated requestId that now owns the sweep/fill for a superseded deposit-address request. Currently only set for Bitcoin (BVM) deposit-address requests.
    - `depositAddress` object, nullable
      - `address` string
      - `type` 'strict' | 'open'
      - `depositor` string, nullable
      - `depositTxHash` string, nullable
      - `recoveryAddress` string, nullable — Origin-chain address that can recover deposit-address funds if the recipient wallet is later blocked. Null when not specified.
    - `data` object
      - `slippageTolerance` string
      - `failReason` 'UNKNOWN' | 'SLIPPAGE' | 'AMOUNT_TOO_LOW_TO_REFUND' | 'DEPOSIT_ADDRESS_MISMATCH' | 'DEPOSIT_CHAIN_MISMATCH' | 'INCORRECT_DEPOSIT_CURRENCY' | 'DOUBLE_SPEND' | 'SOLVER_CAPACITY_EXCEEDED' | 'SOLVER_BALANCE_TOO_LOW' | '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' | 'TRANSACTION_TOO_LARGE' | 'ORIGIN_CURRENCY_MISMATCH' | 'NO_INTERNAL_SWAP_ROUTES_FOUND' | 'SWAP_USES_TOO_MUCH_GAS' | 'INSUFFICIENT_FUNDS_FOR_RENT' | 'SPONSOR_BALANCE_TOO_LOW' | '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' | 'INVALID_SIGNER' | 'MINT_QUANTITY_EXCEEDS_MAX_PER_WALLET' | 'MINT_QUANTITY_EXCEEDS_MAX_SUPPLY' | 'JUPITER_INVALID_TOKEN_ACCOUNT' | 'INVALID_NONCE' | 'ACCOUNT_ABSTRACTION_GAS_LIMIT' | 'CONTRACT_PAUSED' | 'SWAP_IMPACT_TOO_HIGH' | 'INSUFFICIENT_POOL_LIQUIDITY' | 'TTL_EXPIRED' | 'DEPOSIT_CONFIRMATION_TIMEOUT' | 'ORPHANED_DEPOSIT_REFUND' | 'GASLESS_PERMIT_BALANCE_TOO_LOW' | 'MANUAL_ADMIN_REFUND' | 'QUOTED_GAS_LIMIT_EXCEEDED' | 'DESTINATION_TOKEN_TRANSFER_REJECTED' | 'DEPOSIT_REORGED' | 'BLOCKED_WALLET' | 'PROTOCOL_DEADLINE_EXPIRED' | 'TRANSACTION_NOT_INCLUDED' | 'TRANSACTION_SUBMISSION_FAILED' | 'N/A', nullable
      - `refundFailReason` 'AMOUNT_TOO_LOW_TO_REFUND' | 'NEGATIVE_NEW_AMOUNT_AFTER_FEES' | 'SWAP_CURRENCY_NOT_ON_ORIGIN' | 'REFUND_RECIPIENT_IS_VASP' | 'MANUAL_REFUND_REQUIRED', nullable
      - `failedTxHash` string
      - `failedTxBlockNumber` number
      - `failedCallData` object
        - `from` string
        - `to` string
        - `data` string
        - `value` string
      - `usesExternalLiquidity` boolean
      - `timeEstimate` number, nullable
      - `triggeredByFastFill` boolean, nullable
      - `inTxs` object[]
        - `txHash` string
        - `fee` string
        - `feeUsd` string
        - `block` number
        - `type` string
        - `chainId` number
        - `timestamp` number
        - `status` 'success' | 'failure'
        - `data` unknown
        - `stateChanges` unknown
      - `outTxs` object[]
        - `txHash` string
        - `fee` string
        - `feeUsd` string
        - `block` number
        - `type` string
        - `chainId` number
        - `timestamp` number
        - `status` 'success' | 'failure'
        - `data` unknown
        - `stateChanges` unknown
      - `appFees` object
        - `quoted` object[]
          - `recipient` string
          - `bps` string
          - `amount` string
          - `amountFormatted` string
        - `actual` object[]
          - `recipient` string
          - `bps` string
          - `amount` string
          - `amountFormatted` string
          - `amountUsd` string
        - `currency` object
          - `chainId` number
          - `address` string
          - `symbol` string
          - `name` string
          - `decimals` number
          - `metadata` object
            - `logoURI` string
            - `verified` boolean
            - `isNative` boolean
      - `feeSponsorship` object, nullable — Granular fee sponsorship details derived from the solver's internal sponsorship resolution.
        - `quoted` object — The quote-time sponsorship expectation for the request.
          - `selectedComponents` string[], required — The normalized sponsorship buckets selected for this request.
          - `maxSubsidizationAmount` string — The requested sponsorship cap in USD micro-units, when one was configured for the request.
          - `capHit` boolean, required — Whether the configured sponsorship cap limited the selected fee buckets for this phase.
          - `components` object, required — Per-bucket sponsorship details for the five sponsorable fee components.
            - `execution` object, required — Execution fee sponsorship details.
              - …
            - `swap` object, required — Swap fee sponsorship details.
              - …
            - `platform` object, required — Platform fee sponsorship details.
              - …
            - `app` object, required — App fee sponsorship details.
              - …
            - `rent` object, required — Solana ATA rent sponsorship details.
              - …
          - `sponsoredTotal` object, required — The total amount sponsored for this phase.
            - `amount` string
            - `amountFormatted` string
            - `amountUsd` string
            - `minimumAmount` string
          - `userPaysTotal` object, required — The total amount the user paid across the sponsorable fee buckets for this phase.
            - `amount` string
            - `amountFormatted` string
            - `amountUsd` string
            - `minimumAmount` string
        - `actual` object — The post-solve sponsorship outcome recorded for the request.
          - `selectedComponents` string[], required — The normalized sponsorship buckets selected for this request.
          - `maxSubsidizationAmount` string — The requested sponsorship cap in USD micro-units, when one was configured for the request.
          - `capHit` boolean, required — Whether the configured sponsorship cap limited the selected fee buckets for this phase.
          - `components` object, required — Per-bucket sponsorship details for the five sponsorable fee components.
            - `execution` object, required — Execution fee sponsorship details.
              - …
            - `swap` object, required — Swap fee sponsorship details.
              - …
            - `platform` object, required — Platform fee sponsorship details.
              - …
            - `app` object, required — App fee sponsorship details.
              - …
            - `rent` object, required — Solana ATA rent sponsorship details.
              - …
          - `sponsoredTotal` object, required — The total amount sponsored for this phase.
            - `amount` string
            - `amountFormatted` string
            - `amountUsd` string
            - `minimumAmount` string
          - `userPaysTotal` object, required — The total amount the user paid across the sponsorable fee buckets for this phase.
            - `amount` string
            - `amountFormatted` string
            - `amountUsd` string
            - `minimumAmount` string
          - `sponsorPayment` object — How much the sponsor ultimately paid, denominated in the sponsor payment currency.
            - `amount` string, required — The sponsor payment amount.
            - `address` string, required — The sponsor payment currency address.
            - `chainId` number, required — The sponsor payment chain id.
        - `currency` object — The currency in which all sponsorship amounts are denominated. Shared across all nested amount objects.
          - `chainId` number
          - `address` string
          - `symbol` string
          - `name` string
          - `decimals` number
          - `metadata` object
            - `logoURI` string
            - `verified` boolean
            - `isNative` boolean
      - `fees` object, nullable — Breakdown of fees by component, with quoted and actual values
        - `quoted` object — Fees as estimated at quote time
          - `swap` object — Cost to execute swap or bridge depending on available liquidity. This value can be negative (representing network rewards for improving liquidity distribution)
            - `usd` string
            - `amount` string
            - `amountFormatted` string
          - `execution` object — Fees paid to cover transaction execution costs
            - `usd` string
            - `amount` string
            - `amountFormatted` string
          - `platform` object — Fees paid to the protocol
            - `usd` string
            - `amount` string
            - `amountFormatted` string
          - `app` object — Fees paid to the app. Currency will be the same as the relayer fee currency. This needs to be claimed later by the app owner and is not immediately distributed to the app
            - `usd` string
            - `amount` string
            - `amountFormatted` string
          - `sponsored` object — Fees paid by a sponsor for this request
            - `usd` string
            - `amount` string
            - `amountFormatted` string
        - `actual` object — Fees as computed at fill time
          - `swap` object — Cost to execute swap or bridge depending on available liquidity. This value can be negative (representing network rewards for improving liquidity distribution)
            - `usd` string
            - `amount` string
            - `amountFormatted` string
          - `execution` object — Fees paid to cover transaction execution costs
            - `usd` string
            - `amount` string
            - `amountFormatted` string
          - `platform` object — Fees paid to the protocol
            - `usd` string
            - `amount` string
            - `amountFormatted` string
          - `app` object — Fees paid to the app. Currency will be the same as the relayer fee currency. This needs to be claimed later by the app owner and is not immediately distributed to the app
            - `usd` string
            - `amount` string
            - `amountFormatted` string
          - `sponsored` object — Fees paid by a sponsor for this request
            - `usd` string
            - `amount` string
            - `amountFormatted` string
        - `currency` object
          - `chainId` number
          - `address` string
          - `symbol` string
          - `name` string
          - `decimals` number
          - `metadata` object
            - `logoURI` string
            - `verified` boolean
            - `isNative` boolean
      - `platformFee` object, nullable — Platform fee — only returned when the caller authenticates as the request's creator integrator.
      - `referrer` string, nullable — Referrer — only returned when the caller authenticates as the request's creator integrator.
      - `apiKeyName` string, nullable — API key name — only returned when the caller authenticates as the request's creator integrator.
      - `route` object, nullable
        - `includedSwapSources` string[]
        - `includedOriginSwapSources` string[]
        - `includedDestinationSwapSources` string[]
        - `quoted` object, nullable
          - `origin` object, nullable
            - `inputCurrency` object, nullable
              - …
            - `outputCurrency` object, nullable
              - …
            - `router` string
          - `destination` object, nullable
            - `inputCurrency` object, nullable
              - …
            - `outputCurrency` object, nullable
              - …
            - `router` string
        - `actual` object, nullable
          - `origin` object, nullable
            - `inputCurrency` object, nullable
              - …
            - `outputCurrency` object, nullable
              - …
            - `router` string
          - `destination` object, nullable
            - `inputCurrency` object, nullable
              - …
            - `outputCurrency` object, nullable
              - …
            - `router` string
            - `currencyGasTopup` object
              - …
          - `rate` string
      - `quoteOraclePrice` object, nullable — Oracle price snapshot at quote time, only returned for fixed-BPS oracle integrators.
        - `rate` string
        - `observedAt` string
        - `inputCurrency` object
          - `currency` object
            - `chainId` number
            - `address` string
            - `symbol` string
            - `name` string
            - `decimals` number
            - `metadata` object
              - …
          - `amount` string
          - `amountFormatted` string
          - `amountUsd` string
          - `minimumAmount` string
        - `outputCurrency` object
          - `currency` object
            - `chainId` number
            - `address` string
            - `symbol` string
            - `name` string
            - `decimals` number
            - `metadata` object
              - …
          - `amount` string
          - `amountFormatted` string
          - `amountUsd` string
          - `minimumAmount` string
      - `refundCurrencyData` object, nullable
        - `currency` object
          - `chainId` number
          - `address` string
          - `symbol` string
          - `name` string
          - `decimals` number
          - `metadata` object
            - `logoURI` string
            - `verified` boolean
            - `isNative` boolean
        - `amount` string
        - `amountFormatted` string
        - `amountUsd` string
        - `minimumAmount` string
      - `externalMetadata` object
        - `moonpayId` string, nullable
    - `protocol` object, nullable
      - `orderId` string — The protocol-level deposit identifier passed as `bytes32 id` to the Relay Depository.
      - `hubType` 'onchain'
      - `isWithdrawable` boolean
      - `solver` object
        - `address` string
        - `protocolChainId` string
        - `chainId` number
      - `deposit` object
        - `origin` object
          - `amount` string
          - `chainId` number
          - `currency` string
          - `depositor` string
          - `depository` string
          - `onchainId` string
          - `transactionId` string
        - `relay` object
          - `amount` string
          - `chainId` number
          - `currency` string
          - `hash` string
          - `operation` 'mint'
          - `tokenMetadata` object
            - `decimals` number
            - `name` string
            - `symbol` string
        - `attestation` object
          - `execution` object
            - `actions` string[]
            - `idempotencyKey` string
          - `attestations` object[]
            - `oracleChainId` string
            - `oracleContract` string
            - `signerAddress` string
            - `signature` string
      - `settlement` object
        - `destination` object
          - `fills` object[]
            - `chainId` number
            - `transactionId` string
          - `refunds` object[]
            - `chainId` number
            - `transactionId` string
        - `relay` object
          - `amount` string
          - `chainId` number
          - `currency` string
          - `hash` string
          - `operation` 'transfer' | 'burn' | 'mixed'
          - `solver` string
          - `tokenMetadata` object
            - `decimals` number
            - `name` string
            - `symbol` string
        - `attestation` object
          - `execution` object
            - `actions` string[]
            - `idempotencyKey` string
          - `attestations` object[]
            - `oracleChainId` string
            - `oracleContract` string
            - `signerAddress` string
            - `signature` string
    - `requestType` string, nullable
    - `features` string[]
    - `createdAt` string
    - `updatedAt` string
  - `continuation` string
  - `total` number — Total count of requests matching the given filters. Only present when `includeTotal` was true.

---

[API](https://skmtc.net/relay/apis/cross-chain-solver.md) · [All operations](https://skmtc.net/relay/apis/cross-chain-solver/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/relay/cross-chain-solver/revisions/428d669c2830/schema)
