호가창을 오래 들여다보면 줄이 고르게 서 있습니다. 1원씩, 10원씩, 1,000원씩. 그런데 가끔 그 줄에서 벗어난 가격이 하나씩 끼어 있습니다.
먼저 결론부터 적습니다. 업비트 원화마켓 286종의 호가창을 한 순간에 받아 17,160개 가격을 전수로 세었더니, 현행 주문 가격 단위로는 제출할 수 없는 가격이 20개 실려 있었습니다. 전체의 0.12퍼센트이고 5개 종목에 몰려 있습니다.
그리고 그 20개는 우연이 아닙니다. 20개 전부가 2025년 7월 31일에 폐지된 옛 주문 가격 단위 위에 정확히 얹혀 있습니다. 하나도 빠짐없이 그렇습니다.
이 글이 재는 자리를 먼저 못박아 둡니다. 이 글은 업비트 공개 호가 조회 창구가 돌려주는 가격 값만 봅니다. 주문을 낸 적이 없고, 체결을 시험한 적도 없습니다. 어느 주문이 언제 제출됐는지는 공개 창구에 없으므로 주문 시점을 직접 확인한 것이 아니라, 지금은 낼 수 없는 가격이라는 사실에서 거꾸로 따진 것입니다. 그 논리가 어디서 성립하고 어디서 무너지는지도 아래에 적었습니다.
![]()
어떤 창구를 어떻게 받았는지 먼저 밝힙니다
| 항목 | 값 |
|---|---|
| 창구 | 업비트 공개 마켓 목록 조회와 공개 호가 조회 |
| 인증 | 없음. API 키를 쓰지 않는 공개 경로 |
| 조회 일시 | 2026년 8월 25일 오전 11시 29분 25초에서 11시 29분 30초 사이 (한국 시각) |
| 스냅샷 폭 | 첫 요청 시작부터 마지막 응답 종료까지 4.66초 |
| 모집단 | 원화마켓 286종 (업비트 전체 마켓 845종 중) |
| 읽은 가격 수 | 종목당 매도 30호가와 매수 30호가, 합계 17,160개 |
| 본 것 | 호가 가격 값, 호가 잔량, 종목별 최우선 호가 |
| 안 본 것 | 체결 내역, 주문 제출 시각, 주문 주체, 웹과 앱 화면 표시값 |
응답은 전부 HTTP 200이었고 종목당 30단계가 빠짐없이 왔습니다. 286종에 30단계씩 매도와 매수 두 쪽이니 정확히 17,160개입니다. 분모를 손으로 곱해 응답 개수와 맞춰 두었습니다.
원화마켓 종목 수는 살아 있는 값이라 조회 시점에 묶입니다. 며칠 전 같은 방법으로 셌을 때와 종목이 어떻게 갈리는지는 업비트와 빗썸의 원화마켓 종목을 같은 방법으로 맞대 본 글에 따로 적어 두었습니다.
현행 주문 가격 단위는 이렇게 생겼습니다
업비트는 원화마켓 주문 가격 단위를 가격대별로 나눠 두었습니다. 아래는 공식 안내 문서에 실린 현행 표를 그대로 옮긴 것입니다. 이 문서는 2026년 7월 7일에 갱신된 것으로 표시돼 있습니다.
| 디지털 자산 1개 가격 | 호가 단위 |
|---|---|
| 1,000,000원 이상 | 1,000원 |
| 500,000원 이상 1,000,000원 미만 | 500원 |
| 100,000원 이상 500,000원 미만 | 100원 |
| 50,000원 이상 100,000원 미만 | 50원 |
| 10,000원 이상 50,000원 미만 | 10원 |
| 5,000원 이상 10,000원 미만 | 5원 |
| 1,000원 이상 5,000원 미만 | 1원 |
| 100원 이상 1,000원 미만 | 1원 |
| 10원 이상 100원 미만 | 0.1원 |
| 1원 이상 10원 미만 | 0.01원 |
| 0.1원 이상 1원 미만 | 0.001원 |
| 0.01원 이상 0.1원 미만 | 0.0001원 |
| 0.001원 이상 0.01원 미만 | 0.00001원 |
| 0.0001원 이상 0.001원 미만 | 0.000001원 |
| 0.00001원 이상 0.0001원 미만 | 0.0000001원 |
| 0.00001원 미만 | 0.00000001원 |
표를 읽을 때 걸리는 자리가 하나 있습니다. 1,000원대와 100원대의 단위가 둘 다 1원으로 같습니다. 가격이 열 배 차이인데 눈금은 같습니다. 100원대에서는 한 눈금이 1퍼센트에 가깝고 1,000원대에서는 0.1퍼센트 수준이라, 같은 1원이어도 체감이 전혀 다릅니다.
이 표를 격자 삼아 17,160개 가격을 하나씩 나눠 떨어지는지 확인했습니다. 소수점 계산에서 생기는 오차를 피하려고 모든 가격을 1억분의 1원 단위 정수로 바꿔서 나눴습니다.
어긋난 20개는 이렇게 생겼습니다
| 종목 | 방향 | 가격 | 잔량 | 그 가격대의 현행 단위 |
|---|---|---|---|---|
| 저스트(JST) | 매도 | 157.2원 | 190.83969466 | 1원 |
| 저스트(JST) | 매도 | 157.3원 | 34.31460031 | 1원 |
| 저스트(JST) | 매도 | 157.5원 | 166.66666666 | 1원 |
| 저스트(JST) | 매도 | 157.7원 | 126.8230818 | 1원 |
| 저스트(JST) | 매도 | 159.8원 | 32.69286079 | 1원 |
| 저스트(JST) | 매도 | 159.9원 | 31.27579738 | 1원 |
| 저스트(JST) | 매도 | 160.4원 | 1738.60951345 | 1원 |
| 저스트(JST) | 매도 | 161.9원 | 166.66666666 | 1원 |
| 테더(USDT) | 매수 | 1,358.5원 | 124.0 | 1원 |
| 테더(USDT) | 매수 | 1,357.5원 | 91.03130754 | 1원 |
| 테더(USDT) | 매수 | 1,355.5원 | 7.37735153 | 1원 |
| 테더(USDT) | 매수 | 1,354.5원 | 376.5227021 | 1원 |
| 테더(USDT) | 매수 | 1,353.5원 | 297.29667746 | 1원 |
| 테더(USDT) | 매수 | 1,352.5원 | 345.50192762 | 1원 |
| 테더(USDT) | 매수 | 1,351.5원 | 946.09780686 | 1원 |
| 유에스디코인(USDC) | 매수 | 1,351.5원 | 7.70033296 | 1원 |
| 유에스디코인(USDC) | 매수 | 1,350.5원 | 25.5646057 | 1원 |
| 유에스디코인(USDC) | 매수 | 1,348.5원 | 11.12421208 | 1원 |
| 헌트(HUNT) | 매수 | 98.69원 | 101.32738879 | 0.1원 |
| 쎄타퓨엘(TFUEL) | 매수 | 9.843원 | 1015.95042161 | 0.01원 |
| 합계 | 20개 |
종목별로는 저스트 8개, 테더 7개, 유에스디코인 3개, 헌트 1개, 쎄타퓨엘 1개입니다. 286종 중 5종에만 있고 나머지 281종은 하나도 없습니다.
한쪽으로 몰려 있는 것도 눈에 띕니다. 저스트는 8개가 전부 매도 쪽이고, 테더와 유에스디코인과 헌트와 쎄타퓨엘은 12개가 전부 매수 쪽입니다. 왜 그런지는 공개 창구만으로는 알 수 없어서 이 글에서 따지지 않았습니다.

