---
title: "Discover advanced route plans"
method: POST
path: "/v1/advanced/routes"
tags: ["Advanced"]
---

# Discover advanced route plans

`POST /v1/advanced/routes`

Returns ranked route plans with explicit steps. These routes are estimates; call `/v1/advanced/stepTransaction` for each selected step to get live executable transaction data.

## Headers

- `x-api-key` string

## Request body

- AdvancedRoutesRequestDto
  - `senderAddress` string, required — Sender wallet address on the origin chain.
  - `receiverAddress` string — Receiver wallet address. Defaults to `senderAddress` for same chain-type routes (`EVM -> EVM` or `SVM -> SVM`) and is required when crossing chain types (`EVM -> SVM` or `SVM -> EVM`).
  - `originChainId` number, required — Origin chain ID.
  - `destinationChainId` number, required — Destination chain ID.
  - `amount` string, required — Exact input amount in token base units as a positive integer string, before Delora and integrator fees.
  - `originCurrency` string, required — Origin token address, or native asset marker supported by the backend.
  - `destinationCurrency` string, required — Destination token address, or native asset marker supported by the backend.
  - `integrator` string — Integrator identifier used for fee attribution. Required when `fee` is provided.
  - `fee` number — Optional integrator fee fraction taken from the input amount. `0.01` means 1%. Must be between `0` and `0.1` inclusive and can be provided only with `integrator`.
  - `slippage` number — Optional slippage fraction. `0.005` means 0.5%.
  - `includeBridges` string — Comma-separated bridge adapter keys from `/v1/tools` to include. Only bridge-capable or multi-capability adapters are valid.
  - `includeExchanges` string — Comma-separated exchange adapter keys from `/v1/tools` to include. Only exchange-capable or multi-capability adapters are valid.
  - `excludeBridges` string — Comma-separated bridge adapter keys from `/v1/tools` to exclude. Only bridge-capable or multi-capability adapters are valid.
  - `excludeExchanges` string — Comma-separated exchange adapter keys from `/v1/tools` to exclude. Only exchange-capable or multi-capability adapters are valid.
  - `maxRoutes` number — Maximum number of ranked advanced routes to return.

## Response `200`

Ranked advanced route plans.

