ActionSet
Transaction calldata and required approvals returned by action endpoints.
transactions object[]required
Pre-trade setup transactions (e.g. e-mode switch, collateral enable). Execute these before the main swap. Empty when no setup is needed.
Target contract address
0x1234...abcdEncoded calldata
0xabcdef...ETH value to send with the transaction
0Human-readable label. For alternatives, this is the aggregator name (e.g. "Paraswap"). For transactions, describes the setup action (e.g. "Switch e-mode to 1").
alternatives object[]
DEX aggregator swap transactions sorted by best output (descending). Each entry's description is the aggregator name. The client should pick one to execute. Present on loop action endpoints.
Target contract address
0x1234...abcdEncoded calldata
0xabcdef...ETH value to send with the transaction
0Human-readable label. For alternatives, this is the aggregator name (e.g. "Paraswap"). For transactions, describes the setup action (e.g. "Switch e-mode to 1").
permissions object[]nullable
Approval/delegation transactions that must execute before both transactions and alternatives. Includes ERC20 allowances (targeting the composer contract) and lender borrow/withdrawal delegations (targeting the lending protocol contract directly). Filtered against on-chain state so only missing approvals are returned. Null when no approvals are needed.
Target contract address
Encoded calldata
ETH value
0Human-readable description of the approval (e.g. "Approve borrow for AAVE_V3", "Approve ERC20")
{
"transactions": [
{
"to": "0x1234...abcd",
"data": "0xabcdef...",
"value": "0",
"description": "string"
}
],
"alternatives": [
{
"to": "0x1234...abcd",
"data": "0xabcdef...",
"value": "0",
"description": "string"
}
],
"permissions": [
{
"to": "string",
"data": "string",
"value": "0",
"description": "string"
}
]
}