20개가 전부 옛 격자 위에 얹혀 있습니다
여기서부터가 이 글의 본론입니다. 어긋난 20개를 폐지된 옛 단위 표에 대고 다시 나눴습니다.
| 종목 | 가격 | 현행 단위 | 폐지된 옛 단위 | 옛 격자에 맞는가 |
|---|---|---|---|---|
| 저스트 8개 | 157.2원에서 161.9원 | 1원 | 0.1원 | 8개 모두 맞음 |
| 테더 7개 | 1,351.5원에서 1,358.5원 | 1원 | 0.5원 | 7개 모두 맞음 |
| 유에스디코인 3개 | 1,348.5원에서 1,351.5원 | 1원 | 0.5원 | 3개 모두 맞음 |
| 헌트 1개 | 98.69원 | 0.1원 | 0.01원 | 맞음 |
| 쎄타퓨엘 1개 | 9.843원 | 0.01원 | 0.001원 | 맞음 |
| 합계 | 20개 중 20개 |
스무 개가 스무 개 다 맞습니다. 만약 이 가격들이 무작위로 생긴 값이라면 이렇게 깔끔하게 떨어질 이유가 없습니다. 저스트의 여덟 개는 소수 첫째 자리가 2, 3, 5, 7, 8, 9, 4, 9로 제각각인데 전부 0.1원 격자 위에 있습니다. 헌트의 98.69원은 0.01원 격자에, 쎄타퓨엘의 9.843원은 0.001원 격자에 있습니다.
그리고 테더와 유에스디코인의 0.5원은 특히 분명합니다. 이 두 종목만 한때 0.5원 단위를 따로 썼기 때문입니다. 다른 스테이블코인은 그런 적이 없습니다. 같은 조회에서 원화값이 거의 붙어 있는 다른 스테이블코인들을 보면 이 대비가 그대로 드러납니다.
| 종목 | 최우선 매수와 매도의 중간값 | 0.5원 자리 가격 개수 |
|---|---|---|
| 테더(USDT) | 1,375.5원 | 7개 |
| 유에스디코인(USDC) | 1,375.0원 | 3개 |
| 에테나USDe(USDE) | 1,374.5원 | 0개 |
| 글로벌달러(USDG) | 1,374.0원 | 0개 |
| 스카이달러(USDS) | 1,373.0원 | 0개 |
| USD1 | 1,375.5원 | 0개 |
| 리플USD(RLUSD) | 1,375.5원 | 0개 |
가격대가 같은 일곱 종목 중 0.5원 자리가 나오는 것은 테더와 유에스디코인 둘뿐입니다. 그리고 그 둘이 정확히 과거에 0.5원 단위를 따로 적용받았던 종목입니다.
왜 새로 낸 주문일 수 없는가
논리는 단순합니다. 지금 그 가격으로는 주문이 접수되지 않습니다. 업비트 개발자 문서는 단위에 맞지 않는 가격으로 주문을 넣으면 invalid_price_bid 또는 invalid_price_ask 오류가 난다고 적어 두었습니다. 그러니 호가창에 그 가격이 실려 있다면 단위가 바뀌기 전에 들어간 주문이라는 결론이 남습니다.
공지도 그렇게 될 것이라고 미리 적어 두었습니다. 단위 변경 공지의 유의 사항에는 이런 문장이 있습니다. 기존에 등록된 주문은 취소되지 않으며, 변경 전 단위로 제출된 주문은 호가창 내 노출될 수 있고, 직접 취소하지 않으면 테이커 주문에 의해 체결될 수 있다는 내용입니다.
즉 이 20개는 사고가 아니라 공지가 예고한 그대로의 상태입니다. 다만 예고와 실제 사이에 시간이 얼마나 벌어졌는지는 공지에 없습니다. 그 자리를 이번 조회가 메웁니다.
정말로 값이 고정돼 있는지도 확인했습니다. 테더와 유에스디코인의 호가창을 6초 간격으로 세 번 연달아 받아 봤습니다.
| 스냅샷 | 테더의 0.5원 자리 개수 | 유에스디코인의 0.5원 자리 개수 |
|---|---|---|
| 오전 11시 28분 23초 | 7개 | 3개 |
| 오전 11시 28분 29초 | 7개 | 3개 |
| 오전 11시 28분 35초 | 7개 | 3개 |
같은 개수가 그대로 남아 있습니다. 세 번째 스냅샷에서 최우선 호가는 1원 내려갔는데도 0.5원 자리 개수는 변하지 않았습니다. 활발히 갱신되는 값이 아니라 자리를 지키고 있는 값이라는 뜻입니다.
단위가 언제 어떻게 바뀌었는지
옛 단위가 무엇이었는지 확정하려고 업비트 공지를 제목 단위로 훑었습니다. 최근 공지부터 거슬러 1,590건을 확인했고, 가장 오래된 것이 2024년 12월 20일 자였습니다. 그중 제목에 「호가」가 들어간 것은 4건뿐이었습니다.
| 공지일 | 제목 | 내용 |
|---|---|---|
| 2025년 7월 10일 | KRW 마켓 호가 단위 변경 안내 | 2025년 7월 31일부터 원화마켓 전체에 통합 표 적용 |
| 2025년 5월 19일 | 30호가 확대, 최대 예약 주문 정책 변경 등 | 호가창 노출 단계 관련 |
| 2025년 3월 7일 | NFT 호가 단위 변경 안내 | 원화마켓과 무관 |
| 2025년 2월 28일 | USDT/KRW, USDC/KRW 마켓 호가 단위 변경 안내 | 2025년 3월 21일부터 1,000원대 구간 1원에서 0.5원으로 |
2025년 7월 31일 이후로는 원화마켓 호가 단위를 바꾼 공지가 없습니다. 그러니 그날의 통합 표가 지금도 현행이고, 앞서 옮긴 안내 문서의 표와도 일치합니다.
그리고 통합 공지에는 이런 문장이 들어 있습니다. 기존에 안내한 16종 및 테더와 유에스디코인의 호가 단위 변경은 이 공지의 호가 단위로 일괄 반영될 예정이라는 내용입니다. 즉 0.5원 예외는 2025년 7월 31일에 사라졌습니다. 현행 안내 문서의 원화마켓 표에도 그 예외는 없습니다.
여기서 시간이 나옵니다. 테더와 유에스디코인의 0.5원 주문은 2025년 3월 21일부터 7월 31일 사이에만 낼 수 있었습니다. 이번 조회는 2026년 8월 25일입니다. 길게 잡으면 1년 1개월, 짧게 잡아도 1년 넘게 그 자리에 있었다는 뜻입니다.
저스트와 헌트와 쎄타퓨엘의 경우는 조금 다릅니다. 이들은 0.1원, 0.01원, 0.001원이라는 옛 일반 단위 위에 있는데, 그 단위 자체는 2025년 7월 31일에 굵어졌습니다. 그러니 최소한 2025년 7월 31일 이전에 들어간 주문입니다. 그보다 얼마나 더 오래됐는지는 공개 창구로는 알 수 없습니다.

