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

# Populate advanced step transaction

> Re-quotes the selected step and returns executable transaction data. For later steps, pass the actual previous step output as `context.previousStepReceivedAmount`.

Use this endpoint to turn one selected advanced route step into executable transaction data.


## OpenAPI

````yaml POST /v1/advanced/stepTransaction
openapi: 3.1.1
info:
  title: Delora API
  description: Delora API
  version: 1.0.0
servers:
  - url: https://api.delora.build
security: []
tags:
  - name: Health
    description: ''
  - name: V1
    description: ''
paths:
  /v1/advanced/stepTransaction:
    post:
      tags:
        - Advanced
      summary: Populate an advanced route step transaction
      description: >-
        Re-quotes the selected step and returns executable transaction data. For
        later steps, pass the actual previous step output as
        `context.previousStepReceivedAmount`.
      operationId: getAdvancedStepTransaction
      parameters:
        - name: x-api-key
          in: header
          description: Optional API key for higher rate limits and fee rules.
          required: false
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AdvancedStepTransactionRequestDto'
            examples:
              firstStep:
                summary: Populate a selected route step
                value:
                  step:
                    id: advanced-route:0
                    routeId: advanced-route
                    type: bridge
                    tool: RELAY
                    action:
                      fromChainId: 8453
                      toChainId: 42161
                      fromToken:
                        address: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
                        symbol: USDC
                        decimals: 6
                        chainId: 8453
                      toToken:
                        address: '0xaf88d065e77c8cC2239327C5EDb3A432268e5831'
                        symbol: USDC
                        decimals: 6
                        chainId: 42161
                      fromAmount: '1000000'
                    estimate:
                      fromAmount: '1000000'
                      toAmount: '997321'
                      toAmountMin: '992334'
                      fees:
                        total:
                          amount: '0'
                          currencySymbol: USDC
                          currencyAddress: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
                          chainId: 8453
                        breakdown: []
                    execution:
                      applyFee: true
                  context:
                    senderAddress: '0x1111111111111111111111111111111111111111'
                    receiverAddress: '0x2222222222222222222222222222222222222222'
      responses:
        '200':
          description: Populated advanced step with executable transaction data.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PopulatedAdvancedStepDto'
        '400':
          description: Invalid step payload or no quote for the selected step.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardErrorResponseDto'
        '429':
          description: Rate limit exceeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardErrorResponseDto'
              examples:
                rateLimitExceeded:
                  summary: Rate limit exceeded
                  value:
                    statusCode: 429
                    code: RATE_LIMIT
                    message: Rate limit exceeded. Please try again later.
                    details:
                      message: Rate limit exceeded. Please try again later.
                    timestamp: '2026-05-15T16:58:45.603Z'
                    path: /v1/advanced/stepTransaction
