get-address-risk는 무엇을 반환하며, 언제 호출합니까?
정직성 계약과 여덟 가지 기능 · 한 체인에 대한 하나의 등급, 그 근거, 그리고 평가할 수 없었던 이유
- 에이전트용
- 6분
- 고급
- 개발자
- 스킬
한 체인에서 한 주소에 대한 하나의 등급 — unknown | none | low | medium | high | severe — 으로, 사실(OFAC, 이 체인의 발행사 동결/소각 상태, 노출)과 귀속된 라벨(최대 medium, 등급을 매기려면 최소 두 출처)을 종합하며, evidence 행, incomplete_reasons, flags, computed_at, sanctions_list_as_of를 함께 반환합니다. 거래하기 전에 가장 먼저 호출하고, chain을 명시적으로 전달하십시오 — 생략하면 0x… 주소는 베이스(Base) 기준으로 답하며 chain_source: "default"로 그 사실을 밝힙니다. unknown은 원인을 밝히며 결코 깨끗하다는 뜻이 아닙니다. REST 대응 엔드포인트: GET /v1/addresses/{address}/risk?chain=이며, new_counterparty를 위해 ?from=도 받습니다.
무엇에 답합니까
카드 설명: 한 체인에 대한 하나의 등급(unknown|none|low|medium|high|severe)으로, 사실(OFAC, 이 체인의 발행사 동결/소각 상태, 노출) + 귀속된 라벨(최대 medium, 등급에는 ≥2 출처)을 종합합니다. ‘unknown’ = 평가할 수 없었음이지 ‘깨끗함’이 아닙니다. 그 원인은 evidence와 incomplete_reasons에 밝힙니다(예: time_budget: 노출 탐색이 중단됨). ‘unknown’ 동결 상태나 동결 이력이 소급 수집되지 않은 쌍은 ‘none’이 될 수 있었던 것을 ‘unknown’으로 바꾸므로, 솔라나 등급은 결코 ‘none’이 아닙니다. 점수에 반영되지 않는 것: frozen_elsewhere, 발행사 동결 제안, 동결된 잔액 - get-address-compliance를 읽으십시오.
필드 (2026-10-13 조회)
tier, flags(다섯 개의 불리언 — sanctioned, frozen, exposed, labeled, service — 수집된 응답에는 참인 것만 들어 있습니다), evidence[](모든 행에 signal, class, detail; 행이 설정하는 경우 tier, source, sources — 아래에 링크된 응답에서 테더(Tether) 트레저리의 서비스 행에는 tier가 없습니다), incomplete_reasons[], note, computed_at, chain_id, chain_source, chains_with_data, freshness_seconds, address(chain_id의 표기 방식으로 쓴 바이트), requested_address, address_respelled입니다. 스키마는 evidence, incomplete_reasons, chains_with_data를 배열 또는 null로 정의하므로 반복하기 전에 확인하십시오 — 그리고 있는 경우(스키마는 이 다섯 개 중 어느 것도 필수로 요구하지 않습니다) data_vintage, sanctions_list_as_of, new_counterparty(?from= 사용 시), coverage_status(솔라나), attestation(서명된 배포)이 있습니다. 아카데미의 제재 대상 예시 — 이더리움(Ethereum)의 0x098B71…3E2f96 — 에서 응답은 tier: "severe", 세 플래그 — sanctioned, frozen, exposed — 가 각각 참, incomplete_reasons: [], 다섯 개의 evidence 행(OFAC SDN 목록에 있음, severe; PYUSD 발행사가 동결/소각함, USDC 발행사가 동결/소각함, USDT 발행사가 동결/소각함, 각각 high; OFAC 제재 대상 주소의 도달 범위 안에서 자금을 받음, severe), sanctions_list_as_of 2026-10-13T04:00:02Z, computed_at은 계산된 그 초였습니다.
unknown 읽기
등급 unknown에는 signal: "coverage"와 tier: "unknown"인 evidence 행이 붙습니다 — 스키마의 표현으로는 노출 탐색(그 detail이 중단 사유와 완료된 홉을 밝힘)과 동결 이력에는 클래스 F, 라벨에는 클래스 A — 노출 탐색이 주소를 평가할 수 없었을 때 하나(그 detail이 중단 사유와 완료된 홉을 밝힘), 동결 이력이 불완전한 토큰을 밝히는 행 하나가 붙고, 같은 원인이 incomplete_reasons에도 들어갑니다. 클래스 A 행은 귀속된 라벨을 읽지 못했다는 뜻이며(labels_unread) — 이때 flags.labeled가 없다고 해서 라벨이 없다는 뜻은 아닙니다 — 그 응답은 no-store이므로 다시 요청하십시오. 매뉴얼의 예는 허브 규모 주소인 테더 트레저리입니다. 그 탐색은 시간 예산을 소진할 수 있고, 등급은 unknown으로 표시될 수 있으며, 그 옆의 서비스 플래그는 맥락일 뿐 결코 등급을 움직이지 않습니다. time_budget은 탐색 자체를 위해 get-address-exposure를 호출할 이유입니다. 스크리닝 스킬의 규칙: unknown을 결코 깨끗하다고 보고하지 말고, “어느 쪽으로도 발견 없음”으로 보고하십시오.
재사용과 최신성
A2A와 MCP는 같은 판정을 최대 60초(time_budget 중단 후에는 10초) 동안 제공합니다. REST는 Cache-Control: max-age=60(중단 후에는 10)으로 보관하며 재생된 응답에는 Age가 붙습니다 — 단, 입력을 잃은 판정(labels_unread, new_counterparty_unread: no-store), 체인 맥락을 읽지 못한 판정(읽기가 끝나지 않아 chains_with_data 또는 freshness_seconds가 null — 이를 알려 주는 것은 null이 아니라 Cache-Control 헤더입니다), 그리고 판정이 호출마다 계산되는 솔라나는 예외입니다. computed_at이 언제인지 알려 줍니다. 더 자주 폴링한다고 더 새로운 판정을 얻지는 못합니다. REST 대응 엔드포인트는 ?from=<sender>를 받습니다: new_counterparty는 new, known 또는 unknown입니다 — 판단하기에 너무 짧은 이력이거나 완료되지 않은 읽기(그 응답은 no-store이므로 다시 요청하십시오).
Stablecoin scanner ACHIVX에서
- 제재 대상 예시에 대한 REST 대응 엔드포인트: /v1/addresses/0x098B716B8Aaf21512996dC57EB0615e2383E2f96/risk?chain=1. 매뉴얼 자체의 예인 테더 트레저리: /v1/addresses/0x5754284f345afc66a98fbb0a0afe71e0f007b949/risk?chain=1 (2026-10-13 조회).
- 카드 안의 스킬: /.well-known/agent-card.json.
get_address_risk도구는 서버 카드가 지정하는 엔드포인트 /mcp의tools/list에 있습니다.
출처
- A2A 에이전트 카드 (1.4.0)
- 에이전트 매뉴얼 — agents.md (버전 2026-10-05)
- REST 인터페이스의 OpenAPI 3.1 명세 (API 1.4.0)
- stablescan-screening SKILL.md
- 제재 대상 예시에 대한 GET /v1/addresses/{address}/risk?chain=1 (2026-10-13 조회)
더 알아보기
관련 질문
정직성 계약과 여덟 가지 기능 · 스킬 · 2026-10-13 작성, 스캐너 자체의 기계용 문서와 그날 조회한 실시간 응답을 바탕으로 했습니다. 구조는 그대로 인용했으며, 수치는 날짜 기준이고 인덱스에 따라 바뀝니다.
이 페이지는 ACHIVX Academy 영어 원문을 한국어로 옮긴 것입니다. 번역과 원문이 다르면 영어 원문이 기준입니다.