이 사실이 실제로 걸리는 자리
세 가지입니다.
첫째, 시장가 주문은 이 가격에도 닿습니다. 시장가 주문은 최우선 호가부터 순차로 체결됩니다. 어긋난 가격이 그 경로 위에 있으면 그대로 체결됩니다. 이번 조회에서 테더의 0.5원 자리는 최우선 매수호가 바로 아래 구간에 여럿 있었고 잔량도 작지 않았습니다. 가장 큰 것이 946.09780686 테더로, 원화로 환산하면 128만 원 수준입니다.
둘째, 평균 체결가가 반 원 단위로 떨어질 수 있습니다. 체결 결과를 1원 단위로 가정하고 계산하는 도구를 쓴다면 어긋난 자리에서 값이 미세하게 안 맞습니다. 금액이 작아 손익에 영향을 줄 정도는 아니지만, 자동화 도구가 검증에 실패해 멈추는 형태로는 나타날 수 있습니다.
셋째, 내 주문에는 쓸 수 없습니다. 호가창에 보인다고 해서 같은 가격으로 따라 낼 수는 없습니다. 그 가격을 그대로 넣으면 오류가 납니다. 호가창에 뜨는 가격과 내가 낼 수 있는 가격이 다를 수 있다는 것이 이 글의 실무적인 요지입니다.
거래소마다 하루를 끊는 자리가 달라 등락률이 갈리는 문제도 이와 결이 같습니다. 화면에 보이는 숫자가 곧 내가 쓸 수 있는 숫자는 아니라는 점에서 그렇습니다. 그 건은 국내 네 거래소의 등락률 기준 시점을 한 순간에 맞대 본 글에 따로 적었습니다.
확인하지 못한 것
정직하게 남겨 둡니다.
주문 제출 시각은 확인하지 못했습니다. 공개 호가 조회 창구는 가격과 잔량만 돌려주고 주문이 언제 들어왔는지는 알려주지 않습니다. 이 글의 「1년 넘게 남아 있다」는 표현은 주문 기록을 본 것이 아니라, 그 가격을 낼 수 있었던 기간이 언제 닫혔는지로 따진 값입니다. 만약 업비트가 특정 종목에 공지 없이 예외 단위를 유지하고 있다면 이 추론은 무너집니다. 다만 1,590건의 공지 제목을 훑어 그런 공지를 찾지 못했고, 현행 안내 문서의 표에도 예외가 없으며, 같은 가격대의 다른 스테이블코인 다섯 종에는 0.5원 자리가 하나도 없다는 세 가지가 같은 방향을 가리킵니다.
주문 주체도 모릅니다. 개인인지 기관인지, 봇인지 사람인지 공개 창구에는 없습니다.
실제로 체결되는지 시험하지 않았습니다. 이 글은 주문을 한 건도 내지 않았습니다. 그 가격에 시장가가 닿으면 어떻게 되는지는 공지의 문장을 옮긴 것이지 제가 확인한 것이 아닙니다.
한 순간의 스냅샷입니다. 4.66초짜리 조회 하나와 6초 간격 세 번의 확인이 전부입니다. 며칠에 걸쳐 같은 값이 남아 있는지는 재지 않았습니다. 다른 시간에 다시 세면 20이라는 숫자는 달라질 수 있습니다.
정리
- 업비트 원화마켓 286종 17,160호가 중 현행 주문 가격 단위로 낼 수 없는 가격이 20개입니다. 0.12퍼센트입니다.
- 5개 종목에 몰려 있습니다. 저스트 8개, 테더 7개, 유에스디코인 3개, 헌트 1개, 쎄타퓨엘 1개입니다.
- 20개 전부가 폐지된 옛 단위 격자 위에 정확히 얹혀 있습니다. 20개 중 20개입니다.
- 테더와 유에스디코인의 0.5원 단위는 2025년 3월 21일부터 7월 31일까지만 유효했습니다. 그 자리의 주문은 1년 넘게 남아 있는 셈입니다.
- 공지는 이렇게 될 것이라고 미리 적어 두었습니다. 기존 주문은 취소되지 않고, 호가창에 노출되며, 테이커 주문에 체결될 수 있다는 내용입니다.
- 호가창에 보이는 가격을 그대로 따라 낼 수는 없습니다. 어긋난 가격으로 주문하면 오류가 납니다.
이 글은 특정 거래소나 종목의 이용을 권유하지 않습니다. 숫자는 전부 2026년 8월 25일 오전 11시 29분 전후의 조회값이며, 시간이 지나면 달라집니다.