> For the complete documentation index, see [llms.txt](https://help.tokenpocket.pro/cn/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.tokenpocket.pro/cn/faq/solana-wallet/delegate-authority.md).

# Solana 代币委托授权

在 Solana 区块链上，代币的转账权限管理通过 SPL Token Program 实现。当您在钱包中看到“申请 USDC 转账授权”时，其底层逻辑是设置一个 Delegate（委托人）。

### 1. 核心机制：委托与授权额度 <a href="#core-mechanism-delegate-and-authority-amount" id="core-mechanism-delegate-and-authority-amount"></a>

#### 深入理解 Solana 代币委托的工作原理与授权额度限制

在 Solana 中，每个代币账户（Token Account）都拥有一个 `delegate` 字段。

* **委托操作 (Delegate Operation)**: 您通过签署交易，将您的代币账户地址中的 `delegate` 字段设置为另一个地址（通常是合约地址），并指定一个 `delegated_amount`（委托额度）。
* **权限转移 (Permission Transfer)**: 一旦设置成功，被委托的地址（Delegate）就获得了代表您从该代币账户中转移指定数量代币的权限，无需您再次对每一笔转账进行签名。

### 2. 代币委托授权的风险和防范 <a href="#key-differences-from-evm-approve" id="key-differences-from-evm-approve"></a>

#### 如何防范 Solana 钱包钓鱼攻击与管理代币授权权限

* **委托风险 (Delegate Risk)**: 虽然委托额度是受限的，但如果被委托的地址是恶意合约，它可以在授权额度内随时执行转账。
* **撤销委托 (Revoke Delegate)**: Solana 允许您随时撤销委托。通过调用 `Revoke` 指令，您可以将代币账户的 `delegate` 字段重置为空，从而立即切断对方的转账权限。
* **保持警惕 (Stay Vigilant)**: 如果在一个非交易场景下，或在不明来源的 DApp 中看到此请求，这极有可能是为了获取您账户的委托权限，从而在后续操作中盗取您的代币。

### 3. 与EVM Approve 的关键区别 <a href="#comparison-summary-table" id="comparison-summary-table"></a>

#### Solana 委托与以太坊授权机制对比概览

| 特性       | Solana Delegate (委托)           | EVM Approve (授权)       |
| -------- | ------------------------------ | ---------------------- |
| **作用对象** | 具体的 Token Account              | 钱包地址 (Owner)           |
| **实现机制** | 修改 Token Account 的 delegate 字段 | 修改合约的 `allowance` 映射表  |
| **灵活性**  | 针对该账户的特定余额                     | 针对该地址在该合约下的额度          |
| **撤销方式** | 发送 `Revoke` 指令                 | 发送 `Approve` 额度为 0 的指令 |
