---
title: "Start a rebalancing transaction"
method: POST
path: "/rebalancing/start"
tags: ["Execution"]
---

# Start a rebalancing transaction

`POST /rebalancing/start`

## Request body

- RebalancingStartInput
  - `$schema` string, uri — A URL to the JSON Schema for this object.
  - `deposit_routes` CalculateResponse[], required
    - `in` QuoteParams, required
      - `adjusted_amount` string
      - `amount_in` string — Amount of the token to be deposited
      - `bridge_slippage` integer — Slippage taken on bridge action in bps, between 0.5% and 50%
      - `contract_address` string
      - `destination` string
      - `exclude_ambs` integer[] — List of AMB IDs to exclude from the route. See output of /supported for AMB IDs.
      - `exclude_bridges` integer[] — List of bridge IDs to exclude from the route. See output of /supported for bridge IDs.
      - `exclude_dexes` integer[] — List of dex IDs to exclude from the route. See output of /supported for dex IDs.
      - `exclude_liquidity_providers` integer[] — List of liquidity provider IDs to exclude from the route. See output of /supported for liquidity provider IDs.
      - `filter_swap_routes` boolean — If true, any route that contains a destination swap will be filtered out. Reduces chances of a deposit failing due to route unavailability.
      - `form_implementation_id` string
      - `from_address` string
      - `from_amount` string
      - `from_chain_id` integer — Chain ID of the source chain
      - `from_token_address` string — Address of the source token
      - `gas_estimate` ChainGasEstimate
        - `estimated_seconds` integer, required
        - `gas_price_usd` string, required
      - `has_dst_swap` boolean
      - `is_erc20` boolean
      - `is_part_of_multi_vault` boolean — Flag to indicate if the request is part of a multi-vault deposit or withdrawal
      - `is_same_route` boolean
      - `is_x_chain` boolean
      - `max_slippage` integer
      - `method` string
      - `need_insurance` boolean — If true, only returns insurable routes.
      - `output_amount_for_withdraw` string
      - `output_amount_normalized` string
      - `permit2` string
      - `positive_slippage` integer — Swap surplus in bps, between 1% and 100%. See help.superform.xyz for more.
      - `refund_address` string — Address on the destination chain to which the refund should be made, if needed.
      - `retain_4626` boolean — Flag to indicate if the user wants to hold vault shares or not
      - `route_type` 'time' | 'output' | 'gas'
      - `superform_address` string
      - `superform_id` string — Must provide either vault_id or superform_id
      - `superpositions_amount_in` string — Amount of the superposition to be withdrawn
      - `superpositions_chain_id` integer
      - `swap_slippage` integer — Slippage taken on dex action in bps, between 0.5% and 50%
      - `to_chain_id` integer — Chain ID of the destination chain
      - `to_token_address` string — Address of the destination token
      - `transaction_type` string
      - `user_address` string, required
      - `vault_decimals` integer
      - `vault_id` string — Must provide either vault_id or superform_id
      - `vault_token` string
    - `liq` VaultRoute, required
      - `ok` boolean, required
      - `route_error` string
      - `routes` Route[]
        - `bridge` RouteBridge
          - `logo` string, required
          - `name` string, required
        - `bridge_id` integer, required
        - `cross_chain_fee` number, double, required
        - `dex` RouteDex
          - `logo` string, required
          - `name` string, required
        - `erc20_route_approval_target` string
        - `estimate_time` number, double, required
        - `from_address` string, required
        - `from_amount` string, required
        - `from_chain_id` integer, required
        - `from_token` RouteToken, required
          - `address` string, required
          - `chain_id` integer, required
          - `decimals` integer, required
          - `logo_uri` string
          - `name` string, required
          - `symbol` string, required
        - `gas_cost_usd` string, required
        - `has_swap` boolean, required
        - `insurable_route` boolean, required
        - `interim_token` string
        - `interim_token_amount` string
        - `is_erc20` boolean, required
        - `lifi_route_first_step` LifiRouteStep
          - `action` LifiAction, required
            - `fromAddress` string
            - `fromAmount` string, required
            - `fromChainId` integer, required
            - `fromToken` LifiToken, required
              - …
            - `slippage` number, double, required
            - `toAddress` string
            - `toChainId` integer, required
            - `toToken` LifiToken, required
              - …
          - `estimate` LifiEstimate, required
            - `approvalAddress` string, required
            - `executionDuration` number, double, required
            - `feeCosts` LiFiFee[]
              - …
            - `fromAmount` string, required
            - `fromAmountUSD` string, required
            - `gasCosts` GasCostItem[]
              - …
            - `toAmount` string, required
            - `toAmountMin` string, required
            - `toAmountUSD` string, required
            - `tool` string, required
            - `toolData` LifiEstimateToolDataStruct, required
              - …
          - `id` string, required
          - `includedSteps` Item[], required
            - `action` LifiAction, required
              - …
            - `estimate` LifiEstimate, required
              - …
            - `id` string, required
            - `tool` string, required
            - `toolDetails` ToolDetailsStruct, required
              - …
            - `type` string, required
          - `integrator` string, required
          - `routesRequestId` string, required
          - `tool` string, required
          - `toolDetails` LifiRouteStepToolDetailsStruct, required
            - `key` string, required
            - `logoURI` string, required
            - `name` string, required
          - `type` string, required
        - `route_id` string, byte, required
        - `service` RouteService
          - `logo` string, required
          - `name` string, required
        - `super_position` SuperPositionEstimate
          - `amount` string
          - `symbol` string
          - `usd_value` number, double
        - `to_address` string, required
        - `to_amount` string, required
        - `to_amount_min` string, required
        - `to_amount_usd` string, required
        - `to_chain_id` integer, required
        - `to_token` RouteToken, required
          - `address` string, required
          - `chain_id` integer, required
          - `decimals` integer, required
          - `logo_uri` string
          - `name` string, required
          - `symbol` string, required
      - `vault_id` string, required
  - `interim_asset` string, required
  - `receiver_address_sp` string, required
  - `slippage` integer, required
  - `user_address` string, required
  - `withdraw_routes` CalculateResponse[], required
    - `in` QuoteParams, required
      - `adjusted_amount` string
      - `amount_in` string — Amount of the token to be deposited
      - `bridge_slippage` integer — Slippage taken on bridge action in bps, between 0.5% and 50%
      - `contract_address` string
      - `destination` string
      - `exclude_ambs` integer[] — List of AMB IDs to exclude from the route. See output of /supported for AMB IDs.
      - `exclude_bridges` integer[] — List of bridge IDs to exclude from the route. See output of /supported for bridge IDs.
      - `exclude_dexes` integer[] — List of dex IDs to exclude from the route. See output of /supported for dex IDs.
      - `exclude_liquidity_providers` integer[] — List of liquidity provider IDs to exclude from the route. See output of /supported for liquidity provider IDs.
      - `filter_swap_routes` boolean — If true, any route that contains a destination swap will be filtered out. Reduces chances of a deposit failing due to route unavailability.
      - `form_implementation_id` string
      - `from_address` string
      - `from_amount` string
      - `from_chain_id` integer — Chain ID of the source chain
      - `from_token_address` string — Address of the source token
      - `gas_estimate` ChainGasEstimate
        - `estimated_seconds` integer, required
        - `gas_price_usd` string, required
      - `has_dst_swap` boolean
      - `is_erc20` boolean
      - `is_part_of_multi_vault` boolean — Flag to indicate if the request is part of a multi-vault deposit or withdrawal
      - `is_same_route` boolean
      - `is_x_chain` boolean
      - `max_slippage` integer
      - `method` string
      - `need_insurance` boolean — If true, only returns insurable routes.
      - `output_amount_for_withdraw` string
      - `output_amount_normalized` string
      - `permit2` string
      - `positive_slippage` integer — Swap surplus in bps, between 1% and 100%. See help.superform.xyz for more.
      - `refund_address` string — Address on the destination chain to which the refund should be made, if needed.
      - `retain_4626` boolean — Flag to indicate if the user wants to hold vault shares or not
      - `route_type` 'time' | 'output' | 'gas'
      - `superform_address` string
      - `superform_id` string — Must provide either vault_id or superform_id
      - `superpositions_amount_in` string — Amount of the superposition to be withdrawn
      - `superpositions_chain_id` integer
      - `swap_slippage` integer — Slippage taken on dex action in bps, between 0.5% and 50%
      - `to_chain_id` integer — Chain ID of the destination chain
      - `to_token_address` string — Address of the destination token
      - `transaction_type` string
      - `user_address` string, required
      - `vault_decimals` integer
      - `vault_id` string — Must provide either vault_id or superform_id
      - `vault_token` string
    - `liq` VaultRoute, required
      - `ok` boolean, required
      - `route_error` string
      - `routes` Route[]
        - `bridge` RouteBridge
          - `logo` string, required
          - `name` string, required
        - `bridge_id` integer, required
        - `cross_chain_fee` number, double, required
        - `dex` RouteDex
          - `logo` string, required
          - `name` string, required
        - `erc20_route_approval_target` string
        - `estimate_time` number, double, required
        - `from_address` string, required
        - `from_amount` string, required
        - `from_chain_id` integer, required
        - `from_token` RouteToken, required
          - `address` string, required
          - `chain_id` integer, required
          - `decimals` integer, required
          - `logo_uri` string
          - `name` string, required
          - `symbol` string, required
        - `gas_cost_usd` string, required
        - `has_swap` boolean, required
        - `insurable_route` boolean, required
        - `interim_token` string
        - `interim_token_amount` string
        - `is_erc20` boolean, required
        - `lifi_route_first_step` LifiRouteStep
          - `action` LifiAction, required
            - `fromAddress` string
            - `fromAmount` string, required
            - `fromChainId` integer, required
            - `fromToken` LifiToken, required
              - …
            - `slippage` number, double, required
            - `toAddress` string
            - `toChainId` integer, required
            - `toToken` LifiToken, required
              - …
          - `estimate` LifiEstimate, required
            - `approvalAddress` string, required
            - `executionDuration` number, double, required
            - `feeCosts` LiFiFee[]
              - …
            - `fromAmount` string, required
            - `fromAmountUSD` string, required
            - `gasCosts` GasCostItem[]
              - …
            - `toAmount` string, required
            - `toAmountMin` string, required
            - `toAmountUSD` string, required
            - `tool` string, required
            - `toolData` LifiEstimateToolDataStruct, required
              - …
          - `id` string, required
          - `includedSteps` Item[], required
            - `action` LifiAction, required
              - …
            - `estimate` LifiEstimate, required
              - …
            - `id` string, required
            - `tool` string, required
            - `toolDetails` ToolDetailsStruct, required
              - …
            - `type` string, required
          - `integrator` string, required
          - `routesRequestId` string, required
          - `tool` string, required
          - `toolDetails` LifiRouteStepToolDetailsStruct, required
            - `key` string, required
            - `logoURI` string, required
            - `name` string, required
          - `type` string, required
        - `route_id` string, byte, required
        - `service` RouteService
          - `logo` string, required
          - `name` string, required
        - `super_position` SuperPositionEstimate
          - `amount` string
          - `symbol` string
          - `usd_value` number, double
        - `to_address` string, required
        - `to_amount` string, required
        - `to_amount_min` string, required
        - `to_amount_usd` string, required
        - `to_chain_id` integer, required
        - `to_token` RouteToken, required
          - `address` string, required
          - `chain_id` integer, required
          - `decimals` integer, required
          - `logo_uri` string
          - `name` string, required
          - `symbol` string, required
      - `vault_id` string, required

## Response `200`

OK

- RebalanceStartTransactionResponse
  - `$schema` string, uri — A URL to the JSON Schema for this object.
  - `payment` RebalancingPayment, required
    - `deposit_amount` string, required
    - `total_amount` string, required
    - `total_amount_usd` number, double, required
    - `withdraw_amount` string, required
  - `to` string, required
  - `tx_data` string, required

## Other responses

- `default` — Error

---

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