Plans
Plan Swap
Create a plan to swap one asset for another
POST
Plan Swap
Plan Swap
Creates a plan to swap one asset for another via DEX aggregation. Legend fetches the best available quote and returns a plan with the swap details. Returns a plan ID and an EIP-712 digest that must be signed to authorize execution.Request
Path parameters
| Parameter | Type | Description |
|---|---|---|
account_id | string | The sub-account ID |
Body parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
sell_asset | string | Yes | Asset to sell (e.g., "USDC") |
buy_asset | string | Yes | Asset to buy (e.g., "WETH") |
network | string | Yes | Target network (e.g., "base", "mainnet"). Funds on other chains are bridged automatically. |
sell_amount | string | One of | Amount to sell in the asset’s smallest unit |
buy_amount | string | One of | Amount to buy in the asset’s smallest unit |
sell_amount or buy_amount must be provided.
Examples
Sell exact amount
Buy exact amount
Response (201 Created)
Response fields
| Field | Type | Description |
|---|---|---|
plan_id | string | Unique identifier for this plan (pln_ prefix) |
details | object | Transaction details including EIP-712 signing data |
details.eip712_data.digest | string | The hash to sign with the account’s signer key |
expires_at | string | ISO 8601 timestamp — plan must be executed before this time |
Errors
| Status | Code | Description |
|---|---|---|
| 400 | invalid_params | Missing required parameters or both sell_amount and buy_amount provided |
| 400 | plan_failed | Could not generate a valid plan (e.g., insufficient balance) |
| 400 | no_wallet | Account has no wallets |
| 408 | timeout | Folio computation timed out |
| 422 | swap_quote_failed | Could not fetch a swap quote from the DEX aggregator |
Notes
- Plans expire after 2 minutes. Sign and execute via Execute Plan before expiry.
- Provide exactly one of
sell_amountorbuy_amount. Ifsell_amountis given, the API finds the best quote for selling that exact amount. Ifbuy_amountis given, it finds a quote to buy that exact amount. - A 0.15% Legend fee is applied to the buy side of the quote.
Plan Swap