> ## 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.

# 수수료 등급

> 수수료 표, 롤링 거래량의 측정과 합산 방식, 등급이 바뀌는 시점, 그리고 주요 메이커에게 지급되는 리베이트.

롤링 거래량이 늘수록 수수료율은 내려갑니다. 수수료 표는 온체인 설정이고, 어느 등급에 있는지는 온체인 계정 상태입니다. 둘 다 직접 읽을 수 있고, 어느 쪽도 추정한 값이 아닙니다.

<h2 id="the-schedule">
  수수료 표
</h2>

| 등급 | 14일 가중 거래량 | 무기한 테이커 | 무기한 메이커 | 현물 테이커 | 현물 메이커 |
| -: | ---------: | ------: | ------: | -----: | -----: |
|  0 |          — |  0.045% |  0.015% |  0.07% |  0.04% |
|  1 |     > \$5M |  0.040% |  0.012% |  0.06% |  0.03% |
|  2 |    > \$25M |  0.035% |  0.008% |  0.05% |  0.02% |
|  3 |   > \$100M |  0.030% |  0.004% |  0.04% |  0.01% |
|  4 |   > \$500M |  0.028% |  0.000% |  0.04% |  0.00% |
|  5 |     > \$2B |  0.026% |  0.000% |  0.03% |  0.00% |
|  6 |     > \$7B |  0.024% |  0.000% |  0.03% |  0.00% |

