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

# 交易手續費

> 一筆成交的成本：掛單與吃單費率、適用費率如何確定、取整規則，以及手續費流向何處。

交易手續費**按成交收取**，基數是該筆成交的名目價值。不是按訂單，也不是按區塊：一筆訂單分五次成交，就按五個名目價值收五次；一筆從未成交的訂單，一分不收。

費率有兩種，取決於你在這筆交易中處於哪一側。

**掛單方**（maker）——你的訂單掛在訂單簿上，別人主動來和你成交。你提供了流動性，費率更低。

**吃單方**（taker）——你的訂單跨過價差，消耗了掛在簿上的流動性。費率更高。

區分依據是你的訂單**做了什麼**，不是你想做什麼。限價單若在下單瞬間就跨價成交，付的就是吃單費率。你若必須是掛單方，就用只掛單（post-only）：它會吃掉流動性時，直接拒絕，不會成交。見[訂單類型](/zh-Hant/trading/order-types)。

<h2 id="the-calculation">
  計算方式
</h2>

$$
\text{手續費} = \text{成交名目價值} \times \frac{\text{ppm 費率}}{1{,}000{,}000}
$$

費率在鏈上以**百萬分之一**（ppm）儲存，不用百分比。網路預設值是吃單 `450` ppm、掛單 `150` ppm，也就是 0.045% 和 0.015%。

用 ppm 不是裝飾。結算路徑上的一切都是[定點整數運算](/zh-Hant/protocol/architecture/kernel)，因為兩個驗證者之間的取整差異帶來的不是一處對不上帳，而是一次分叉。把費率寫成「百分比的百分比」，就必須在某個環節變成小數，而小數沒有哪一種寫法能讓所有機器算出同一個結果。

所以取整規則是明文規定的，不留給實作自行決定：

|               | 規則                                      |
| ------------- | --------------------------------------- |
| **收取的手續費**    | 四捨五入（逢半遠離零）；只要費率為正，下限為 1 個最小單位（quantum） |
| **支付的手續費回饋**  | 四捨五入（逢半遠離零），**不設**下限——回饋可以取整成零          |
| **下單時預留的手續費** | 四捨五入（逢半遠離零），下限為 1 個最小單位                 |

收費設 1 個最小單位下限，是為了讓極小的成交不至於免費。回饋不設這個下限則是它的鏡像：協議寧可把一筆支付向下取整到零，也不會憑空鑄出一個它沒有掙到的單位。

<h2 id="which-rate-applies-to-you">
  哪一級費率適用於你
</h2>

每一筆成交都以同樣的方式確定費率，順序是固定的。

