# การโอน Token ออกจาก iWallet

![](https://972085701-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MhfoWNADLmnfzSLjYjS%2F-MjI8VzfgAaOZp-mQ9KM%2F-MjIJvFRzK3U24jW0t4k%2Ftransfer-out-image.png?alt=media\&token=7814a74d-61f0-4571-bc4b-e1a51dc4e8fb)

ปกติ iWallet จะไม่อนุญาตให้โอน Token ไปยัง Wallet Address อื่น ๆ ที่อยู่นอก iWallet ทั้งนี้ก็เพื่อความปลอดภัย เพื่อป้องกันไม่ให้ใครสามารถโอน Token ไปยัง Wallet ที่ไม่ใช่ของผู้ใช้ได้ (ป้องกันการขโมย Token)

แต่ถ้าผู้ใช้อยากให้สามารถโอน Token ไปยัง Wallet Address อื่น ๆ ที่อยู่นอก iWallet ได้ ให้ทำดังนี้

## 1. กำหนด Whitelist ผู้รับ

Whitelist คือ การกำหนดรายการ Wallet Address ปลายทางที่เชื่อถือได้ (Trust Address) ที่อนุญาตให้ iWallet สามารถโอน Token ไปให้ได้

ที่ Configuration File (.config.json) ของแต่ละ Wallet ให้ Config Whitelist ดังนี้

```javascript
{
  
  ...
  ...
  
  "recipientWhitelist" : [
     {
        "name" : "Wallet 1",
        "address" : "0x1111111111111111111111111111111111111111"
     },
     {
        "name" : "Wallet 2",
        "address" : "0x2222222222222222222222222222222222222222"
     },
     {
        "name" : "Wallet 3",
        "address" : "0x3333333333333333333333333333333333333333"
     }
  ]
}
```

**คำอธิบาย**

| Attribute | Description                                                                                     |
| --------- | ----------------------------------------------------------------------------------------------- |
| name      | ชื่อ Wallet ปลายทางที่จะโอนไป (ตั้งว่าอะไรก็ได้ แล้วแต่ผู้ใช้)                                  |
| address   | ที่อยู่ Wallet ปลายทางที่จะโอนไป (ต้องเป็นที่อยู่ใน Network เดียวกันกับ Wallet ต้นทางเท่านั้น ) |

**ตัวอย่าง**

0x7fe5999fd513deae43d19dd0ab3cce8491ed6440.config.json

```javascript
{
  "walletFile" : "0x7fe5999fd513deae43d19dd0ab3cce8491ed6440.wallet.json",
  "walletPassword" : "123456",
  "network" : "POLYGON_MAINNET",
  "tokenA" : "0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270", //WMATIC
  "tokenB" : "0x2791bca1f2de4661ed88a30c99a7a9449aa84174", //USDC
  "minimumGasBalance" : 0.005,
  "fillGasTokenBAmount" : 3,
  "swapRouter" : "0xa5e0829caced8ffdd4de3c43696c57f7d7a678ff", //Quickswap Router
  "gasSwapRouter" : "0xa5e0829caced8ffdd4de3c43696c57f7d7a678ff", //Quickswap Router
  "defaultSwapSlippage" : 0.5,
  "defaultSwapDeadlineMinutes" : 10,
  "tokenAutoApproveMultiplier" : 3.0,
  "differenceAtLeastPercent" : 9,
  "swapPercent" : 50.0,
  "swapAtLeastValue" : 1,
  "recipientWhitelist" : [
    {
      "name" : "MetaMask",
      "address" : "0x22203d22226d34D333333333C65Ad7ADa2111111"
    }  
  ]
}
```

แค่นี้ก็จะสามารถโอนไปยัง Wallet Address `0x22203d22226d34D333333333C65Ad7ADa2111111` ซึ่งอยู่นอก iWallet ได้แล้ว

**หมายเหตุ**

Whitelist Address ที่จะโอนไป จะต้องอยู่ใน Network เดียวกันกับ Wallet Address ต้นทางเท่านั้น ถ้าเป็นคนละ Network กัน อาจทำให้ Token ที่โอนไปสูญหายได้ (กู้คืนไม่ได้) ตอน Config ให้ตรวจสอบดี ๆ

## 2. โอน Token

จากนั้นก็โอน Token ที่ [หน้าโอน Token](https://iwallet.jittagornp.me/manual/transfer-page) ปกติเหมือนโอนไปยัง Wallet Address อื่น ๆ&#x20;