components:
  schemas:
    AdvancedStepTransactionRequestDto:
      type: object
      properties:
        step:
          $ref: '#/components/schemas/AdvancedRouteStepDto'
          description: Step object from a route returned by `POST /v1/advanced/routes`.
        context:
          $ref: '#/components/schemas/AdvancedExecutionContextDto'
          description: >-
            Runtime wallet and amount context used to re-quote and populate the
            selected step.
      required:
        - step
        - context
    PopulatedAdvancedStepDto:
      allOf:
        - $ref: '#/components/schemas/AdvancedRouteStepDto'
        - type: object
          properties:
            transactionRequest:
              $ref: '#/components/schemas/AdvancedTransactionRequestDto'
          required:
            - transactionRequest
    StandardErrorResponseDto:
      type: object
      properties:
        statusCode:
          type: number
          example: 400
        code:
          enum:
            - NO_AVAILABLE_QUOTES
            - WRONG_ADDRESS
            - RATE_LIMIT
            - ADAPTER_BAD_REQUEST
            - ADAPTER_UNAUTHORIZED
            - ADAPTER_INTERNAL
            - VALIDATION_ERROR
            - NOT_FOUND
            - UNKNOWN
          type: string
          description: >-
            Machine-readable Delora error code.

            - NO_AVAILABLE_QUOTES: No bridge or exchange adapter returned an
            executable quote for the requested transfer.

            - WRONG_ADDRESS: A wallet address is missing, malformed, or
            incompatible with the requested chain type.

            - RATE_LIMIT: The request exceeded the configured rate limit for the
            IP address or API key.

            - ADAPTER_BAD_REQUEST: An upstream bridge or exchange adapter
            rejected the request as invalid.

            - ADAPTER_UNAUTHORIZED: An upstream bridge or exchange adapter
            rejected the request because credentials are missing or invalid.

            - ADAPTER_INTERNAL: An upstream bridge or exchange adapter failed
            with an internal error.

            - VALIDATION_ERROR: The request failed Delora API validation,
            including invalid query parameters, body fields, or address formats.

            - NOT_FOUND: The requested chain, token, or resource was not found.

            - UNKNOWN: The request failed with an unexpected error that does not
            map to a more specific code.
          x-enumDescriptions:
            - >-
              No bridge or exchange adapter returned an executable quote for the
              requested transfer.
            - >-
              A wallet address is missing, malformed, or incompatible with the
              requested chain type.
            - >-
              The request exceeded the configured rate limit for the IP address
              or API key.
            - >-
              An upstream bridge or exchange adapter rejected the request as
              invalid.
            - >-
              An upstream bridge or exchange adapter rejected the request
              because credentials are missing or invalid.
            - >-
              An upstream bridge or exchange adapter failed with an internal
              error.
            - >-
              The request failed Delora API validation, including invalid query
              parameters, body fields, or address formats.
            - The requested chain, token, or resource was not found.
            - >-
              The request failed with an unexpected error that does not map to a
              more specific code.
          example: VALIDATION_ERROR
        message:
          type: string
          example: Invalid request parameters
        details:
          description: >-
            Optional error details. When details is an object, `message` can be
            either a string or an array of strings.
          oneOf:
            - type: object
              additionalProperties: true
              properties:
                message:
                  oneOf:
                    - type: string
                    - type: array
                      items:
                        type: string
                  description: >-
                    Human-readable details. Validation errors may return
                    multiple messages.
                errorCode:
                  type: string
                code:
                  oneOf:
                    - type: string
                    - type: number
                status:
                  oneOf:
                    - type: string
                    - type: number
            - type: string
            - type: array
              items:
                type: string
          example:
            message:
              - One or more request parameters are invalid.
        timestamp:
          type: string
          example: '2026-05-13T18:00:00.000Z'
        path:
          type: string
          example: /v1/...
      required:
        - statusCode
        - code
        - message
        - timestamp
    AdvancedRouteStepDto:
      type: object
      properties:
        id:
          type: string
        routeId:
          type: string
        type:
          type: string
          enum:
            - swap
            - bridge
        tool:
          type: string
          example: RELAY
        action:
          $ref: '#/components/schemas/AdvancedStepActionDto'
        estimate:
          $ref: '#/components/schemas/AdvancedStepEstimateDto'
          description: >-
            Estimated result for this route step. Treat it as planning data;
            call `POST /v1/advanced/stepTransaction` before execution.
        integrator:
          type: string
        fee:
          type: number
        execution:
          $ref: '#/components/schemas/AdvancedStepExecutionOptionsDto'
        warnings:
          type: array
          items:
            $ref: '#/components/schemas/QuoteWarningDto'
        bridgeScan:
          $ref: '#/components/schemas/BridgeScanMetadataDto'
          description: >-
            Bridge tracking metadata returned when the selected bridge adapter
            provides it.
        transactionRequest:
          $ref: '#/components/schemas/AdvancedTransactionRequestDto'
          description: >-
            Executable transaction payload returned on a populated step from
            `POST /v1/advanced/stepTransaction`.
      required:
        - id
        - routeId
        - type
        - tool
        - action
        - estimate
        - execution
    AdvancedExecutionContextDto:
      type: object
      properties:
        senderAddress:
          type: string
          description: Wallet address that signs and submits this step.
        receiverAddress:
          type: string
          description: Final receiver wallet address for the route.
        amountOverride:
          type: string
          description: Optional manual input amount override for this live step quote.
        previousStepReceivedAmount:
          type: string
          description: >-
            Actual output amount received from the previous step, in token base
            units. Use this for second and later steps so the next step is
            hydrated with the live received amount.
        slippage:
          type: number
          minimum: 0
          maximum: 1
          description: >-
            Optional slippage override for this live step quote. `0.005` means
            0.5%.
      required:
        - senderAddress
        - receiverAddress
    AdvancedTransactionRequestDto:
      type: object
      properties:
        to:
          type: string
        data:
          type: string
        value:
          type: string
        gas:
          $ref: '#/components/schemas/GasEstimationDto'
        transactionSize:
          type: object
          properties:
            raw:
              type: number
            encoded:
              type: number
      required:
        - to
        - value
    AdvancedStepActionDto:
      type: object
      properties:
        fromChainId:
          type: number
        toChainId:
          type: number
        fromToken:
          $ref: '#/components/schemas/AdvancedTokenRefDto'
        toToken:
          $ref: '#/components/schemas/AdvancedTokenRefDto'
        fromAmount:
          type: string
        slippage:
          type: number
        fromAddress:
          type: string
        toAddress:
          type: string
      required:
        - fromChainId
        - toChainId
        - fromToken
        - toToken
        - fromAmount
    AdvancedStepEstimateDto:
      type: object
      properties:
        fromAmount:
          type: string
        quoteFromAmount:
          type: string
        toAmount:
          type: string
        toAmountMin:
          type: string
        estimatedTimeSec:
          type: number
        fees:
          $ref: '#/components/schemas/ParsedFeesDto'
        approvalAddress:
          type: string
        simulatedToAmount:
          type: string
        simulation:
          $ref: '#/components/schemas/SimulationDto'
      required:
        - fromAmount
        - toAmount
        - toAmountMin
        - fees
    AdvancedStepExecutionOptionsDto:
      type: object
      properties:
        applyFee:
          type: boolean
        requiresPreviousStepAmount:
          type: boolean
        quoteRequest:
          type: object
          additionalProperties: true
        routeRequest:
          type: object
          additionalProperties: true
      required:
        - applyFee
    QuoteWarningDto:
      type: object
      properties:
        code:
          type: string
          enum:
            - INTEGRATOR_SOLANA_WALLET_NOT_ACTIVATED_FEE_SKIPPED
            - INTEGRATOR_WALLET_NOT_CONFIGURED_FEE_SKIPPED
            - SOLANA_SYSTEM_ACCOUNT_SKIPPED
            - SOLANA_INSUFFICIENT_BALANCE
            - SOLANA_SIMULATION_FAILED
          example: SOLANA_INSUFFICIENT_BALANCE
        message:
          type: string
          example: Solana simulation reported insufficient balance.
      required:
        - code
        - message
    BridgeScanMetadataDto:
      type: object
      additionalProperties: true
    GasEstimationDto:
      type: object
      properties:
        gasPrice:
          type: string
          example: '0x3b9aca00'
        maxFeePerGas:
          type: string
          example: '0x59682f00'
        maxPriorityFeePerGas:
          type: string
          example: '0x3b9aca00'
    AdvancedTokenRefDto:
      type: object
      properties:
        address:
          type: string
        symbol:
          type: string
        decimals:
          type: number
        chainId:
          type: number
      required:
        - address
        - symbol
        - decimals
        - chainId
    ParsedFeesDto:
      type: object
      properties:
        total:
          $ref: '#/components/schemas/ParsedFeesTotalCurrencyDto'
        breakdown:
          type: array
          items:
            $ref: '#/components/schemas/ParsedFeesBreakdownItemDto'
        totalUsd:
          type: string
          example: '0.01'
      required:
        - total
        - breakdown
    SimulationDto:
      type: object
      properties:
        source:
          type: string
          enum:
            - TENDERLY
            - RPC
            - SOLANA_RUNTIME
            - NONE
          example: TENDERLY
        executionStatus:
          type: string
          enum:
            - SUCCESS
            - REVERTED
            - TIMEOUT
            - SKIPPED
            - UNSUPPORTED
            - ERROR
          example: SUCCESS
        outputValidation:
          type: string
          enum:
            - VERIFIED
            - UNVERIFIABLE
            - NOT_SIMULATED
          example: VERIFIED
        simulatedOutputAmount:
          type: string
          example: '996100'
        advertisedOutputAmount:
          type: string
          example: '997321'
        deviation:
          $ref: '#/components/schemas/SimulationDeviationDto'
        gasUsed:
          type: string
          example: '142331'
        reason:
          type: string
          example: Simulation exceeded budget
        latencyMs:
          type: number
          example: 712
        providerResults:
          type: array
          items:
            $ref: '#/components/schemas/SimulationProviderResultDto'
      required:
        - source
        - executionStatus
        - outputValidation
        - advertisedOutputAmount
        - latencyMs
        - providerResults
    ParsedFeesTotalCurrencyDto:
      type: object
      properties:
        amount:
          type: string
          example: '2679'
        currencySymbol:
          type: string
          example: USDC
        currencyAddress:
          type: string
          example: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
        chainId:
          type: number
          example: 8453
        decimals:
          type: number
          example: 6
      required:
        - amount
        - currencySymbol
        - currencyAddress
        - chainId
    ParsedFeesBreakdownItemDto:
      type: object
      properties:
        amount:
          type: string
          example: '2679'
        currencySymbol:
          type: string
          example: USDC
        currencyAddress:
          type: string
          example: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
        chainId:
          type: number
          example: 8453
        decimals:
          type: number
          example: 6
        type:
          type: string
          enum:
            - gas
            - relayer
            - relayerGas
            - relayerService
            - capital
            - lp
            - app
            - total
          example: gas
        amountUsd:
          type: string
          example: '0.01'
      required:
        - amount
        - currencySymbol
        - currencyAddress
        - chainId
        - type
    SimulationDeviationDto:
      type: object
      properties:
        absolute:
          type: string
          example: '-1200'
          description: Simulated output minus advertised output in raw units.
        bps:
          type: number
          example: -12
          description: Signed basis points. Negative means the adapter overstated output.
        percent:
          type: string
          example: '-0.12%'
      required:
        - absolute
        - bps
        - percent
    SimulationProviderResultDto:
      type: object
      properties:
        source:
          type: string
          enum:
            - TENDERLY
            - RPC
            - SOLANA_RUNTIME
            - NONE
          example: TENDERLY
        executionStatus:
          type: string
          enum:
            - SUCCESS
            - REVERTED
            - TIMEOUT
            - SKIPPED
            - UNSUPPORTED
            - ERROR
          example: SUCCESS
        outputValidation:
          type: string
          enum:
            - VERIFIED
            - UNVERIFIABLE
            - NOT_SIMULATED
          example: VERIFIED
        simulatedOutputAmount:
          type: string
          example: '996100'
        deviation:
          $ref: '#/components/schemas/SimulationDeviationDto'
        gasUsed:
          type: string
          example: '142331'
        reason:
          type: string
          example: Exceeded 700ms
        latencyMs:
          type: number
          example: 312
      required:
        - source
        - executionStatus
        - outputValidation
        - latencyMs

````