이더리움 메인넷 토큰 399개에 소수점 자리를 하나씩 직접 물어봤어요. 399개가 전부 답했고(무응답 0건), 자릿수는 한 값이 아니라 여덟 가지로 갈렸어요.
숫자로 먼저 적을게요. 18자리가 341개, 그리고 18자리가 아닌 게 58개였어요. 여기에 하나 더 있어요. 주소 목록에 적혀 있던 자릿수와 컨트랙트가 실제로 답한 자릿수가 어긋난 건 정확히 한 개였습니다.
![]()
이 글이 재는 자리를 먼저 못박을게요. 이더리움 메인넷 하나입니다. 그리고 토큰 목록 파일 한 개에 실린 399개예요. 메인넷에 있는 모든 ERC-20 토큰이 아니에요. 거래소가 화면에 몇 자리까지 보여 주는지도 다루지 않습니다.
무엇을 어떻게 쟀는지부터 밝힐게요
두 곳을 따로 열어서 맞대 봤어요. 하나는 주소를 어디서 가져왔는지이고, 다른 하나는 값을 어디서 받았는지예요.
| 구분 | 창구 | 성격 |
|---|---|---|
| 주소 목록 | Uniswap Labs Default 토큰 목록 JSON | 누군가 관리하는 파일 |
| 값 | 이더리움 메인넷 공개 RPC 엔드포인트 | 체인 응답 |
호출은 이렇게 했어요.
| 항목 | 값 |
|---|---|
| 메서드 | eth_call |
| 셀렉터 | 0x313ce567 — 표준 함수 decimals() |
| 블록 지정 | latest |
| 인증 | 없음 |
| 배치 | 20건씩 묶어 20묶음, 묶음 사이 0.15초 |
| 조회 시각 | 2026년 8월 24일 오후 4시 48분 38초 (한국 시각) |
먼저 접속한 노드가 정말 메인넷인지 확인했어요. eth_chainId 를 물으니 0x1 이 돌아왔고, 같은 순간 최신 블록 번호는 25,823,640 이었어요. 목록 파일도 HTTP 200 만 보고 넘기지 않았어요. 응답 앞부분에 HTML 오류 페이지의 태그가 섞여 있지 않은지 확인한 다음 파싱했습니다. 200 이 왔다고 데이터가 온 건 아니거든요.
여기서 미리 단서를 하나 붙일게요. 399건을 latest 로 물었기 때문에 모두 같은 블록에서 읽혔다는 보장은 없어요. 전체 측정에 걸린 시간은 약 6초입니다.
한 번만 재고 끝내면 우연히 이상한 값을 잡았을 수도 있어서, 9분 뒤인 오후 4시 57분 35초에 같은 399개에 같은 호출을 한 번 더 보냈어요. 응답 수도 399개 그대로였고 자릿수 분포도 한 칸도 다르지 않았습니다. 두 회차 사이에서 값이 흔들리지 않는다는 것까지는 확인한 셈이에요. 물론 9분 간격 두 번이라는 범위 안에서의 이야기입니다.
토큰 목록은 체인이 아니라 누군가 관리하는 파일이에요
이게 이 글에서 제일 중요한 구분이에요. 지갑이나 스왑 화면에 뜨는 토큰 목록은 체인에서 자동으로 흘러나오는 게 아니에요. 사람이 고르고 편집해서 올려 둔 JSON 파일입니다.
이번에 쓴 파일의 신원은 이래요.
| 항목 | 값 |
|---|---|
| 이름 | Uniswap Labs Default |
| 버전 | 22.12.0 |
| 파일 타임스탬프 | 2026-08-20T17:21:46.318Z |
| 전체 항목 | 1,693개 |
| 등장하는 체인 ID | 25개 |
| 체인 ID 1 항목 | 399개 (중복 주소 0) |
파일에는 체인마다 이름이 적혀 있지 않고 숫자 ID 만 들어 있어요. 그래서 이 글은 체인 ID 1 만 「이더리움 메인넷」이라고 부릅니다. 그건 추측이 아니라 같은 주소로 eth_chainId 를 물어 0x1 을 받아서 확인한 값이에요. 나머지 24개 ID 가 어느 네트워크인지는 이번에 확인하지 않았습니다.
파일이라는 말은 곧 낡을 수 있고 틀릴 수도 있다는 뜻이에요. 실제로 어긋난 항목이 나왔고, 아래에서 그 한 건을 봅니다.
투자 정보 안내
본 글은 암호화폐 시장에 대한 객관 데이터·정보 제공 목적이며, 특정 코인 매수·매도 권유가 아닙니다. 암호화폐는 변동성이 매우 크고 원금 전액 손실이 가능하므로 본인 판단과 책임 하에 결정하세요.
소수점 자리는 여덟 가지로 갈렸어요
399개 전부가 응답했어요. revert 도, 빈 응답도, 에러도 없었습니다.
| 소수점 자리 | 토큰 수 |
|---|---|
| 0자리 | 1 |
| 2자리 | 2 |
| 4자리 | 2 |
| 6자리 | 22 |
| 8자리 | 25 |
| 9자리 | 5 |
| 12자리 | 1 |
| 18자리 | 341 |
합을 맞춰 보면 1 + 2 + 2 + 22 + 25 + 5 + 1 + 341 = 399 입니다.
여기서 세 가지가 보여요.
첫째, 18자리가 압도적이지만 전부는 아니에요. 341개, 비율로는 85.5%입니다. 나머지 58개가 다른 자리를 씁니다.
둘째, 값이 촘촘히 퍼져 있지 않아요. 관측된 값은 0, 2, 4, 6, 8, 9, 12, 18 여덟 개뿐이에요. 1자리, 3자리, 5자리, 7자리는 이 399개 안에 하나도 없었습니다. 10자리와 11자리도 없었고요. 다시 말해 소수점 자리는 연속된 눈금이 아니라 몇 개의 관습으로 뭉쳐 있어요.
셋째, 0자리짜리가 실제로 있어요. 쪼갤 수 없는 토큰이라는 뜻입니다. 이번 측정에서는 SLP 한 개가 그랬어요.