<div className="dg" data-dg="fee-rate-resolution">
  <div className="dg-c" style={{aspectRatio:"720 / 300"}}>
    <svg className="dg-w" viewBox="0 0 720 300" aria-hidden="true">
      <path className="dg-wire dg--blue" d="M 134.00 112.00 L 155.60 112.00" />

      <path className="dg-head dg--blue" d="M 162.00 112.00 L 155.60 116.40 L 155.60 107.60 Z" />

      <path className="dg-wire dg--green" d="M 340.00 112.00 L 373.26 41.78" />

      <path className="dg-head dg--green" d="M 376.00 36.00 L 377.24 43.67 L 369.28 39.90 Z" />

      <path className="dg-wire dg--sky" d="M 340.00 112.00 L 369.60 112.00" />

      <path className="dg-head dg--sky" d="M 376.00 112.00 L 369.60 116.40 L 369.60 107.60 Z" />

      <path className="dg-wire" d="M 340.00 112.00 L 373.26 182.22" />

      <path className="dg-head" d="M 376.00 188.00 L 369.28 184.10 L 377.24 180.33 Z" />
    </svg>

    <div className="dg-b dg--blue" style={{left:"0.0000%",top:"28.0000%",width:"18.0556%",height:"18.6667%"}}><span className="dg-t">一筆成交</span></div>
    <div className="dg-b dg--yellow dg-round" style={{left:"23.0556%",top:"24.6667%",width:"23.6111%",height:"25.3333%"}}><span className="dg-t">該帳戶是否帶有費率？</span></div>
    <div className="dg-b dg--green dg-left" style={{left:"52.7778%",top:"0.6667%",width:"47.2222%",height:"22.6667%"}}><span className="dg-t">協商帳戶費率</span><span className="dg-s">直接綁定在帳戶上，每日級距重算刻意跳過 — 重算永遠不會覆蓋談定的條件</span></div>
    <div className="dg-b dg--sky dg-left" style={{left:"52.7778%",top:"26.0000%",width:"47.2222%",height:"22.6667%"}}><span className="dg-t">交易量級距費率</span><span className="dg-s">由滾動交易量推導，每天寫回鏈上</span></div>
    <div className="dg-b dg-left" style={{left:"52.7778%",top:"51.3333%",width:"47.2222%",height:"22.6667%"}}><span className="dg-t">網路預設費率</span><span className="dg-s">新帳戶按 0 級交易，不是處在沒有費率的狀態</span><span className="dg-n">費率為零是真實的費率：一經設定就照字面收取。</span></div>
    <div className="dg-b dg-dashed dg-left" style={{left:"0.0000%",top:"78.6667%",width:"100.0000%",height:"17.3333%"}}><span className="dg-s">鏈上配置裡還有一種按市場的基礎費率，但目前並未在成交路徑上生效 — 所有市場都走上面「帳戶費率優先、預設費率後備」這條鏈。</span></div>
  </div>
</div>

**協商帳戶費率**直接綁定在某個帳戶上，不受每日級距重算影響：帶有協商費率的帳戶會刻意跳過，因此交易量重算永遠不會覆蓋雙方談定的條件。

**交易量級距費率**是幾乎所有帳戶實際使用的費率，由滾動交易量推導得出，每天寫回鏈上。見[費率級距](/zh-Hant/programs/fee-tiers)。

**網路預設費率**適用於從來沒有分配過費率的帳戶——新帳戶按 0 級交易，不是處在「沒有費率」的狀態。

<Note>
  費率為零是真實的費率，不是缺失。帳戶一旦帶著顯式設定的費率，協議就照字面執行，零也一樣。不會因為這個數字看起來像空值，就悄悄回退到預設值。
</Note>

鏈上配置裡還有一種**按市場的基礎費率**。有些市場的風險特徵和整個交易場所差太多，按全場費率表定價並不合適——比如盤前合約，或流動性異常稀薄的新上市品種——這一項就是為這種情況準備的。啟用之後，它取代網路預設費率成為該市場的基準，帳戶費率仍然疊加在上面。

<Warning>
  按市場的基礎費率雖然可以配置，但**目前並未在成交路徑上生效**。所有市場目前都走上面那條「帳戶費率優先、預設費率作為後備」的鏈條。等這一點改變，本頁會改寫。
</Warning>

<h2 id="what-the-rate-can-be">
  費率的取值範圍
</h2>

兩種費率都在鏈上設有邊界；配置一旦超出邊界，寫入直接拒絕，不會截斷到邊界值。

|         | 邊界                            |
| ------- | ----------------------------- |
| **吃單方** | 不得為負。上限 10%                   |
| **掛單方** | 可以為負——即手續費回饋——最低 −0.1%。上限 10% |

這種不對稱是刻意的。掛單方負費率是一種設計好的誘因：交易場所希望簿上出現哪些流動性，就為那些流動性付費。而吃單方負費率等於開了一條自成交鑄幣的路，所以它在表示層面根本不存在，不是只被勸阻。

10% 的上限是護欄，不是費率表。真實費率比它低兩個數量級；這個邊界的作用是阻止荒謬或惡意的配置進入執行，而不是描述任何人實際支付的水準。

<h2 id="placing-orders-costs-no-gas">
  下單不消耗 gas
</h2>

提交、修改和撤銷訂單都是原生的協議交易，不需要 gas 餘額，也不參與手續費競價市場。

