Enso shortcuts API
The shortcuts API from Enso — 5 operation(s) for shortcuts.
The shortcuts API from Enso — 5 operation(s) for shortcuts.
openapi: 3.0.0
info:
title: Enso ccip shortcuts API
description: '#### Enso API
- Find detailed documentation on [docs.enso.finance](https://docs.enso.finance).
- To use the API, **you must include your API Key in the Authorization header** (Bearer format).
- For testing, Swagger pre-authorizes you using the key: `1e02632d-6feb-4a75-a157-documentation` (1rps).
- Get your own API Key at [enso.finance/developers](https://developers.enso.build/).'
version: '1.0'
contact: {}
servers:
- url: https://api.enso.finance
security:
- bearer: []
tags:
- name: shortcuts
description: ''
paths:
/api/v1/shortcuts/route:
get:
operationId: RouterController_routeShortcutTransaction
summary: Find optimal route between tokens (direct routes, zaps)
parameters:
- name: chainId
required: true
in: query
description: Chain ID of the network to execute the transaction on
schema:
default: 1
type: number
- name: fromAddress
required: true
in: query
description: Ethereum address of the wallet to send the transaction from
schema:
default: '0xd8da6bf26964af9d7eed9e03e53415d37aa96045'
type: string
- name: routingStrategy
required: false
in: query
description: Routing strategy to use
schema:
nullable: true
enum:
- ensowallet-v2
- router
- delegate
- router-legacy
- delegate-legacy
type: string
- name: executionMode
required: false
in: query
description: Controls how quote is built based on execution mode
schema:
default: user
enum:
- user
- backend
type: string
- name: toEoa
required: false
in: query
description: Flag that indicates if gained tokenOut should be sent to EOA
deprecated: true
schema:
nullable: true
type: boolean
- name: receiver
required: false
in: query
description: Ethereum address of the receiver of the tokenOut
schema:
example: '0xd8da6bf26964af9d7eed9e03e53415d37aa96045'
type: string
- name: spender
required: false
in: query
description: Ethereum address of the spender of the tokenIn
schema:
example: '0xd8da6bf26964af9d7eed9e03e53415d37aa96045'
type: string
- name: refundReceiver
required: false
in: query
description: Ethereum address of the receiver of any dust tokens that might be produced during the execution of actions
schema:
example: '0xd8da6bf26964af9d7eed9e03e53415d37aa96045'
type: string
- name: amountIn
required: true
in: query
description: Amount of tokenIn to swap in wei
schema:
example:
- '1000000000000000000'
type: array
items:
type: string
- name: minAmountOut
required: false
in: query
description: Minimum amount out in wei. If specified, slippage should not be specified
schema:
default: null
type: array
items:
type: string
- name: slippage
required: false
in: query
description: Slippage in basis points (1/10000). e.g. 50 = 0.50%. If specified, minAmountOut should not be specified
schema:
default: '50'
example: '300'
type: string
- name: fee
required: false
in: query
description: Fee in basis points (1/10000) for each amountIn value. Must be in range 0-100. If specified, this percentage of each amountIn value will be sent to feeReceiver
schema:
example:
- '100'
type: array
items:
type: string
- name: feeReceiver
required: false
in: query
description: The Ethereum address that will receive the collected fee. Required if fee is provided
schema:
example: '0x220866B1A2219f40e72f5c628B65D54268cA3A9D'
type: string
- name: ignoreAggregators
required: false
in: query
description: A list of swap aggregators to be ignored from consideration
schema:
nullable: true
type: array
items:
type: string
- name: ignoreStandards
required: false
in: query
description: A list of standards to be ignored from consideration
schema:
nullable: true
type: array
items:
type: string
- name: ignoreBridges
required: false
in: query
description: A list of bridges to be ignored from consideration (e.g. stargate, ccip, relay)
schema:
default: []
type: array
items:
type: string
- name: referralCode
required: false
in: query
description: Referral code that will be included in an on-chain event.
schema:
maxLength: 16
example: 0123456789ABCDEF
type: string
- name: tokenIn
required: true
in: query
description: Ethereum address of the token to swap from. For ETH, use 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
schema:
example:
- '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee'
type: array
items:
type: string
- name: tokenOut
required: true
in: query
description: Ethereum address of the token to swap to. For ETH, use 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
schema:
example:
- '0x6b175474e89094c44da98b954eedeac495271d0f'
type: array
items:
type: string
- name: destinationChainId
required: false
in: query
description: Chain ID of the network to bridge to and receive tokenOut
schema:
type: number
- name: variableEstimates
required: false
in: query
schema:
additionalProperties:
type: string
default: null
type: object
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/RouteShortcutTransaction'
'400':
description: ''
tags:
- shortcuts
post:
operationId: RouterController_postRouteShortcutTransaction
summary: Find optimal route between tokens (direct routes, zaps)
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/RouteShortcutVariableInputs'
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/RouteShortcutTransaction'
'400':
description: ''
tags:
- shortcuts
/api/v1/shortcuts/route/nontokenized:
get:
operationId: NontokenizedController_routeNontokenizedShorcutTransaction
summary: Find optimal route between token and nontokenized position
parameters:
- name: chainId
required: false
in: query
description: Chain ID of the network to execute the transaction on
schema:
default: 1
example: 80094
type: number
- name: fromAddress
required: true
in: query
description: Ethereum address of the wallet to send the transaction from
schema:
default: '0xd8da6bf26964af9d7eed9e03e53415d37aa96045'
type: string
- name: routingStrategy
required: false
in: query
description: Routing strategy to use
schema:
nullable: true
default: router
enum:
- router
- delegate
- delegate-legacy
- checkout
type: string
- name: referralCode
required: false
in: query
description: Referral code that will be included in an on-chain event.
schema:
maxLength: 16
example: 0123456789ABCDEF
type: string
- name: destinationChainId
required: false
in: query
description: Chain ID of the network to bridge to and receive nontokenized position
schema:
type: number
- name: tokenIn
required: true
in: query
description: Ethereum address of the token to swap from. For ETH, use 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
schema:
example:
- '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee'
type: array
items:
type: string
- name: positionOut
required: true
in: query
description: ID of a non-tokenized position
schema:
type: string
- name: slippage
required: false
in: query
description: Slippage in basis points (1/10000). If specified, minAmountOut should not be specified
schema:
default: '50'
example: '300'
type: string
- name: fee
required: false
in: query
description: Fee in basis points (1/10000) for each amountIn value. Must be in range 0-100. If specified, this percentage of each amountIn value will be sent to feeReceiver
schema:
example:
- '100'
type: array
items:
type: string
- name: feeReceiver
required: false
in: query
description: The Ethereum address that will receive the collected fee. Required if fee is provided
schema:
example: '0x220866B1A2219f40e72f5c628B65D54268cA3A9D'
type: string
- name: ignoreAggregators
required: false
in: query
description: A list of swap aggregators to be ignored from consideration
schema:
nullable: true
type: array
items:
type: string
- name: ignoreBridges
required: false
in: query
description: A list of bridge protocols to be ignored from consideration
schema:
nullable: true
type: array
items:
type: string
- name: ignoreStandards
required: false
in: query
description: A list of standards to be ignored from consideration
schema:
nullable: true
type: array
items:
type: string
- name: amountIn
required: true
in: query
description: Amount of tokenIn to swap in wei
schema:
example:
- '1000000000000000000'
type: array
items:
type: string
- name: receiver
required: true
in: query
description: Ethereum address of the receiver of the positionOut
schema:
example: '0xd8da6bf26964af9d7eed9e03e53415d37aa96045'
type: string
- name: spender
required: false
in: query
description: Ethereum address of the spender of the tokenIn
schema:
example: '0xd8da6bf26964af9d7eed9e03e53415d37aa96045'
type: string
- name: refundReceiver
required: false
in: query
description: Ethereum address of the receiver of any dust tokens that might be produced during the execution of actions
schema:
example: '0xd8da6bf26964af9d7eed9e03e53415d37aa96045'
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/NontokenizedRouteShortcutTransaction'
'400':
description: ''
tags:
- shortcuts
/api/v1/shortcuts/bundle:
post:
operationId: BundleController_bundleShortcutTransaction
summary: Bundle a list of actions into a single transaction
externalDocs:
url: https://docs.enso.build/pages/build/get-started/bundling-actions
description: More end-to-end bundle examples
parameters:
- name: chainId
required: true
in: query
description: Chain ID of the network to execute the transaction on
schema:
default: 1
type: number
- name: fromAddress
required: true
in: query
description: Ethereum address of the wallet to send the transaction from
schema:
default: '0xd8da6bf26964af9d7eed9e03e53415d37aa96045'
type: string
- name: referralCode
required: false
in: query
description: Referral code that will be included in an on-chain event.
schema:
maxLength: 16
example: 0123456789ABCDEF
type: string
- name: routingStrategy
required: false
in: query
description: Routing strategy to use
schema:
nullable: true
enum:
- ensowallet-v2
- router
- delegate
- router-legacy
- delegate-legacy
type: string
- name: executionMode
required: false
in: query
description: Controls how quote is built based on execution mode
schema:
default: user
enum:
- user
- backend
type: string
- name: receiver
required: false
in: query
description: Ethereum address of the receiver of the tokenOut
schema:
example: '0xd8da6bf26964af9d7eed9e03e53415d37aa96045'
type: string
- name: spender
required: false
in: query
description: Ethereum address of the spender of the tokenIn
schema:
example: '0xd8da6bf26964af9d7eed9e03e53415d37aa96045'
type: string
- name: refundReceiver
required: false
in: query
description: Ethereum address of the receiver of any dust tokens that might be produced during the execution of actions
schema:
example: '0xd8da6bf26964af9d7eed9e03e53415d37aa96045'
type: string
- name: ignoreAggregators
required: false
in: query
description: A list of swap aggregators to be ignored from consideration
schema:
nullable: true
type: array
items:
type: string
- name: skipQuote
required: false
in: query
description: Flag to skip quoting (if true, amountOut and gas will not be returned)
schema:
type: boolean
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
oneOf:
- $ref: '#/components/schemas/RouteActionDto'
- $ref: '#/components/schemas/SwapActionDto'
- $ref: '#/components/schemas/BridgeActionDto'
- $ref: '#/components/schemas/BalanceActionDto'
- $ref: '#/components/schemas/ApproveActionDto'
- $ref: '#/components/schemas/TransferActionDto'
- $ref: '#/components/schemas/TransferFromActionDto'
- $ref: '#/components/schemas/PermitTransferFromActionDto'
- $ref: '#/components/schemas/DepositActionDto'
- $ref: '#/components/schemas/RedeemActionDto'
- $ref: '#/components/schemas/DepositCLMMActionDto'
- $ref: '#/components/schemas/RedeemCLMMActionDto'
- $ref: '#/components/schemas/TokenizedSingleDepositActionDto'
- $ref: '#/components/schemas/TokenizedMultiDepositActionDto'
- $ref: '#/components/schemas/TokenizedSingleRedeemActionDto'
- $ref: '#/components/schemas/TokenizedMultiRedeemActionDto'
- $ref: '#/components/schemas/MultiOutSingleDepositActionDto'
- $ref: '#/components/schemas/CallActionDto'
- $ref: '#/components/schemas/FlashloanActionDto'
- $ref: '#/components/schemas/WithdrawActionDto'
- $ref: '#/components/schemas/SplitActionDto'
- $ref: '#/components/schemas/MergeActionDto'
- $ref: '#/components/schemas/MinAmountOutActionDto'
- $ref: '#/components/schemas/SlippageActionDto'
- $ref: '#/components/schemas/FeeActionDto'
- $ref: '#/components/schemas/EnsoFeeActionDto'
- $ref: '#/components/schemas/PaymasterFeeActionDto'
- $ref: '#/components/schemas/RepayActionDto'
- $ref: '#/components/schemas/BorrowActionDto'
- $ref: '#/components/schemas/HarvestActionDto'
- $ref: '#/components/schemas/SingleDepositActionDto'
- $ref: '#/components/schemas/MultiDepositActionDto'
- $ref: '#/components/schemas/SingleRedeemActionDto'
- $ref: '#/components/schemas/MultiRedeemActionDto'
- $ref: '#/components/schemas/MathActionDto'
- $ref: '#/components/schemas/ComparisonActionDto'
- $ref: '#/components/schemas/ConditionActionDto'
- $ref: '#/components/schemas/ToggleActionDto'
discriminator:
propertyName: action
mapping:
route: '#/components/schemas/RouteActionDto'
swap: '#/components/schemas/SwapActionDto'
bridge: '#/components/schemas/BridgeActionDto'
balance: '#/components/schemas/BalanceActionDto'
approve: '#/components/schemas/ApproveActionDto'
transfer: '#/components/schemas/TransferActionDto'
transferfrom: '#/components/schemas/TransferFromActionDto'
permittransferfrom: '#/components/schemas/PermitTransferFromActionDto'
deposit: '#/components/schemas/DepositActionDto'
redeem: '#/components/schemas/RedeemActionDto'
depositclmm: '#/components/schemas/DepositCLMMActionDto'
redeemclmm: '#/components/schemas/RedeemCLMMActionDto'
tokenizedsingledeposit: '#/components/schemas/TokenizedSingleDepositActionDto'
tokenizedmultideposit: '#/components/schemas/TokenizedMultiDepositActionDto'
tokenizedsingleredeem: '#/components/schemas/TokenizedSingleRedeemActionDto'
tokenizedmultiredeem: '#/components/schemas/TokenizedMultiRedeemActionDto'
multioutsingledeposit: '#/components/schemas/MultiOutSingleDepositActionDto'
call: '#/components/schemas/CallActionDto'
flashloan: '#/components/schemas/FlashloanActionDto'
withdraw: '#/components/schemas/WithdrawActionDto'
singlewithdraw: '#/components/schemas/WithdrawActionDto'
singlewithdrawwithpositionid: '#/components/schemas/WithdrawActionDto'
multiwithdraw: '#/components/schemas/WithdrawActionDto'
split: '#/components/schemas/SplitActionDto'
merge: '#/components/schemas/MergeActionDto'
minamountout: '#/components/schemas/MinAmountOutActionDto'
slippage: '#/components/schemas/SlippageActionDto'
fee: '#/components/schemas/FeeActionDto'
ensofee: '#/components/schemas/EnsoFeeActionDto'
paymasterfee: '#/components/schemas/PaymasterFeeActionDto'
repay: '#/components/schemas/RepayActionDto'
borrow: '#/components/schemas/BorrowActionDto'
harvest: '#/components/schemas/HarvestActionDto'
singledeposit: '#/components/schemas/SingleDepositActionDto'
multideposit: '#/components/schemas/MultiDepositActionDto'
singleredeem: '#/components/schemas/SingleRedeemActionDto'
multiredeem: '#/components/schemas/MultiRedeemActionDto'
add: '#/components/schemas/MathActionDto'
sub: '#/components/schemas/MathActionDto'
mul: '#/components/schemas/MathActionDto'
div: '#/components/schemas/MathActionDto'
min: '#/components/schemas/MathActionDto'
max: '#/components/schemas/MathActionDto'
isequal: '#/components/schemas/ComparisonActionDto'
islessthan: '#/components/schemas/ComparisonActionDto'
isequalorlessthan: '#/components/schemas/ComparisonActionDto'
isgreaterthan: '#/components/schemas/ComparisonActionDto'
isequalorgreaterthan: '#/components/schemas/ComparisonActionDto'
not: '#/components/schemas/ConditionActionDto'
check: '#/components/schemas/ConditionActionDto'
toggle: '#/components/schemas/ToggleActionDto'
description: Each item is a protocol action; items are executed sequentially
description: List of actions to bundle
examples:
route:
summary: Route 0.0000001 ETH -> stETH with 3% slippage (Mainnet)
value:
- protocol: enso
action: route
args:
tokenIn: '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee'
tokenOut: '0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84'
amountIn: '100000000000'
slippage: '300'
bridge:
summary: Bridge native (Optimism -> Unichain) with callback route
value:
- protocol: stargate
action: bridge
args:
primaryAddress: '0xe8cdf27acd73a434d661c84887215f7598e7d0d3'
destinationChainId: 130
tokenIn: '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee'
amountIn: '5000000000000000000'
receiver: '0xd8da6bf26964af9d7eed9e03e53415d37aa96045'
callback:
- protocol: enso
action: balance
args:
token: '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee'
- protocol: enso
action: route
args:
slippage: '100'
tokenIn: '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee'
tokenOut: '0x078d782b760474a361dda0af3839290b0ef57ad6'
amountIn:
useOutputOfCallAt: 0
approve:
summary: Approve token spending
value:
- protocol: erc20
action: approve
args:
token: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2'
spender: '0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D'
amount: '115792089237316195423570985008687907853269984665640564039457'
routingStrategy: router
deposit:
summary: Deposit into a vault
value:
- protocol: yearn-v2
action: deposit
args:
tokenIn: '0x6B175474E89094C44Da98b954EedeAC495271d0F'
tokenOut: '0xdA816459F1AB5631232FE5e97a05BBBb94970c95'
amountIn: '10000000000000000000'
primaryAddress: '0xdA816459F1AB5631232FE5e97a05BBBb94970c95'
receiver: '0x742d35Cc6634C0532925a3b844Bc454e4438f44e'
redeem:
summary: Redeem from a vault
value:
- protocol: yearn-v2
action: redeem
args:
tokenIn: '0xdA816459F1AB5631232FE5e97a05BBBb94970c95'
tokenOut: '0x6B175474E89094C44Da98b954EedeAC495271d0F'
amountIn: '10000000000000000000'
primaryAddress: '0xdA816459F1AB5631232FE5e97a05BBBb94970c95'
receiver: '0x742d35Cc6634C0532925a3b844Bc454e4438f44e'
call:
summary: Reference previous output as msg.value and call deposit on WETH
value:
- protocol: enso
action: route
args:
tokenIn: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48'
tokenOut: '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee'
amountIn: '1000000000'
- protocol: enso
action: call
args:
address: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2'
method: deposit
abi: function deposit() external payable
args: []
value:
useOutputOfCallAt: 0
split_merge:
summary: Split USDT then deposit CLMM on Sushiswap V3 (Arbitrum One)
value:
- protocol: enso
action: split
args:
tokenIn: '0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9'
tokenOut:
- '0xaf88d065e77c8cc2239327c5edb3a432268e5831'
- '0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9'
amountIn: '100000000'
- protocol: sushiswap-v3
action: depositclmm
args:
tokenOut: '0xf0cbce1942a68beb3d1b73f0dd86c8dcc363ef49'
ticks:
- -887271
- 887271
tokenIn:
- '0xaf88d065e77c8cc2239327c5edb3a432268e5831'
- '0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9'
poolFee: '100'
amountIn:
- useOutputOfCallAt: 0
index: 0
- useOutputOfCallAt: 0
index: 1
fees:
summary: Apply fee and ensofee
value:
- protocol: enso
action: fee
args:
receiver: '0xd8da6bf26964af9d7eed9e03e53415d37aa96045'
token: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'
amount: '1000000'
bps: '50'
- protocol: enso
action: ensofee
args:
token: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'
amount:
useOutputOfCallAt: 0
bps: '25'
zap_multiple_lps:
summary: Multiple dependent routes (Mainnet)
value:
- protocol: enso
action: route
args:
tokenIn: '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee'
tokenOut: '0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84'
amountIn: '1000000000000000000'
slippage: '300'
- protocol: enso
action: route
args:
tokenIn: '0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84'
tokenOut: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'
amountIn:
useOutputOfCallAt: 0
slippage: '1000'
ignoreAggregators:
- openocean
- protocol: enso
action: route
args:
tokenIn: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'
tokenOut: '0x6b175474e89094c44da98b954eedeac495271d0f'
amountIn:
useOutputOfCallAt: 1
slippage: '300'
yield_compounding:
summary: 'Complex bundle: route -> aave deposit -> token transfer'
value:
- protocol: enso
action: route
args:
tokenIn: '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee'
tokenOut: '0xae78736Cd615f374D3085123A210448E74Fc6393'
amountIn: '10000000000000000'
slippage: '300'
- protocol: aave-v3
action: deposit
args:
primaryAddress: '0x87870Bca3F3fD6335C3F4ce8392D69350B4fA4E2'
tokenIn: '0xae78736Cd615f374D3085123A210448E74Fc6393'
tokenOut: '0xCc9EE9483f662091a1de4795249E24aC0aC2630f'
amountIn:
useOutputOfCallAt: 0
- protocol: enso
action: call
args:
address: '0xCc9EE9483f662091a1de4795249E24aC0aC2630f'
method: transfer
abi: function transfer(address,uint256) external
args:
- '0x93621DCA56fE26Cdee86e4F6B18E116e9758Ff11'
- useOutputOfCallAt: 1
math_split_transfer:
summary: Route ETH -> USDC, divide by 2, transfer halves to two addresses
value:
- protocol: enso
action: route
args:
tokenIn: '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee'
tokenOut: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'
amountIn: '1000000000000000000'
slippage: '300'
- protocol: math
action: div
args:
amountA:
useOutputOfCallAt: 0
amountB: '2'
- protocol: erc20
action: transfer
args:
token: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'
amount:
useOutputOfCallAt: 1
receiver: '0xE02F274E67871a4eb8e1463651173b13338f89c2'
- protocol: erc20
action: transfer
args:
token: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'
amount:
useOutputOfCallAt: 1
receiver: '0x70f87ac4d8441626a53DF0E65361190E190C1b4e'
lsd_looping:
summary: Multiple dependent routes with onchain fee (Mainnet)
value:
- protocol: enso
action: route
args:
tokenIn: '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee'
tokenOut: '0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84'
amountIn: '1000000000000000000'
slippage: '300'
- protocol: enso
action: route
args:
tokenIn: '0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84'
tokenOut: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'
amountIn:
useOutputOfCallAt: 0
fee:
- '100'
feeReceiver: '0xd8da6bf26964af9d7eed9e03e53415d37aa96045'
ignoreAggregators:
- openocean
slippage: '1000'
- protocol: enso
action: route
args:
tokenIn: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'
tokenOut: '0x6b175474e89094c44da98b954eedeac495271d0f'
amountIn:
useOutputOfCallAt: 1
slippage: '300'
alchemix_loop_1:
summary: 'Alchemix self-repaying loop with extra borrow (regression: per-action receiver routing)'
value:
# --- truncated at 32 KB (137 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/enso/refs/heads/main/openapi/enso-shortcuts-api-openapi.yml