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

# EVM to Solana

> Transfer USDC from any EVM chain to Solana

## Overview

Transfer USDC from Ethereum, Base, Arbitrum, or Polygon to Solana.

```mermaid theme={null}
sequenceDiagram
    participant User
    participant SDK
    participant EVM Chain
    participant sw4p
    participant Solana

    User->>SDK: Sign permit
    SDK->>sw4p: POST /transfer
    sw4p->>EVM Chain: Execute burn
    EVM Chain-->>sw4p: Confirm
    sw4p->>Solana: Mint USDC
    Solana-->>User: Receive tokens
```

## Step-by-Step

<Steps>
  <Step title="Estimate Fees">
    ```typescript theme={null}
    const estimate = await bridge.estimateFee({
      from: 'BASE',
      to: 'SOLANA',
      amount: '100.00'
    })
    ```
  </Step>

  <Step title="Sign Permit">
    ```typescript theme={null}
    const permitData = bridge.createPermitTypedData({
      chain: 'BASE',
      owner: userAddress,
      spender: BRIDGE_SPENDER,
      value: parseUnits('100', 6),
      nonce: await getNonce()
    })

    const signature = await signTypedData(permitData)
    ```
  </Step>

  <Step title="Execute Transfer">
    ```typescript theme={null}
    const result = await bridge.transfer({
      from: 'BASE',
      to: 'SOLANA',
      amount: '100.00',
      recipient: 'YOUR_SOLANA_ADDRESS',
      permit: parseSignature(signature)
    })
    ```
  </Step>

  <Step title="Track Status">
    ```typescript theme={null}
    const status = await bridge.getStatus(result.intentId)
    ```
  </Step>
</Steps>