這件事的分量比聽起來大。在訂單管理要花 gas 的場所，報價很貴，而波動期撤單最貴的時候，恰恰是最需要撤單的時候——於是做市商把報價掛得更寬來覆蓋這部分成本，最終這段價差由所有人一起承擔。把訂單管理做成免費，是把這項成本從價差裡拿掉，不是換個地方轉嫁。

由此得出的結論是：**交易手續費就是交易的全部協議成本。** 沒有第二項。

<h2 id="why-your-reserved-margin-exceeds-the-initial-requirement">
  為什麼預留的保證金高於起始要求
</h2>

開倉時，協議預留的保證金是起始要求**加上一筆預估的平倉手續費**——因為部位若付不起平倉費，最後要由交易場所來承接。

這筆預估手續費按**網路預設吃單費率**計算，並在下單那一刻鎖定——不是按你的費率，也不是按之後變成什麼費率。

這兩點都是刻意保守。用預設吃單費率，帳戶費率日後上調，預留也不會不足；在下單時鎖定，中途的費率變動就無法反過來推翻一份已經檢查、也已經接受的保證金。

真正平倉成交時，按你的實際費率收取。預留是一個上界，不是一張帳單。

<h2 id="where-fees-go">
  手續費流向何處
</h2>

交易手續費收進鏈上一個由協議控制的帳戶。流出的部分投向生態，而不是留存。

<div className="dg" data-dg="fee-destinations">
  <div className="dg-c" style={{aspectRatio:"720 / 314"}}>
    <svg className="dg-w" viewBox="0 0 720 314" aria-hidden="true">
      <path className="dg-wire dg--blue" d="M 134.00 138.00 L 165.60 138.83" />

      <path className="dg-head dg--blue" d="M 172.00 139.00 L 165.49 143.23 L 165.72 134.43 Z" />

      <path className="dg-wire dg-soft" d="M 371.00 139.00 L 408.72 39.98" />

      <path className="dg-head" d="M 411.00 34.00 L 412.83 41.55 L 404.61 38.41 Z" />

      <path className="dg-wire dg-soft" d="M 371.00 139.00 L 406.18 108.21" />

      <path className="dg-head" d="M 411.00 104.00 L 409.08 111.53 L 403.29 104.90 Z" />

      <path className="dg-wire dg-soft" d="M 371.00 139.00 L 406.18 169.79" />

      <path className="dg-head" d="M 411.00 174.00 L 403.29 173.10 L 409.08 166.47 Z" />

      <path className="dg-wire dg-soft" d="M 371.00 139.00 L 408.72 238.02" />

      <path className="dg-head" d="M 411.00 244.00 L 404.61 239.59 L 412.83 236.45 Z" />
    </svg>

    <div className="dg-b dg--blue" style={{left:"0.0000%",top:"35.0318%",width:"18.0556%",height:"17.8344%"}}><span className="dg-t">每一筆成交</span></div>
    <div className="dg-b dg--blue" style={{left:"24.4444%",top:"32.1656%",width:"26.3889%",height:"24.2038%"}}><span className="dg-t">協議手續費帳戶</span><span className="dg-s">鏈上可稽核</span></div>
    <div className="dg-b dg--green" style={{left:"57.7778%",top:"0.6369%",width:"42.2222%",height:"20.3822%"}}><span className="dg-t">流動性金庫</span><span className="dg-s">在簿上報價，強平時接手部位；利潤歸存入者</span></div>
    <div className="dg-b dg--green" style={{left:"57.7778%",top:"22.9299%",width:"42.2222%",height:"20.3822%"}}><span className="dg-t">保險基金</span><span className="dg-s">在減倉波及其他交易者之前吸收缺口</span></div>
    <div className="dg-b dg-dashed" style={{left:"57.7778%",top:"45.2229%",width:"42.2222%",height:"20.3822%"}}><span className="dg-t">推薦回饋</span><span className="dg-s">該計畫上線之後</span></div>
    <div className="dg-b dg-dashed" style={{left:"57.7778%",top:"67.5159%",width:"42.2222%",height:"20.3822%"}}><span className="dg-t">代幣部署方</span><span className="dg-s">針對由他人帶來的現貨上市 — 現貨尚未上線</span></div>
    <div className="dg-free" style={{left:"0.0000%",top:"88.5350%",width:"100.0000%"}}><div className="dg-n">餘額與流水都是鏈上狀態 — 期初餘額、手續費流入、轉出、期末餘額是一筆帳，任何人都能從已提交區塊自行重算。</div></div>
  </div>
