> ## 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.

# Transfer

> Transfer assets to another wallet

# Transfer

Transfer assets from a sub-account's wallet to any Ethereum address.

## Steps

### 1. Create the transfer plan

<CodeGroup>
  ```typescript TypeScript theme={null}
  const plan = await client.plan.transfer(account.account_id, {
    amount: "1000000",   // 1 USDC
    asset: "USDC",
    network: "base",
    recipient: "0x8Ba1f109551bD432803012645Ac136ddd64DBA72",
  });
  ```

  ```python Python theme={null}
  plan = await client.plan.transfer(
      account["account_id"],
      amount="1000000",   # 1 USDC
      asset="USDC",
      network="base",
      recipient="0x8Ba1f109551bD432803012645Ac136ddd64DBA72",
  )
  ```

  ```rust Rust theme={null}
  let plan = client
      .plan()
      .transfer(
          &account.account_id,
          TransferParams {
              amount: "1000000".to_string(),   // 1 USDC
              asset: "USDC".to_string(),
              network: "base".to_string(),
              recipient: "0x8Ba1f109551bD432803012645Ac136ddd64DBA72".to_string(),
          },
      )
      .await?;
  ```
</CodeGroup>

### 2. Sign and execute

The flow is identical to earn — sign the digest and call execute. See [Plan-Sign-Execute](/concepts/plan-execute-flow).

### 3. Monitor

The resulting activity will have `action_type: "TRANSFER"` in its metadata.
