# 한 스테이블코인의 가장 큰 주소와 가장 바쁜 경로를 얻으려면 어떻게 합니까?

레지스트리, 검색, 시장 데이터 · 네트워크별로, 한 심볼의 회전량 상위 주소와 상위 지급자 → 수신자 경로를 일별 상위 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억 달러였습니다 — 순환의 형태이며, [대시보드](https://achivx.kr/academy/guides/dashboard/)가 원시 수치 옆에 *오가닉* 거래량을 측정하는 이유입니다.

[첫 번째 요청](https://achivx.kr/academy/api/first-request/)의 헬퍼 세 개로 한 같은 호출:

**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`](https://achivx.kr/academy/api/market-stats/)을, 한 주소 자체의 거래량은 [`/volume`](https://achivx.kr/academy/api/address-balances-and-volume/)을 읽으십시오.

## Stablecoin scanner ACHIVX에서

- JSON으로 본 USDT의 가장 큰 주소와 경로: [/v1/tokens/USDT/addresses?window=24h](https://stablescan.achivx.com/v1/tokens/USDT/addresses?window=24h&per_chain=5), [/v1/tokens/USDT/routes?window=7d](https://stablescan.achivx.com/v1/tokens/USDT/routes?window=7d&per_chain=5).
- 페이지에 표시되는 같은 목록 — [/usdt-explorer](https://stablescan.achivx.com/usdt-explorer)와 30d로 설정한 [첫 페이지](https://stablescan.achivx.com/)의 *Busiest routes*(가장 바쁜 경로)와 *Largest addresses*(가장 큰 주소).

## 출처

- [REST 인터페이스의 OpenAPI 3.1 명세(API 1.4.0)](https://stablescan.achivx.com/openapi.json)
- [GET /v1/methodology(stablscan-methodology-v0.5.0)](https://stablescan.achivx.com/v1/methodology)
- [GET /v1/tokens/USDT/routes?window=7d&per_chain=3(2026-10-24 조회)](https://stablescan.achivx.com/v1/tokens/USDT/routes?window=7d&per_chain=3)

## 더 알아보기

- [가이드: 대시보드 — 가장 바쁜 경로](https://achivx.kr/academy/guides/dashboard/#busiest-routes)
- [가이드: USDT 익스플로러](https://achivx.kr/academy/guides/usdt-explorer/)
- [정직한 숫자](https://achivx.kr/academy/concepts/honest-numbers/)

## 관련 질문

- [시장 대시보드를 JSON으로 읽으려면 어떻게 합니까: 원시 및 유기적 거래량, 발행, 경로](https://achivx.kr/academy/api/market-stats/)
- [주소의 스테이블코인 잔액과 거래량은 어떻게 읽습니까?](https://achivx.kr/academy/api/address-balances-and-volume/)
- [거래소 전체를 읽으려면 어떻게 합니까: 주소, 흐름, 잔액](https://achivx.kr/academy/api/exchanges/)

레지스트리, 검색, 시장 데이터 · GET /v1/tokens/{token}/addresses · /routes · 2026-10-24 작성, openapi.json, agents.md 및 당일 실제 호출 기반. 구조는 인용한 것이며, 수치는 날짜 기준이고 인덱스에 따라 바뀝니다.

---

출처: https://achivx.kr/academy/api/token-rankings/ · 영어 원문: https://achivx.com/academy/api/token-rankings.html