18자리가 아닌 58개를 자릿수별로 늘어놓으면
목록으로 보면 성격이 더 잘 보여요.
| 자릿수 | 개수 | 심볼 |
|---|---|---|
| 0자리 | 1 | SLP |
| 2자리 | 2 | GUSD, TEL |
| 4자리 | 2 | AST, TLM |
| 6자리 | 22 | ALICE, AUDD, AUSD, AXL, CHR, DAR, ES, EURC, EUROP, EURQ, EURR, GYEN, KUJI, POWR, PYUSD, USDC, USDG, USDQ, USDR, USDT, XAUT, XSGD |
| 8자리 | 25 | ACH, BITCOIN, cbBTC, COVAL, CRO, CUBE, CVC, DENT, DOVU, FLUX, GALA, MOVE, MTL, ORN, PRO, QRDO, SPX, STORJ, SWFTC, TIME, TRU, VGX, WBT, WBTC, WFB |
| 9자리 | 5 | FLOKI, Neiro, RLC, SOL, TOKEN |
| 12자리 | 1 | WANLOG |
6자리와 8자리 안에는 눈에 띄는 무리가 있어요
심볼 문자열에 어떤 글자가 들어 있는지만 세어 봤어요. 자산의 성격을 판정한 게 아니라 글자를 센 것이에요.
| 무리 | 전체 | 조건 | 해당 |
|---|---|---|---|
| 6자리 | 22개 | 심볼에 USD 라는 글자가 들어감 | 7개 — AUSD, PYUSD, USDC, USDG, USDQ, USDR, USDT |
| 6자리 | 22개 | 심볼에 EUR 라는 글자가 들어감 | 4개 — EURC, EUROP, EURQ, EURR |
| 8자리 | 25개 | 심볼에 BTC 또는 BITCOIN 이 들어감 | 3개 — BITCOIN, WBTC, cbBTC |
6자리 22개 중 11개가 심볼에 USD 나 EUR 를 달고 있어요. 여기에 GYEN, XSGD, AUDD 처럼 다른 통화 기호를 연상시키는 이름까지 있고요. 8자리 쪽에는 비트코인을 감싼 토큰이 섞여 있습니다.
여기서 조심할 게 있어요. 이건 관측된 무리이지 규칙이 아니에요. 이 데이터로 "스테이블코인은 6자리다"라고 말할 수는 없어요. 같은 목록 안에 18자리를 쓰는 달러 연동 토큰도 있고, 6자리 칸에 통화와 무관해 보이는 이름도 섞여 있습니다. 무엇보다 저는 심볼 글자만 세었지 각 토큰이 무엇에 연동돼 있는지 확인하지 않았어요. 그러니 개별 토큰은 개별로 확인해야 해요.
숫자 단위 자체가 생소하시면 사토시와 웨이, gwei가 각각 어떤 단위인지 정리한 글을 먼저 보시면 아래 내용이 훨씬 잘 붙어요.
자릿수가 왜 중요하냐면, 체인에는 정수만 적히거든요
이 숫자가 왜 의미가 있는지 짚고 갈게요. 체인에 기록되는 잔고와 전송량은 언제나 정수예요. 소수점이 붙은 수는 어디에도 저장되지 않아요. 사람이 보는 「1.5개」는 정수를 소수점 자리만큼 나눠서 만든 표시값입니다.
그래서 같은 정수라도 자릿수를 몇으로 잡느냐에 따라 전혀 다른 금액이 돼요.
| 소수점 자리 | 표현 가능한 가장 작은 단위 | 1개를 정수로 쓰면 |
|---|---|---|
| 0자리 | 1 | 1 |
| 2자리 | 0.01 | 100 |
| 4자리 | 0.0001 | 10,000 |
| 6자리 | 0.000001 | 1,000,000 |
| 8자리 | 0.00000001 | 100,000,000 |
| 9자리 | 0.000000001 | 1,000,000,000 |
| 12자리 | 0.000000000001 | 1,000,000,000,000 |
| 18자리 | 0.000000000000000001 | 1,000,000,000,000,000,000 |
읽는 법은 이래요. 6자리 토큰에서 정수 1,000,000 은 1개지만, 같은 정수를 18자리로 읽으면 0.000000000001개가 돼요. 반대로 18자리 토큰의 1개를 6자리로 잘못 읽으면 1조 개가 되고요.
이 글에서 관측된 자릿수는 0에서 18까지 벌어져 있으니, 잘못 잡았을 때의 오차도 그만큼 벌어져요. 0자리와 18자리를 헷갈리면 10의 18제곱배, 즉 100경 배 차이가 납니다.
한 가지 더 있어요. 0자리 토큰은 쪼갤 수가 없어요. 이번 측정의 SLP 가 그런 경우인데, 0.5개라는 값 자체가 존재하지 않습니다. 2자리인 GUSD 와 TEL 은 0.01 단위까지만 나뉘고요. 자릿수는 표시 형식이 아니라 그 토큰이 가질 수 있는 값의 촘촘함 자체예요.
목록 자릿수가 체인과 어긋난 한 개 — FLUX
399개의 소수점 자리를 전부 대조했을 때 목록에 적힌 자릿수와 컨트랙트가 답한 자릿수가 다른 건 딱 한 건이었어요.
| 항목 | 값 |
|---|---|
| 심볼 | FLUX |
| 주소 | 0x720CD16b011b987Da3518fbf38c3071d4F0D1495 |
| 목록에 적힌 소수점 | 18자리 |
| 컨트랙트가 답한 소수점 | 8자리 |
주소를 잘못 짚은 건 아닌지부터 확인했어요. 같은 주소에 표준 함수 세 개를 더 물었습니다.
| 호출 | 응답 |
|---|---|
symbol() | FLUX |
name() | Flux |
decimals() | 8 |
totalSupply() | 44,000,000,000,000,000 |
심볼과 이름이 목록과 같아요. 엉뚱한 컨트랙트를 부른 게 아니라, 자릿수 하나가 어긋난 겁니다.
이 차이가 얼마나 큰지는 총발행량으로 보면 바로 나와요. 같은 정수 44,000,000,000,000,000 을 놓고,
| 어느 자릿수로 읽느냐 | 결과 |
|---|---|
| 컨트랙트가 답한 8자리 | 440,000,000 |
| 목록에 적힌 18자리 | 0.044 |
10의 10제곱배, 그러니까 100억 배 차이예요. 총발행량이 0.044 라는 값은 상식적으로 성립하지 않으니, 이 컨트랙트를 다루는 계산에서는 체인이 답한 8자리가 기준이라는 데까지가 데이터가 받쳐 주는 범위입니다.
여기서 멈출게요. 어느 쪽이 프로젝트의 의도였는지, 왜 어긋났는지는 확인하지 않았어요. 목록의 오기인지 다른 사정이 있는지 판정할 근거를 이번에 열지 않았습니다. 다만 짚어 둘 건 하나 있어요. 399분의 1이라는 건 목록의 자릿수 칸이 대체로 정확하다는 뜻이기도 하고, 동시에 목록만 믿으면 언젠가 그 한 건을 밟는다는 뜻이기도 해요.
투자 정보 안내
본 글은 암호화폐 시장에 대한 객관 데이터·정보 제공 목적이며, 특정 코인 매수·매도 권유가 아닙니다. 암호화폐는 변동성이 매우 크고 원금 전액 손실이 가능하므로 본인 판단과 책임 하에 결정하세요.
값을 아는 토큰 8종으로 먼저 맞춰 봤어요
분포를 세기 전에 해야 할 일이 있어요. 내가 응답을 제대로 해석하고 있는지를 값이 이미 알려진 토큰으로 확인하는 거예요. 이걸 건너뛰면 파싱이 어긋난 채로 399개를 세게 됩니다.
| 심볼 | 목록 선언 | 체인 응답 | 일치 |
|---|---|---|---|
| USDT | 6 | 6 | 예 |
| USDC | 6 | 6 | 예 |
| WBTC | 8 | 8 | 예 |
| DAI | 18 | 18 | 예 |
| WETH | 18 | 18 | 예 |
| LINK | 18 | 18 | 예 |
| SHIB | 18 | 18 | 예 |
| GUSD | 2 | 2 | 예 |
8종 전부 일치했어요. USDT 의 응답 원문은 0x0000...0006 이었고, 이걸 16진수로 읽어 6이 나옵니다. 대조군이 맞았으니 나머지 391개의 해석도 같은 규칙으로 믿을 수 있어요.
같은 방식으로 공개 노드에 직접 물어 블록 데이터를 세어 본 기록은 블롭 30블록을 받아 개수와 단가를 실측한 글에 따로 있어요.
목록 기준 57개, 체인 기준 58개 — 차이가 딱 하나예요
측정이 어긋나지 않았는지 한 번 더 확인하는 방법이 있어요. 같은 것을 두 경로로 세어 보고 차이가 설명되는지 보는 거예요.
목록 파일에 적혀 있는 값만으로 체인 ID 1 을 집계하면 18이 아닌 것이 57개입니다. 체인에 직접 물어 집계하면 58개예요.
| 자릿수 | 목록 선언 | 체인 응답 |
|---|---|---|
| 8자리 | 24 | 25 |
| 18자리 | 342 | 341 |
| 나머지 값 | 동일 | 동일 |
차이는 8자리 칸이 하나 늘고 18자리 칸이 하나 준 것뿐이에요. 그 한 건이 앞에서 본 FLUX 입니다. 불일치 1건과 집계 차이 1건이 정확히 맞물려요. 다른 곳에서 새는 값이 없다는 뜻입니다.
같은 심볼이 체인마다 다른 자릿수를 쓰기도 해요
여기서부터는 실측이 아니라 목록에 적힌 값끼리의 비교예요. 체인 ID 1 밖의 컨트랙트에는 묻지 않았습니다. 그 전제를 달고 읽어 주세요.
목록 전체 1,693개 항목에 등장하는 서로 다른 심볼은 819개예요. 그중 선언된 소수점이 체인마다 갈리는 심볼이 46개였어요. 값이 세 갈래로 갈린 심볼은 AVA 하나로, 6자리와 8자리와 18자리가 함께 적혀 있었습니다.
이 46개가 어디서 나오는지 세어 보니 한쪽으로 쏠려 있었어요.
| 체인 ID | 46개 심볼 안에서 18이 아닌 값을 가진 항목 수 |
|---|---|
| 501000101 | 44 |
| 130 | 5 |
| 1 | 4 |
| 43114 | 3 |
| 8453 | 3 |
| 나머지 7개 ID | 각 1–2 |
체인 ID 501000101 이 어떤 곳인지 데이터 안에서만 말하면 이래요. 이 ID 의 항목 184개는 주소 형식부터 다릅니다. 나머지 24개 체인은 항목 전부가 0x 로 시작하는 20바이트 주소인데, 이 ID 만 184개 전부가 그 형식이 아니에요. 선언된 소수점도 184개 중 183개가 18이 아니었습니다.
체인 ID 별로 18자리 비중이 크게 달라요
같은 목록을 체인 ID 별로 갈라서 세어 봤어요. 이것도 목록에 적힌 선언값 기준이고, 25개 체인 ID 중 항목이 많은 열 개만 옮겼습니다.
| 체인 ID | 항목 수 | 18자리가 아닌 것 |
|---|---|---|
| 1 | 399 | 57 |
| 130 | 307 | 51 |
| 42161 | 202 | 27 |
| 4663 | 201 | 0 |
| 501000101 | 184 | 183 |
| 8453 | 109 | 16 |
| 56 | 91 | 13 |
| 10 | 64 | 8 |
| 137 | 47 | 10 |
| 43114 | 46 | 9 |
양 끝이 극단적이에요. 체인 ID 4663 은 201개가 전부 18자리인데, 501000101 은 184개 중 183개가 18자리가 아니에요. 그 사이의 체인들은 12퍼센트에서 22퍼센트 사이가 18자리가 아니에요. 그러니 "18자리가 기본"이라는 감각은 어느 체인을 보고 있느냐에 따라 크게 달라져요.
이름 필드를 열어 보면 왜 갈리는지가 더 분명해져요.
| 심볼 | 체인 ID | 선언 소수점 | 이름 필드 |
|---|---|---|---|
| WETH | 1 | 18 | Wrapped Ether |
| WETH | 501000101 | 8 | Wrapped Ether (Wormhole) |
| AVA | 1 | 18 | AVA |
| AVA | 501000101 | 6 | Ava AI |
| MIM | 1 | 18 | Magic Internet Money |
| cbBTC | 1 | 8 | Coinbase Wrapped BTC |
| cbBTC | 4217 | 6 | Coinbase Wrapped BTC |
거꾸로도 세어 봤어요. 메인넷에서 18자리가 아니었던 58개 중 다른 체인에서 다른 자릿수로 선언된 심볼은 5개였어요. FLUX, SWFTC, USDC, USDT, cbBTC 다섯입니다. 나머지 53개는 목록 안에서 자릿수가 갈리지 않았어요. 그리고 메인넷 399개 중 62개는 심볼이 이 목록 전체를 통틀어 한 번씩만 등장했습니다. 즉 갈림 문제는 목록 전체에 퍼져 있는 게 아니라 여러 체인에 같은 이름으로 올라간 항목들에 몰려 있어요.
심볼이 같아도 같은 물건이 아닌 경우가 섞여 있어요. AVA 는 이름부터 다른 자산이고, WETH 는 감싼 방식이 달라요. 그러니 "심볼이 같으니 자릿수도 같겠지"라는 짐작이 여기서 깨집니다. 체인마다 토큰 주소가 따로 있다는 개념 자체가 낯설다면 코인과 토큰이 어떻게 다른지 정리한 글을 함께 보시면 좋아요.