</div>

* **\[流動性金庫]**(/trading/vaults)，負責在簿上報價，並在[強制平倉](/zh-Hant/trading/liquidations)時接手部位。手續費收入是金庫收益的一部分，金庫利潤歸存入者。
* **保險基金**，在[自動減倉](/zh-Hant/trading/adl)波及其他交易者之前，吸收強平未能覆蓋的缺口。
* **[推薦](/zh-Hant/programs/referrals)回饋**，在該計畫上線之後。
* **代幣部署方**，針對由他人帶來的上市品種。這適用於現貨上市，而現貨尚未上線。

餘額與流水都是鏈上狀態。查核——期初餘額、手續費流入、轉出、期末餘額——是一筆帳，任何人都能從已提交區塊自行重算，不必等誰來公布一個數字。

跨鏈橋手續費和帳戶手續費單獨收取，進入各自的帳戶。見[非交易類手續費](/zh-Hant/programs/other-fees)。

<h2 id="what-is-not-a-trading-fee">
  哪些不是交易手續費
</h2>

| 成本                                    | 支付給   | 說明              |
| ------------------------------------- | ----- | --------------- |
| 交易手續費                                 | 協議    | 本頁              |
| [資金費率](/zh-Hant/trading/funding)      | 其他交易者 | 協議不抽成           |
| 滑價                                    | 無人    | 這是你拿到的價格，不是一項收費 |
| [強平罰金](/zh-Hant/trading/liquidations) | 保險基金  | 僅在強制平倉時         |
| [提領手續費](/zh-Hant/programs/other-fees) | 協議    | 屬於跨鏈橋，不屬於交易     |
| gas                                   | —     | 交易類事務不收取        |

資金費率是最常被誤認成手續費的一項。它是多頭與空頭之間的轉移；看你持有哪一側，可能是成本，也可能是收入。

<h2 id="reducing-what-you-pay">
  如何降低你的支出
</h2>

* **做掛單方。** 對大多數帳戶來說，掛單與吃單之間的差距比相鄰交易量級距之間的差距更大。改變**怎麼交易**，比多交易更能壓低成本。
* **絕不能誤付吃單費率時，就用只掛單。** 它會跨價時直接拒絕，不會成交。
* **把活動集中在一個母帳戶下。** 子帳戶在計算級距時會合併統計，所以拆分毫無收益，只增加維運複雜度。
* **拆分大額訂單。** [TWAP](/zh-Hant/trading/twap) 和[階梯訂單](/zh-Hant/trading/scale-orders)能減少滑價，而在大額訂單上，滑價通常遠超手續費。

<Warning>
  費率要從鏈上讀，不要寫死。費率表是鏈上配置，會變動；串接若自帶一份副本，遲早會算出一個網路根本沒有收的成本。見[開發者](/zh-Hant/developers/overview)。
</Warning>

<h2 id="where-to-go-next">
  後續閱讀
</h2>

<CardGroup cols={2}>
  <Card title="費率級距" href="/zh-Hant/programs/fee-tiers">
    費率表、級距如何計算，以及做市商手續費回饋。
  </Card>

  <Card title="非交易類手續費" href="/zh-Hant/programs/other-fees">
    跨鏈橋、帳戶、金庫與強平相關成本。
  </Card>

  <Card title="訂單類型" href="/zh-Hant/trading/order-types">
    只掛單，以及如何確保掛單方身份。
  </Card>

  <Card title="資金費率" href="/zh-Hant/trading/funding">
    流向其他交易者、而非協議的那部分成本。
  </Card>
</CardGroup>
