한 스테이블코인의 가장 큰 주소와 가장 바쁜 경로를 얻으려면 어떻게 합니까?
레지스트리, 검색, 시장 데이터 · 네트워크별로, 한 심볼의 회전량 상위 주소와 상위 지급자 → 수신자 경로를 일별 상위 N에서 합산 — 순위이지 합계가 아님
- API 가이드
- 6분
- 중급
- 개발자
- GET /v1/tokens/{token}/addresses
- /routes
GET /v1/tokens/{token}/addresses?window=24h|7d|30d&per_chain=은 네트워크별로 한 심볼에서 회전량(잔액이 아니라 기간 내 받은 금액과 보낸 금액의 합)이 가장 큰 주소의 순위를 매기며, 각각 옆에 excluding_services 목록이 있습니다. GET /v1/tokens/{token}/routes는 지급자 → 수신자 쌍을 volume_usd6와 tx_count로 순위를 매깁니다. 둘 다 토큰별 일별 상위 N에서 합산하므로 순위이지 결코 합계가 아니며, chains[].basis_days는 각 네트워크의 순위가 기간 중 며칠에서 합산되었는지 알려 줍니다 — 가장 최근 날은 마감 후 순위가 매겨지기 전까지 빠져 있습니다.
가장 큰 주소
curl -s 'https://stablescan.achivx.com/v1/tokens/USDT/addresses?window=24h&per_chain=3'{
"symbol": "USDT",
"window_days": 1, "window_start": "2026-10-23", "window_end": "2026-10-23", "basis_days": 1,
"chains": [
{"chain_id": -1, "chain_slug": "solana", "name": "Solana",
"items": [{"address": "3ADzk5YDP9sgorvPSs9YPxigJiSqhgddpwHwwPwmEFib", "is_service": false, "in_usd6": 90564881858700, "out_usd6": 70738397148140, "total_usd6": 161303279006840, "tx_count": 63}, "…"],
"basis_days": 1,
"excluding_services": ["…"]},
{"chain_id": 1, "chain_slug": "ethereum", "name": "Ethereum",
"items": [{"address": "0xbbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb", "name": "Morpho", "category": "contract", "is_service": true, "in_usd6": 3020484051992347, "out_usd6": 2994203504242321, "total_usd6": 6014687556234668, "tx_count": 1961}, "…"],
"basis_days": 1,
"excluding_services": [{"address": "0xd1c6aca7ea7ed44e1873dafa054c28ceb690c7eb", "is_service": false, "in_usd6": 2451797478024351, "out_usd6": 2451797478861606, "total_usd6": 4903594956885957, "tx_count": 701}, "…"]},
"… +4 more"
]
}가장 바쁜 경로
curl -s 'https://stablescan.achivx.com/v1/tokens/USDT/routes?window=7d&per_chain=3'{
"symbol": "USDT",
"window_days": 7, "window_start": "2026-10-17", "window_end": "2026-10-23", "basis_days": 7,
"chains": [
{"chain_id": 1, "chain_slug": "ethereum", "name": "Ethereum",
"items": [
{"payer": "0xd1c6aca7ea7ed44e1873dafa054c28ceb690c7eb", "recipient": "0xbbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb", "recipient_name": "Morpho", "recipient_category": "contract", "volume_usd6": 26050453431291657, "tx_count": 458},
{"payer": "0xbbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb", "payer_name": "Morpho", "payer_category": "contract", "recipient": "0xd1c6aca7ea7ed44e1873dafa054c28ceb690c7eb", "volume_usd6": 26050453431291657, "tx_count": 458}
],
"basis_days": 7},
"…"
]
}그 주 이더리움(Ethereum)의 상위 두 경로는 한 주소와 Morpho 컨트랙트 사이를 458번 오간 같은 260억 달러였습니다 — 순환의 형태이며, 대시보드가 원시 수치 옆에 오가닉 거래량을 측정하는 이유입니다.
첫 번째 요청의 헬퍼 세 개로 한 같은 호출:
Python
rk = scan("/v1/tokens/USDC/routes", window="30d", per_chain=5)
for chain in rk["chains"]:
print(chain["name"], f'(summed from {chain["basis_days"]} of {rk["window_days"]} days)')
for r in chain["items"]:
print(" ", r.get("payer_name") or r["payer"][:10], "->", r.get("recipient_name") or r["recipient"][:10], f'${r["volume_usd6"]/1e9:,.1f}B', r["tx_count"], "tx")Go
var rk struct {
WindowDays int `json:"window_days"`
Chains []struct {
Name string `json:"name"`
BasisDays int `json:"basis_days"`
Items []struct {
Payer string `json:"payer"`
PayerName string `json:"payer_name"`
Recipient string `json:"recipient"`
RecipientName string `json:"recipient_name"`
VolumeUSD6 int64 `json:"volume_usd6"`
TxCount int `json:"tx_count"`
} `json:"items"`
} `json:"chains"`
}
if err := get("/v1/tokens/USDC/routes", url.Values{"window": {"30d"}, "per_chain": {"5"}}, &rk); err != nil {
return err
}TypeScript
type Route = { payer: string; payer_name?: string; recipient: string; recipient_name?: string; volume_usd6: number; tx_count: number };
type Routes = { symbol: string; window_days: number; window_start: string; window_end: string; chains: { chain_id: number; chain_slug: string; name: string; basis_days: number; items: Route[] }[] };
const rk = await scan<Routes>("/v1/tokens/USDC/routes", { window: "30d", per_chain: 5 });필드별 설명
window_start, window_end, window_days — 요청한 기간의 UTC 날짜이며, 양 끝을 포함합니다. 조회 전날로 끝나는 window_days개의 온전한 날입니다. basis_days(최상위 및 체인별) — 그 날들 중 순위가 합산된 날의 수이며, window_end부터 거꾸로가 아니라 기간 안 어디서든 셉니다. 가장 최근 날은 마감 후 순위가 매겨지기 전까지 빠져 있습니다. 0은 기간 내 순위가 매겨진 어떤 날에도 해당 네트워크에서 이 자산이 없다는 뜻입니다. 7일 중 6일에서 합산된 순위는 6일에 걸친 순위이며, 페이지가 그렇게 밝힙니다.
/addresses의 items[] — address, 있으면 라벨, is_service, in_usd6, out_usd6, total_usd6(잔액이 아니라 회전량), tx_count. excluding_services는 라벨이 붙은 서비스(컨트랙트, 거래소)를 뺀 같은 순위이므로, 가장 큰 비서비스 주소를 한 번의 조회로 얻을 수 있습니다. /routes에서는 — payer, recipient, 그 라벨, volume_usd6, tx_count.
per_chain은 1–50입니다(기본값은 페이지의 10). 24h, 7d, 30d 이외의 window는 400 invalid_window입니다. 심볼은 정확히 일치해야 합니다 — USDT는 USDT0을 제외합니다. max-age=3600: 순위는 매일 다시 만들어지므로 1시간이 적절한 폴링 간격입니다.
순위는 합계가 아닙니다
여기의 모든 수치는 토큰별 일별 상위 N에서 합산된 것입니다. 어느 날 상위 N 밖에 있던 주소는 그날 합산에 들어가지 않으므로, 두 주소의 total_usd6를 더해 시장 점유율로 만들 수 없습니다. 합계는 /v1/stats/home을, 한 주소 자체의 거래량은 /volume을 읽으십시오.
Stablecoin scanner ACHIVX에서
- JSON으로 본 USDT의 가장 큰 주소와 경로: /v1/tokens/USDT/addresses?window=24h, /v1/tokens/USDT/routes?window=7d.
- 페이지에 표시되는 같은 목록 — /usdt-explorer와 30d로 설정한 첫 페이지의 Busiest routes(가장 바쁜 경로)와 Largest addresses(가장 큰 주소).
출처
- REST 인터페이스의 OpenAPI 3.1 명세(API 1.4.0)
- GET /v1/methodology(stablscan-methodology-v0.5.0)
- GET /v1/tokens/USDT/routes?window=7d&per_chain=3(2026-10-24 조회)
더 알아보기
관련 질문
- 시장 대시보드를 JSON으로 읽으려면 어떻게 합니까: 원시 거래량과 유기적 거래량, 발행, 경로
- 주소의 스테이블코인 잔액과 거래량은 어떻게 읽습니까?
- 거래소 전체를 어떻게 읽습니까: 주소, 흐름, 잔액
레지스트리, 검색, 시장 데이터 · GET /v1/tokens/{token}/addresses · /routes · 2026-10-24 작성, openapi.json, agents.md 및 당일 실제 호출 기반. 구조는 인용한 것이며, 수치는 날짜 기준이고 인덱스에 따라 바뀝니다.
이 페이지는 ACHIVX Academy 영어 원문을 한국어로 옮긴 것입니다. 번역과 원문이 다르면 영어 원문이 기준입니다.