직접 확인하는 순서
같은 방식으로 손에 든 토큰 하나를 확인하고 싶으시면 순서는 이래요. 특별한 도구는 필요 없어요.
- 주소를 먼저 확정해요. 심볼로 찾지 말고 컨트랙트 주소로 찾습니다. 같은 심볼이 여러 개 있을 수 있어요.
- 그 주소가 어느 체인의 것인지 적어 둡니다. 같은 문자열이 다른 체인에도 존재할 수 있어요.
- 그 체인의 RPC 에
eth_call로decimals()를 부릅니다. 데이터 칸에0x313ce567을 넣으면 돼요. 블록 탐색기의 컨트랙트 읽기 화면에서 같은 함수를 눌러도 같은 값이 나옵니다. - 돌아온 16진수를 10진수로 바꿉니다.
0x06이면 6자리,0x12면 18자리예요. - 목록이나 화면에 적힌 값과 맞대 봅니다. 다르면 계산의 기준은 컨트랙트가 답한 값이에요.
- 값을 아는 토큰 하나로 검산해요. USDT 를 부르면 6이 나와야 해요. 6이 아니면 파싱이나 접속에 문제가 있는 겁니다.
정수와 표시값을 옮길 때 규칙은 하나예요. 체인에 적힌 값은 항상 정수이고, 사람이 보는 수는 그 정수를 10의 자릿수 제곱으로 나눈 값이에요. 8자리 토큰의 정수 44,000,000,000,000,000 은 440,000,000 이 되는 식입니다.
확인하지 못한 것
이 글이 재지 않은 것을 구체적으로 적어 둘게요. 아래는 전부 본문에서 주장하지 않은 것입니다.
첫째, 블록을 고정하지 않았어요. latest 로 물었기 때문에 399건이 전부 같은 블록에서 읽혔는지 확인하지 않았습니다. 측정에 6초가 걸렸어요.
둘째, 노드 한 곳의 응답이에요. 공개 RPC 엔드포인트 하나만 썼고 두 번째 노드로 재현하지 않았습니다.
셋째, 메인넷 토큰 전체가 아니에요. 목록 파일 한 개에 실린 399개입니다. 이더리움에 ERC-20 토큰이 모두 몇 개인지는 세지 않았어요.
넷째, 다른 토큰 목록을 열지 않았어요. 그러니 "목록 자릿수가 체인과 어긋난 건 한 개"라는 문장은 이 파일 하나에 대한 값이지 모든 토큰 목록에 대한 값이 아니에요. 다른 목록에서는 다른 결과가 나올 수 있습니다.
다섯째, 체인 ID 1 밖의 컨트랙트에는 묻지 않았어요. 앞 절의 46개 심볼과 체인별 표는 전부 목록에 적힌 선언값입니다. 다른 체인의 실제 응답이 그 선언과 같은지는 확인하지 않았어요.
여섯째, 체인 ID 숫자가 어느 네트워크인지 확인하지 않았어요. 체인 ID 1 만 eth_chainId 응답으로 대조했습니다. 130 이나 501000101 이 어느 곳인지는 이 파일에 이름이 없어서 여기서 말하지 않아요.
일곱째, FLUX 불일치의 원인을 조사하지 않았어요. 프로젝트 측 공지나 목록 관리자의 이력을 찾아보지 않았습니다.
여덟째, 거래소나 지갑이 실제로 어느 값을 쓰는지 재지 않았어요. 이 글은 거래소 API 를 한 번도 부르지 않았습니다. 체인과 목록 파일 두 곳만 봤어요.
아홉째, 소수점 자리가 바뀔 수 있는지 확인하지 않았어요. decimals() 를 상수로 두지 않은 컨트랙트가 있는지 코드를 열지 않았습니다.
열째, 각 토큰이 무엇에 연동돼 있는지 확인하지 않았어요. 6자리 무리에서 USD 나 EUR 를 센 것은 심볼 문자열에 그 글자가 들어 있는지를 본 것뿐이에요. 어느 토큰이 스테이블코인인지는 판정하지 않았습니다.
열한째, 재현은 두 회차뿐이에요. 9분 간격으로 두 번 잰 값이 같았다는 것까지입니다. 하루 뒤나 일주일 뒤에도 같은지는 재지 않았어요.
열두째, 목록과 맞대 본 칸은 소수점 자리 하나뿐이에요. 목록에는 이름과 심볼도 적혀 있지만 399개 전부를 name()·symbol() 로 대조하지는 않았습니다. FLUX 한 건에만 그 두 함수를 따로 불러 봤어요. 그러니 "어긋난 건 한 개"는 소수점 자리 칸에 대한 값이지 목록의 모든 칸에 대한 값이 아니에요.
정리하면
| 물음 | 2026년 8월 24일 오후 4시 48분 기준 |
|---|---|
| 잰 대상 | 체인 ID 1 토큰 399개 |
| 응답 | 399개 전부 (무응답 0건) |
| 서로 다른 자릿수 값 | 8가지 (0, 2, 4, 6, 8, 9, 12, 18) |
| 18자리 | 341개 |
| 18자리가 아닌 것 | 58개 |
| 가장 작은 값 | 0자리 (SLP) |
| 목록과 체인의 자릿수 불일치 | 1건 (FLUX, 목록 18 · 체인 8) |
| 대조군 8종 | 전부 일치 |
| 목록에 등장하는 심볼 | 819개 |
| 체인마다 선언 자릿수가 갈리는 심볼 | 46개 |
| 값이 세 갈래인 심볼 | 1개 (AVA) |
한 줄로 줄이면 이렇게 돼요. 소수점 18자리는 관습이지 규칙이 아니고, 목록은 체인이 아니에요. 399개 중 58개가 다른 자리를 썼고, 목록의 자릿수가 체인과 어긋난 곳이 한 군데 있었습니다. 금액을 다루는 계산이라면 기준은 언제나 컨트랙트가 답한 값이에요. decimals() 한 번이면 확인됩니다.
확인한 자료: 토큰 주소 목록은 Uniswap Labs Default 토큰 목록 JSON(버전 22.12.0, 파일 타임스탬프 2026-08-20T17:21:46.318Z), 소수점 값은 이더리움 메인넷 공개 RPC 엔드포인트에 eth_call 로 decimals() 를 직접 호출한 응답입니다. 2026년 8월 24일 오후 4시 48분 38초(한국 시각)부터 399건을 순차로 받았어요. 값은 응답 원문을 그대로 옮겼고, 합계와 비율만 제가 계산했습니다.
토큰 표준 문서를 직접 찾아볼 때는 저장소가 두 곳으로 갈려 있다는 점도 알아 두면 좋아요. 그 이야기는 EIP와 ERC 저장소가 갈라진 뒤 번호가 어떻게 남았는지 센 글에 적어 두었어요.
이 글은 공개된 체인 응답과 공개 토큰 목록 파일을 정리한 정보 제공 목적의 자료이며, 특정 자산의 매수나 매도를 권하는 글이 아닙니다. 수치는 특정 시각의 스냅숏이라 목록 파일이 갱신되면 달라집니다. 가상자산은 원금 손실이 발생할 수 있고, 투자 판단과 그 결과는 전적으로 본인 책임입니다.