이 페이지는 자동 번역되었습니다. 영어 원문이 정본입니다. 영어로 읽기 →
메인 콘텐츠로 건너뛰기

자기거래 방지 (STP)

자기거래에 대한 자동 보호 기능입니다.

개요​

들어오는 (테이커) 주문이 동일한 지갑의 대기 중인 (메이커) 주문과 체결될 상황이 되면, 엔진은 두 주문을 체결하는 대신 모두 취소합니다. 이를 통해 자전거래(wash trading)를 방지하고, 마켓메이커가 실수로 자신의 호가와 교차 체결되는 것을 막습니다.

STP는 항상 활성화되어 있습니다. 별도의 설정, 비활성화 옵션, 대체 모드는 없습니다.

동작 방식​

전략: 양방향 취소 (Cancel Both)​

자기거래가 감지되면 다음과 같이 처리됩니다.

  1. 메이커 주문은 사유 "Self-trade prevention"과 함께 취소됩니다
  2. 테이커 주문은 거부되거나(이전 체결이 없는 경우) 취소됩니다(부분 체결된 경우)

두 주문 사이에는 어떠한 체결도 발생하지 않습니다.

지갑 단위 매칭​

STP는 에이전트 키가 아닌 지갑 주소를 비교합니다. 에이전트 권한 부여를 사용하여 여러 키로 주문에 서명하는 경우, 동일한 거래 지갑에 속한 모든 주문은 서로에 대해 STP가 적용됩니다.

부분 체결은 유지됩니다​

테이커 주문이 자기거래를 만나기 전에 다른 거래상대방과 체결된 경우, 해당 체결은 유지됩니다.

예시: 호가창에 지갑 B가 제시한 5계약이 있고, 그 뒤에 지갑 A가 제시한 5계약이 있습니다. 지갑 A가 10계약 매수 주문을 제출합니다.

단계매칭 대상결과
1지갑 B (5계약)체결: 5계약 체결됨
2지갑 A (5계약)자기거래 감지

결과:

  • 지갑 A는 지갑 B와 5계약을 체결합니다
  • 지갑 A의 메이커 주문(5계약)은 취소됩니다
  • 지갑 A의 테이커 주문은 filled_size: 5로 취소됩니다

주문 상태​

시나리오테이커 상태사유
이전 체결 없음REJECTED"Self-trade prevention"
자기거래 전 부분 체결CANCELED"Self-trade prevention (partial fill kept)"

메이커 주문은 항상 사유 "Self-trade prevention"과 함께 CANCELED 상태가 됩니다.

자기거래 후 GTC 주문은 호가창에 남지 않습니다​

GTC 테이커 주문이 STP를 발생시키면, 일반적으로는 호가창에 대기할 주문이라도 잔여 수량이 호가창에 추가되지 않습니다. 해당 주문은 완전히 종료됩니다.

WebSocket 알림​

테이커와 메이커의 취소/거부는 모두 order_updates 채널로 전달됩니다. reason 필드를 통해 STP가 원인임을 확인할 수 있습니다.

FAQ​

다른 STP 모드(예: 최신 주문 취소 또는 수량 차감)를 선택할 수 있나요? 아니요. Hypercall은 양방향 취소 방식만 사용합니다.

STP는 퍼프 주문에도 적용되나요? 아니요. Hypercall STP는 Hypercall 호가창에서 매칭되는 주문, 즉 옵션 및 콤보 주문에 적용됩니다. 퍼프 주문은 Hyperliquid 오더북에서 매칭되며, Hyperliquid 자체의 자기거래 규칙이 적용됩니다.

STP는 콤보 주문에도 적용되나요? 네. 콤보 또는 암묵적(implied) 경로가 계정을 자기 자신과 거래하게 만들기 전에 매칭이 중단되며, 대기 중인 메이커 주문은 취소됩니다. 전부 체결 또는 전부 취소(all-or-nothing) 사례(FOK 및 원자적 교체)에 대해서는 실험적 콤보 API를 참조하십시오.

STP는 RFQ 거래에도 적용되나요? 네. 테이커와 호가 제공자가 동일한 지갑을 공유하는 경우, 해당 호가는 거부됩니다.

저는 양방향 호가를 제시하는 마켓메이커입니다. 제 호가끼리 서로 취소되나요? 들어오는 주문으로 인해 호가가 교차되는 경우에만 해당됩니다. 호가창의 반대편에 서로 다른 가격으로 대기 중인 주문은 정상적으로 공존합니다. STP는 매칭 시점에만 작동합니다.