- AdvancedRoutesResponseDto
  - `routes` AdvancedRouteDto[], required — Ranked route plans. Each route contains one or more estimated steps.
    - `id` string, required
    - `routeKind` 'single-step' | 'multistep', required
    - `inputAmount` string, required
    - `outputAmount` string, required
    - `minOutputAmount` string, required
    - `estimatedTimeSec` number
    - `fees` ParsedFeesDto, required
      - `total` ParsedFeesTotalCurrencyDto, required
        - `amount` string, required
        - `currencySymbol` string, required
        - `currencyAddress` string, required
        - `chainId` number, required
        - `decimals` number
      - `breakdown` ParsedFeesBreakdownItemDto[], required
        - `amount` string, required
        - `currencySymbol` string, required
        - `currencyAddress` string, required
        - `chainId` number, required
        - `decimals` number
        - `type` 'gas' | 'relayer' | 'relayerGas' | 'relayerService' | 'capital' | 'lp' | 'app' | 'total', required
        - `amountUsd` string
      - `totalUsd` string
    - `warnings` QuoteWarningDto[]
      - `code` 'INTEGRATOR_SOLANA_WALLET_NOT_ACTIVATED_FEE_SKIPPED' | 'INTEGRATOR_WALLET_NOT_CONFIGURED_FEE_SKIPPED' | 'SOLANA_SYSTEM_ACCOUNT_SKIPPED' | 'SOLANA_INSUFFICIENT_BALANCE' | 'SOLANA_SIMULATION_FAILED', required
      - `message` string, required
    - `adapter` string, required
    - `isMultistep` boolean, required
    - `steps` AdvancedRouteStepDto[], required — Ordered route steps. Pass the selected step to `POST /v1/advanced/stepTransaction` immediately before signing.
      - `id` string, required
      - `routeId` string, required
      - `type` 'swap' | 'bridge', required
      - `tool` string, required
      - `action` AdvancedStepActionDto, required
        - `fromChainId` number, required
        - `toChainId` number, required
        - `fromToken` AdvancedTokenRefDto, required
          - `address` string, required
          - `symbol` string, required
          - `decimals` number, required
          - `chainId` number, required
        - `toToken` AdvancedTokenRefDto, required
          - `address` string, required
          - `symbol` string, required
          - `decimals` number, required
          - `chainId` number, required
        - `fromAmount` string, required
        - `slippage` number
        - `fromAddress` string
        - `toAddress` string
      - `estimate` AdvancedStepEstimateDto, required
        - `fromAmount` string, required
        - `quoteFromAmount` string
        - `toAmount` string, required
        - `toAmountMin` string, required
        - `estimatedTimeSec` number
        - `fees` ParsedFeesDto, required
          - `total` ParsedFeesTotalCurrencyDto, required
            - `amount` string, required
            - `currencySymbol` string, required
            - `currencyAddress` string, required
            - `chainId` number, required
            - `decimals` number
          - `breakdown` ParsedFeesBreakdownItemDto[], required
            - `amount` string, required
            - `currencySymbol` string, required
            - `currencyAddress` string, required
            - `chainId` number, required
            - `decimals` number
            - `type` 'gas' | 'relayer' | 'relayerGas' | 'relayerService' | 'capital' | 'lp' | 'app' | 'total', required
            - `amountUsd` string
          - `totalUsd` string
        - `approvalAddress` string
        - `simulatedToAmount` string
        - `simulation` SimulationDto
          - `source` 'TENDERLY' | 'RPC' | 'SOLANA_RUNTIME' | 'NONE', required
          - `executionStatus` 'SUCCESS' | 'REVERTED' | 'TIMEOUT' | 'SKIPPED' | 'UNSUPPORTED' | 'ERROR', required
          - `outputValidation` 'VERIFIED' | 'UNVERIFIABLE' | 'NOT_SIMULATED', required
          - `simulatedOutputAmount` string
          - `advertisedOutputAmount` string, required
          - `deviation` SimulationDeviationDto
            - `absolute` string, required — Simulated output minus advertised output in raw units.
            - `bps` number, required — Signed basis points. Negative means the adapter overstated output.
            - `percent` string, required
          - `gasUsed` string
          - `reason` string
          - `latencyMs` number, required
          - `providerResults` SimulationProviderResultDto[], required
            - `source` 'TENDERLY' | 'RPC' | 'SOLANA_RUNTIME' | 'NONE', required
            - `executionStatus` 'SUCCESS' | 'REVERTED' | 'TIMEOUT' | 'SKIPPED' | 'UNSUPPORTED' | 'ERROR', required
            - `outputValidation` 'VERIFIED' | 'UNVERIFIABLE' | 'NOT_SIMULATED', required
            - `simulatedOutputAmount` string
            - `deviation` SimulationDeviationDto
              - …
            - `gasUsed` string
            - `reason` string
            - `latencyMs` number, required
      - `integrator` string
      - `fee` number
      - `execution` AdvancedStepExecutionOptionsDto, required
        - `applyFee` boolean, required
        - `requiresPreviousStepAmount` boolean
        - `quoteRequest` object
        - `routeRequest` object
      - `warnings` QuoteWarningDto[]
        - `code` 'INTEGRATOR_SOLANA_WALLET_NOT_ACTIVATED_FEE_SKIPPED' | 'INTEGRATOR_WALLET_NOT_CONFIGURED_FEE_SKIPPED' | 'SOLANA_SYSTEM_ACCOUNT_SKIPPED' | 'SOLANA_INSUFFICIENT_BALANCE' | 'SOLANA_SIMULATION_FAILED', required
        - `message` string, required
      - `bridgeScan` BridgeScanMetadataDto
      - `transactionRequest` AdvancedTransactionRequestDto
        - `to` string, required
        - `data` string
        - `value` string, required
        - `gas` GasEstimationDto
          - `gasPrice` string
          - `maxFeePerGas` string
          - `maxPriorityFeePerGas` string
        - `transactionSize` object
          - `raw` number
          - `encoded` number
    - `simulation` SimulationDto
      - `source` 'TENDERLY' | 'RPC' | 'SOLANA_RUNTIME' | 'NONE', required
      - `executionStatus` 'SUCCESS' | 'REVERTED' | 'TIMEOUT' | 'SKIPPED' | 'UNSUPPORTED' | 'ERROR', required
      - `outputValidation` 'VERIFIED' | 'UNVERIFIABLE' | 'NOT_SIMULATED', required
      - `simulatedOutputAmount` string
      - `advertisedOutputAmount` string, required
      - `deviation` SimulationDeviationDto
        - `absolute` string, required — Simulated output minus advertised output in raw units.
        - `bps` number, required — Signed basis points. Negative means the adapter overstated output.
        - `percent` string, required
      - `gasUsed` string
      - `reason` string
      - `latencyMs` number, required
      - `providerResults` SimulationProviderResultDto[], required
        - `source` 'TENDERLY' | 'RPC' | 'SOLANA_RUNTIME' | 'NONE', required
        - `executionStatus` 'SUCCESS' | 'REVERTED' | 'TIMEOUT' | 'SKIPPED' | 'UNSUPPORTED' | 'ERROR', required
        - `outputValidation` 'VERIFIED' | 'UNVERIFIABLE' | 'NOT_SIMULATED', required
        - `simulatedOutputAmount` string
        - `deviation` SimulationDeviationDto
          - `absolute` string, required — Simulated output minus advertised output in raw units.
          - `bps` number, required — Signed basis points. Negative means the adapter overstated output.
          - `percent` string, required
        - `gasUsed` string
        - `reason` string
        - `latencyMs` number, required

## Other responses

- `400` — Invalid request parameters.
- `422` — No advanced route could be built for the requested transfer.
- `429` — Rate limit exceeded.

---

[API](https://skmtc.net/deloraprotocol/apis/delora-api.md) · [All operations](https://skmtc.net/deloraprotocol/apis/delora-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/deloraprotocol/delora-api/revisions/99a03dcc3e3b/schema)
