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

자기거래 방지 (STP)

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

개요

유입되는 (테이커) 주문이 동일한 지갑의 대기 (메이커) 주문과 매칭되려 할 경우, 엔진은 체결하는 대신 두 주문을 모두 취소합니다. 이를 통해 워시 트레이딩을 방지하고 마켓메이커가 실수로 자신의 호가와 교차 체결되는 것을 보호합니다.

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가 원인임을 확인할 수 있습니다.

모니터링

STP 이벤트는 ht_engine_self_trade_prevented_total Prometheus 카운터를 증가시킵니다.

FAQ

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

STP가 무기한 계약 주문에도 적용되나요? 예. STP는 옵션과 무기한 계약을 포함하여 매칭 엔진의 모든 주문 유형에 적용됩니다.

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

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