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

# Plan Transfer

> Create a plan to transfer assets to another address

# Plan Transfer

Creates a plan to transfer assets from the sub-account's wallet to another address. Returns a plan ID and EIP-712 digest for signing.

## Request

```
POST /accounts/:account_id/plan/transfer
```

### Body parameters

| Parameter   | Type   | Required | Description                                                                       |
| ----------- | ------ | -------- | --------------------------------------------------------------------------------- |
| `amount`    | string | Yes      | Amount to transfer in the asset's smallest unit                                   |
| `asset`     | string | Yes      | Asset symbol (e.g., `"USDC"`)                                                     |
| `network`   | string | Yes      | Target network for the transfer. Funds on other chains are bridged automatically. |
| `recipient` | string | Yes      | Destination Ethereum address (`0x`-prefixed)                                      |

## Examples

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST https://prime-api.legend.xyz/accounts/acc_2o0yiljtp378/plan/transfer \
    -H "Authorization: Bearer $LEGEND_QUERY_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "amount": "1000000",
      "asset": "USDC",
      "network": "base",
      "recipient": "0x8Ba1f109551bD432803012645Ac136ddd64DBA72"
    }'
  ```

  ```typescript TypeScript theme={null}
  const plan = await client.plan.transfer("acc_2o0yiljtp378", {
    amount: "1000000",
    asset: "USDC",
    network: "base",
    recipient: "0x8Ba1f109551bD432803012645Ac136ddd64DBA72",
  });
  ```

  ```python Python theme={null}
  plan = await client.plan.transfer(
      "acc_2o0yiljtp378",
      amount="1000000",
      asset="USDC",
      network="base",
      recipient="0x8Ba1f109551bD432803012645Ac136ddd64DBA72",
  )
  ```

  ```rust Rust theme={null}
  use legend_client::TransferParams;

  let plan = client.plan.transfer("acc_2o0yiljtp378", &TransferParams {
      amount: "1000000".into(),
      asset: "USDC".into(),
      network: "base".into(),
      recipient: "0x8Ba1f109551bD432803012645Ac136ddd64DBA72".into(),
  }).await?;
  ```
</CodeGroup>

```json Response (201 Created) theme={null}
{
  "plan_id": "pln_t4r2x9v6j8s1",
  "details": {
    "quark_operation_actions": [...],
    "eip712_data": {
      "digest": "0x3c7a...e9d4"
    }
  },
  "expires_at": "2025-06-15T10:32:00Z"
}
```

The response format is identical to [Plan Earn](/api-reference/plan-earn). Sign the `digest` and call [Execute Plan](/api-reference/plan-execute) to proceed.