메이커 수수료율은 4등급에서 0에 도달합니다. 그 위로는 메이커 조건이 거래량 등급이 아니라 [리베이트 프로그램](#market-maker-rebates)에서 더 좋아집니다. 두 제도가 보상하는 대상이 다르기 때문이며, 아래에서 다룹니다.

<Note>
  현물 수수료율은 같은 설정 구조에 담겨 있고, 현재 운영 중인 것은 무기한 마켓입니다. 현물 열은 현물 마켓이 열릴 때 적용될 표이며, 지금은 어떤 거래에도 부과되지 않습니다.
</Note>

<Warning>
  이것은 참고용 표이지 오라클이 아닙니다. 실제 표는 온체인에 게시되어 있고 직접 읽을 수 있습니다. 이 숫자를 하드코딩한 통합은 언젠가 네트워크가 부과하지 않는 수수료율을 적용하게 됩니다. [개발자](/ko/developers/overview) 문서를 참고하십시오.
</Warning>

<h2 id="how-volume-is-measured">
  거래량을 측정하는 방식
</h2>

$$
\text{가중 거래량} = \text{무기한 거래량} + 2 \times \text{현물 거래량}
$$

현물은 두 배로 계산됩니다. 현물 거래량은 인위적으로 늘리기가 더 어렵고, 무기한 명목 가치를 부풀리는 레버리지도 전혀 들어가지 않습니다. 그래서 더 무겁게 가중해야 두 값을 레버리지가 아니라 활동량의 척도로 나란히 놓을 수 있습니다.

이 집계 구간의 성질은 셋입니다.

**달력이 아니라 롤링입니다.** 지금 시점에서 거꾸로 세어 14일입니다. 노려서 거래할 월간 리셋도 없고, 월 경계에서 떨어지는 절벽도 없습니다.

**매일 재계산합니다.** 거래량은 매일 00:00 UTC에 한 번 스냅숏됩니다. 구간 값은 오늘의 누적 스냅숏에서 14주기 전 스냅숏을 뺀 값입니다. 단순 누계가 아니라 *롤링* 구간인 이유가 여기에 있습니다.

**상위 계정으로 합산합니다.** 모든 서브 계정의 거래량은 상위 주소 아래로 합산되고, 그렇게 결정된 등급이 그 전부에 적용됩니다. 활동을 서브 계정으로 쪼개도 유리하지도 불리하지도 않습니다. 어느 쪽이든 같은 숫자입니다.

<h2 id="when-your-tier-changes">
  등급이 바뀌는 시점
</h2>

등급은 하루에 한 번 다시 계산되어, 00:00 UTC 직후 첫 블록에서 수수료율이 바뀐 모든 계정에 배치로 적용됩니다.

<div className="dg" data-dg="fee-tier-pass">
  <div className="dg-c" style={{aspectRatio:"720 / 342"}}>
    <svg className="dg-w" viewBox="0 0 720 342" aria-hidden="true">
      <path className="dg-wire" d="M 125.60 78.00 L 139.20 78.00" />

      <path className="dg-head" d="M 145.60 78.00 L 139.20 82.40 L 139.20 73.60 Z" />

      <path className="dg-wire" d="M 275.20 78.00 L 288.80 78.00" />

      <path className="dg-head" d="M 295.20 78.00 L 288.80 82.40 L 288.80 73.60 Z" />

      <path className="dg-wire" d="M 424.80 78.00 L 438.40 78.00" />

      <path className="dg-head" d="M 444.80 78.00 L 438.40 82.40 L 438.40 73.60 Z" />

      <path className="dg-wire" d="M 574.40 78.00 L 588.00 78.00" />

      <path className="dg-head" d="M 594.40 78.00 L 588.00 82.40 L 588.00 73.60 Z" />
    </svg>

    <div className="dg-b dg--sky" style={{left:"0.0000%",top:"7.6023%",width:"16.8889%",height:"30.4094%"}}><span className="dg-t">00:00 UTC</span><span className="dg-s">누적 거래량 스냅숏</span></div>
    <div className="dg-b dg--sky" style={{left:"20.7778%",top:"7.6023%",width:"16.8889%",height:"30.4094%"}}><span className="dg-t">구간 거래량</span><span className="dg-s">오늘 스냅숏 − 14주기 전 스냅숏</span></div>
    <div className="dg-b dg--sky" style={{left:"41.5556%",top:"7.6023%",width:"16.8889%",height:"30.4094%"}}><span className="dg-t">등급 표</span><span className="dg-s">체인에서 실시간으로 읽음</span></div>
    <div className="dg-b dg--blue" style={{left:"62.3333%",top:"7.6023%",width:"16.8889%",height:"30.4094%"}}><span className="dg-t">수수료율이 바뀐 것만</span><span className="dg-s">프로토콜 트랜잭션으로 배치 처리</span></div>
    <div className="dg-b dg--green" style={{left:"83.1111%",top:"7.6023%",width:"16.8889%",height:"30.4094%"}}><span className="dg-t">체인이 수수료율을 확정</span><span className="dg-s">등급 인덱스로부터</span></div>
    <div className="dg-b dg-dashed dg-left" style={{left:"0.0000%",top:"45.0292%",width:"48.8889%",height:"23.9766%"}}><span className="dg-t">등급 표는 매 실행마다 읽고 보관하지 않음</span><span className="dg-s">자체 사본을 들고 있는 서비스는 네트워크가 표를 바꾼 뒤에도 어제 표를 계속 적용하고, 누군가 수수료를 대사하기 전까지는 아무 문제도 없어 보입니다.</span></div>
    <div className="dg-b dg-dashed dg-left" style={{left:"51.1111%",top:"45.0292%",width:"48.8889%",height:"23.9766%"}}><span className="dg-t">변경 감지는 등급 번호가 아니라 수수료율 기준</span><span className="dg-s">임계값이 움직이거나 등급의 가격이 다시 매겨지면, 등급 번호는 그대로인 채 실제 부담액이 바뀝니다.</span></div>
    <div className="dg-b dg-dashed dg-left" style={{left:"0.0000%",top:"71.9298%",width:"48.8889%",height:"23.9766%"}}><span className="dg-t">최종 수수료율은 체인이 확정</span><span className="dg-s">트랜잭션은 등급 인덱스를 싣습니다. 유효 범위를 벗어난 인덱스는 일부만 적용되는 대신 배치 전체를 실패시킵니다.</span></div>
    <div className="dg-b dg-dashed dg-left" style={{left:"51.1111%",top:"71.9298%",width:"48.8889%",height:"23.9766%"}}><span className="dg-t">하루치는 모든 배치가 커밋된 뒤에야 적용으로 침</span><span className="dg-s">실행 도중 중단되면 그날치를 통째로 재실행합니다. 같은 구간은 언제나 같은 답을 내므로 안전합니다.</span></div>
  </div>
</div>

이 루프에서 네 가지는 짚어 둘 만합니다. 정확한 수수료 표와 대체로 정확한 수수료 표를 가르는 지점이기 때문입니다.

**등급 표는 매 실행마다 체인에서 읽으며, 보관하지 않습니다.** 자체 사본을 들고 있는 서비스는 네트워크가 표를 바꾼 뒤에도 어제 표를 계속 적용하게 되고, 누군가 수수료를 대사하기 전까지는 아무 문제도 없어 보입니다.

**변경 감지는 등급 번호가 아니라 수수료율을 기준으로 합니다.** 등급 *위치*를 비교하면 실제로 발생하는 두 경우를 놓칩니다. 임계값이 움직여 아무것도 하지 않은 계정이 다른 등급에 놓이는 경우, 그리고 등급 번호는 그대로인 채 그 등급의 가격만 바뀌는 경우입니다. 둘 다 실제 부담액을 바꿉니다. 어느 쪽도 등급 번호를 바꾸지 않습니다.

**트랜잭션은 등급 인덱스를 싣고, 수수료율은 체인이 확정합니다.** 등급에서 수수료율로 가는 최종 매핑은 실행 시점에, 그 블록에서 유효한 설정에 대해 적용됩니다. 유효 범위를 벗어난 인덱스는 일부만 적용되는 대신 배치 전체를 실패시킵니다.

**하루치는 모든 배치가 커밋된 뒤에야 적용된 것으로 칩니다.** 실행 도중 중단되면 그날치를 통째로 재실행합니다. 계산이 멱등이므로 안전합니다. 같은 구간은 같은 답을 냅니다.

이 루프 전체는 블록 실행 바깥에서 돌고 결과만 온체인에 기록합니다. 거래량을 블록 안에서 계산하지 않고 이런 구조를 택한 이유는 [프로그램 서비스](/ko/protocol/architecture/programs)에서 설명합니다.

<h2 id="market-maker-rebates">
  마켓 메이커 리베이트
</h2>

거래소 유동성에서 의미 있는 비중을 공급하는 메이커는 수수료를 내는 대신 **받습니다**.

| 14일 메이커 거래량 비중 | 메이커 수수료율 |
| -------------: | -------: |
|         > 0.5% |  −0.001% |
|         > 1.5% |  −0.002% |
|         > 3.0% |  −0.003% |

음수 수수료율은 리베이트이며, 메이커 체결마다 지급받습니다.

기준이 거래량 등급과 다르고, 그 차이가 핵심입니다. 등급 자격은 **절대 거래량**으로 측정합니다. 리베이트 자격은 **거래소 전체 메이커 거래량 대비 비중**으로 측정합니다. 오더북에서 의미 있는 몫을 차지하는 데 대한 보상이지, 많이 거래하는 데 대한 보상이 아닙니다. 어떤 계정은 절대 규모가 크면서도 오더북 깊이에는 별 영향이 없을 수 있습니다. 리베이트는 빠져나가면 티가 나는 계정을 겨냥합니다.

리베이트에는 온체인 하한이 있습니다. 설정과 무관하게 메이커 수수료율은 −0.1% 아래로 내려갈 수 없습니다. 자세한 내용은 [거래 수수료](/ko/programs/fees#what-the-rate-can-be)에 있습니다.

<h2 id="negotiated-rates">
  협의 수수료율
</h2>

수수료율은 등급 표와 무관하게 특정 계정에 직접 설정할 수 있습니다.

협의 수수료율을 가진 계정은 야간 등급 재계산에서 **의도적으로 제외됩니다**. 이 예외가 없다면 거래량이 움직이는 순간 매일의 재계산이 합의된 조건을 덮어쓰고, 매일 밤 같은 일을 되풀이합니다. 한 달치 체결을 대사해 보기 전까지는 드러나지 않는 종류의 결함입니다.

<h2 id="reading-your-tier">
  내 등급 확인하기
</h2>

두 부분 모두 체인 상태이고 조회할 수 있습니다. **수수료 표**는 수수료 설정에서, **계정에 배정된 등급과 수수료율**은 계정 상태에서 읽습니다.

어떤 통합이든 들여야 할 습관은 온보딩 시점에 수수료율을 저장해 두는 대신 두 값을 실시간으로 읽어 예상 비용을 계산하는 것입니다. 자기 거래량이 아닌 다른 이유로 수수료율이 바뀐 경우를 잡아내는 방법도 이것뿐입니다. 표 개정, 임계값 이동, 협의 수수료율 적용이 그런 경우입니다.

<h2 id="where-to-go-next">
  다음으로 읽을 문서
</h2>

<CardGroup cols={2}>
  <Card title="거래 수수료" href="/ko/programs/fees">
    수수료가 어떻게 계산되고 어느 수수료율이 적용되는지.
  </Card>

  <Card title="마켓 메이킹" href="/ko/trading/market-making">
    거래소가 메이커에게 요구하는 것과 제공하는 것.
  </Card>

  <Card title="프로그램 서비스" href="/ko/protocol/architecture/programs">
    등급이 오프체인에서 계산되어 다시 커밋되는 방식.
  </Card>

  <Card title="거래 외 수수료" href="/ko/programs/other-fees">
    브릿지, 계정, 볼트, 청산 관련 비용.
  </Card>
</CardGroup>
