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

# 原生代币处理

> KAS 和 WKAS 在 DEX 中的工作方式

# 原生代币处理

**KAS** 是 Kasplex 区块链的原生货币（类似于以太坊上的 ETH）。由于 AMM 智能合约专门使用 ERC-20 代币，KAS 被包装为 **WKAS**（Wrapped KAS）用于链上操作。

## KAS 与 WKAS

|        | KAS                | WKAS               |
| ------ | ------------------ | ------------------ |
| 类型     | 原生货币               | ERC-20 代币          |
| 用途     | Gas 费用、转账          | DEX 操作             |
| 地址（显示） | `0x0000...0000`    | 合约地址               |
| 精度     | 18                 | 18                 |
| 转换     | 1 KAS = 1 WKAS（始终） | 1 WKAS = 1 KAS（始终） |

## WKAS 合约地址

| 网络      | WKAS 地址                                      |
| ------- | -------------------------------------------- |
| Mainnet | `0x2c2Ae87Ba178F48637acAe54B87c3924F544a83e` |
| Testnet | `0xC065C62a10fB363fD31CA394D632C4Df106566df` |

## 包装原理

WKAS 是一个简单的存取合约：

* **包装**：将 KAS 发送到 WKAS 合约 → 收到等量 WKAS
* **解包**：调用 WKAS 的 `withdraw()` → 收到等量 KAS

Universal Router 在交易过程中自动处理此操作。用户无需手动包装或解包。

## 代币表示

在 Kroko DEX 系统中，代币有两个地址字段：

| 字段           | KAS 值           | ERC-20 值       | 用途                      |
| ------------ | --------------- | -------------- | ----------------------- |
| `address`    | `0x0000...0000` | 代币合约地址         | 显示、存储键、余额查询             |
| `dexAddress` | WKAS 地址         | 与 `address` 相同 | 所有 DEX 操作（交易、报价、流动性、授权） |

### 调用 API 时

使用 KAS 作为输入或输出调用 Quote 或 Swap API 时，始终使用 **WKAS 地址**（而非零地址）：

```typescript theme={null}
// 正确：为 KAS 使用 WKAS 地址
const WKAS = "0x2c2Ae87Ba178F48637acAe54B87c3924F544a83e";
fetch(`/api/v1/quote?tokenIn=${WKAS}&tokenOut=${USDC}&amountIn=1000000000000000000`);

// 错误：零地址不起作用
fetch(`/api/v1/quote?tokenIn=0x0000000000000000000000000000000000000000&...`);
```

### 在交易中发送原生 KAS

当 KAS 是输入代币时，将金额作为交易 `value` 包含：

```typescript theme={null}
const tx = await signer.sendTransaction({
  to: swapData.to,
  data: swapData.data,
  value: swapData.value  // 卖出 KAS 时非零
});
```

当 Swap API 检测到 WKAS 为输入代币时，会自动设置 `value` 字段。
