개발자를 위한 속도 규칙 및 구조화 탐지 가이드 (KO)
속도 규칙은 거래를 시간 범위에 따라 평가하며, 계산, 합계, 고유 개수 집계를 통해 구조화, 스머핑, 자금 세탁 패턴을 파악하는 기반이 됩니다. Didit에서 이를 구축하기 위한 개발자 가이드입니다.

단일 결제만으로는 보통 아무것도 알 수 없습니다. 상대방에게 9,700유로를 송금하는 것은 평범한 일입니다. 하지만 3일 동안 동일한 상대방에게 9,700유로를 10회 송금하거나, 한 오후에 20개의 다른 계정으로부터 20건의 인바운드 이체가 발생한다면, 이는 구조화 및 자금 세탁 활동의 특징입니다. 이러한 패턴을 탐지하려면 거래를 한 번에 하나씩 보는 것이 아니라, 시간 흐름에 따라 계산하고 합산하는 스트림으로 보아야 합니다.
이것이 바로 속도 규칙이 하는 일이며, 직접 구축하기 가장 어려운 거래 모니터링 부분입니다. 사용자별로 롤링 윈도우를 유지하고, 해당 윈도우 내에서 상대방을 계산, 합산, 중복 제거하며, 실시간으로 임계값을 평가하는 스트림 프로세서가 필요합니다. Didit의 거래 모니터링 API는 이러한 엔진을 바로 제공합니다. 윈도우를 정의하고, 집계 방식(개수, 합계 또는 고유)을 선택하고, 임계값을 설정하면 거래당 $0.02로 모든 거래에 대해 규칙이 실행됩니다.
이 문서는 속도 규칙을 구축하고 이를 사용하여 구조화를 탐지하는 개발자 가이드입니다.
주요 내용
- 속도 규칙은 시간 윈도우를 통해 평가됩니다 — "지난 24시간 동안", "7일 동안" — 단일 거래를 개별적으로 평가하는 대신.
- 세 가지 집계:
count(개수),sum(누적 금액),distinct(고유한 상대방 또는 속성) — 구조화 및 자금 세탁 탐지의 기본 구성 요소입니다. - 구조화 — 보고 임계값 바로 미만의 많은 결제 —는 합계 윈도우와 임계값 근접 조건의 조합으로 포착됩니다.
- 자금 세탁 및 스머핑 패턴은 윈도우 내에서 고유 상대방 개수로 포착됩니다.
- 스트림 프로세서가 필요 없습니다 — 엔진이 윈도우를 유지합니다. 콘솔에서 규칙을 선언하기만 하면 됩니다.
- 거래당 $0.02, 최소 요금 없음. 플래그가 지정된 당사자에 대한 AML 심사는 $0.20으로 별도 청구됩니다.
속도 규칙이란?
속도 규칙은 세 가지 부분으로 구성됩니다. 윈도우 (조회 기간 — 1시간, 24시간, 7일), 해당 윈도우 내 거래에 대한 집계, 그리고 임계값을 초과할 때 작업을 트리거하는 임계값입니다. 집계는 표현력의 핵심입니다.
count— 윈도우 내에서 규칙의 조건과 일치하는 거래 수. "24시간 이내에 5회 이상의 인바운드 이체."sum— 일치하는 거래의 누적 가치. "7일 이내에 누적 거래량 10,000유로 초과."distinct— 속성의 고유 값 수, 일반적으로 상대방. "24시간 이내에 8명 이상의 다른 발신자로부터의 이체."
윈도우는 기본적으로 주체별로 키가 지정됩니다. 각 사용자는 자체 롤링 카운터를 가지므로, 전체 플랫폼의 바쁜 하루가 개별 사용자의 신호를 덮어쓰지 않습니다.
왜 중요한가요?
구조화(스머핑이라고도 함)는 가장 오래된 자금 세탁 기술 중 하나이며, 가장 명시적으로 규제되는 기술 중 하나입니다. 보고 임계값 — 유럽연합 대부분 지역에서 10,000유로, 미국에서 10,000달러 —은 큰 금액을 보고 기준 미만의 소액 결제로 분할하려는 유인을 만듭니다. 단일 금액만 확인하는 시점 규칙으로는 이를 절대 파악할 수 없습니다. 전체 패턴은 집계에서 나타납니다.
자금 세탁 조직도 마찬가지입니다. 자금 세탁범의 특징은 단일 이체가 아니라, 많은 다른 계정에서 자금이 유입된 후 빠르게 유출되는 것입니다. 이는 윈도우 내에서 고유 상대방 개수를 통해서만 확인할 수 있습니다. 규제 기관은 기업이 이러한 유형을 탐지할 것으로 기대하며, 속도 규칙은 자체 스트리밍 분석 스택을 구축하지 않고도 이를 수행하는 방법입니다.
기술 세부 정보
거래는 통합 /v3/ API에 대해 생성되며, 사용자가 제어하는 transaction_id에 대해 멱등적입니다.
curl -X POST https://verification.didit.me/v3/transactions/ \
-H "x-api-key: $DIDIT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"transaction_id": "txn_a19f04",
"category": "finance",
"amount": 9600,
"currency": "EUR",
"currency_kind": "fiat",
"txn_date": "2026-05-21T13:18:00Z",
"subject": { "vendor_data": "user_3310", "role": "SENDER", "entity_type": "INDIVIDUAL" },
"counterparty": { "role": "RECEIVER", "entity_type": "INDIVIDUAL" },
"payment_method": "BANK_TRANSFER"
}'
거래가 구조화 패턴을 완료하면 속도 규칙이 실행되고 응답에 이름이 지정됩니다.
{
"transaction_id": "txn_a19f04",
"status": "IN_REVIEW",
"risk_score": 66,
"triggered_rules": [
{
"name": "Structuring — cumulative sum near threshold",
"bundle": "Finance",
"aggregation": "sum",
"window": "7d",
"action": "CHANGE_STATUS"
}
],
"alert_id": "alrt_b4d8e1"
}
웹훅. transaction.created 및 transaction.status.updated를 구독하여 알림이 해결될 때 원장을 동기화 상태로 유지합니다.
가격. 거래당 $0.02, 호출당 청구되며 최소 요금은 없습니다. 플래그가 지정된 당사자에 대한 AML 심사는 $0.20으로 별도 청구됩니다.
구조화 및 자금 세탁 규칙 구축
구조화 (합계 윈도우). 7일 윈도우에 대한 sum 집계를 각 결제가 보고 임계값 바로 미만이라는 거래당 조건과 결합합니다. 사용자의 누적 임계값 미만 결제가 설정한 한도를 초과할 때 규칙이 실행됩니다. 이는 구조화가 숨기려던 집계된 대규모 거래를 나타냅니다. 임계값 근접성(보고 기준에 얼마나 가까워야 "바로 미만"으로 간주되는지)과 누적 트리거를 조정합니다.
스머핑 (개수 윈도우). 짧은 윈도우에 대한 count 집계는 소액 결제의 급증을 포착합니다. "24시간 이내에 1,000유로 미만 아웃바운드 이체 10회 이상"은 단일 결제가 크지 않더라도 분할 패턴을 드러냅니다.
자금 세탁 유입 (고유 윈도우). 상대방에 대한 distinct 집계는 유입을 포착합니다. "24시간 이내에 8명 이상의 다른 발신자로부터의 인바운드 이체." 이를 빠른 유출 개수 규칙과 결합하면 전체 자금 세탁 서명을 설명할 수 있습니다.
이들은 시드된 번들(구조화 및 임계값 회피는 금융에, 누적 거래량 및 빠른 유입/유출은 AML/CTF에, 속도 급증은 이상 감지에 포함)에 매핑되며, 사용자 지정 번들에서 이들 중 어느 것이든 확장하거나 직접 구축할 수 있습니다. 각 규칙의 작업은 위험 점수를 추가하거나, 상태를 변경하거나, 태그를 추가하거나, 당사자를 목록에 추가할 수 있습니다.
사용 사례
- 핀테크 — 이체 및 인출에 대한 누적 합계 구조화 규칙; 인바운드 예금에 대한 고유 상대방 자금 세탁 규칙.
- 암호화폐 — 빠른 입출금 지갑 활동에 대한 개수 윈도우; 단일 대규모 유출 전에 여러 주소에서 도착하는 자금에 대한 고유 규칙.
- 대출 — 급증 사기를 포착하기 위한 지급 및 상환 패턴에 대한 속도 규칙.
- 마켓플레이스 — 판매자의 거래량을 부풀리는 공모 거래 고리를 포착하기 위한 고유 구매자 개수 규칙.
- iGaming — 책임감 있는 게임 신호로도 사용되는 예금 속도 개수 윈도우.
Didit과 통합하는 방법
- 윈도우 정의. 비즈니스 콘솔에서 정책에 필요한 윈도우, 집계(개수/합계/고유), 임계값을 사용하여 속도 규칙을 구축합니다.
- 거래 전송. 자금 이동 시 안정적인
transaction_id및vendor_data와 함께 백엔드에서POST /v3/transactions/를 호출하여 엔진이 올바른 주체에 윈도우를 키로 지정하도록 합니다. - 웹훅 처리.
transaction.status.updated를 수신하여 속도 규칙이 실행되고 분석가가 알림을 해결할 때 반응합니다. - 시간에 따른 조정. 실제 양성 및 거짓 양성 비율을 파악함에 따라 콘솔에서 임계값을 조정합니다. 배포가 필요 없습니다.
모든 것이 통합된 /v3/ API에 있기 때문에, KYC 흐름으로 온보딩된 사용자는 이러한 속도 규칙을 실행하는 동일한 엔진으로 직접 연결됩니다. 이는 처음부터 끝까지 하나의 ID 및 사기 방지 플랫폼입니다.
자주 묻는 질문
속도 규칙은 어떤 집계를 사용할 수 있나요?
세 가지: count (일치하는 거래 수), sum (누적 금액), distinct (고유한 상대방 또는 속성). 각각 정의한 시간 윈도우를 통해 평가됩니다.
구조화를 구체적으로 어떻게 탐지하나요?
윈도우에 대한 sum 집계를 각 결제가 보고 임계값 바로 미만이라는 조건과 결합합니다. 누적 총액이 구조화가 숨기려던 한도를 초과할 때 규칙이 실행됩니다.
자체 스트림 프로세서가 필요한가요?
아니요. 엔진이 주체별로 롤링 윈도우를 유지합니다. 콘솔에서 윈도우, 집계, 임계값을 선언하기만 하면 됩니다.
비용은 얼마인가요?
거래당 $0.02, 호출당 청구되며 최소 요금은 없습니다. 플래그가 지정된 당사자에 대한 AML 심사는 $0.20으로 별도 청구됩니다.
시드된 번들에서 다루지 않는 속도 규칙을 구축할 수 있나요?
예. 사용자 지정 번들은 제품 고유의 모든 유형에 대한 조건, 속도 윈도우 및 집계를 지원합니다.
시작할 준비가 되셨나요?
문서에서 거래 모니터링 개요를 읽고, 거래 모니터링 제품 페이지에서 플랫폼의 나머지 부분과 어떻게 맞는지 확인하고, 가격 페이지에서 투명한 호출당 가격을 확인하세요. 준비가 되면 무료로 시작하세요. 매월 500회의 무료 KYC 확인과 호출당 $0.02의 거래 모니터링을 제공합니다.