심볼 변경은 문자열 치환 작업이 아닙니다. 기존 자산과 새 자산의 전환 비율, 거래소 내부 자산 ID, 시장 ID, 새 거래쌍의 개장 시각, 과거 데이터 유지 방식과 입출금 주소를 각각 확인해야 합니다. 표시 티커가 같아도 자산이 다를 수 있으므로 공급자별 ID를 기준키로 두고, 전환 전후 시계열은 근거가 있을 때만 연결합니다.
공지에서 이름 변경과 자산 교환을 구분합니다
같은 프로젝트가 티커만 바꾸는 경우와 구 토큰을 신 토큰으로 교환하는 경우는 결과가 다릅니다. 후자는 계약 주소, 단위, 공급량과 전환 비율이 바뀔 수 있습니다. 공지 제목의 ‘rebrand’만 보고 old_symbol을 new_symbol로 치환하지 말고 어떤 잔액이 언제 어떤 비율로 변환되는지 읽습니다.
Binance의 STPT→AWE 공지는 1 STPT=1 AWE 변환, 기존 현물 거래쌍 종료와 신규 AWE 거래쌍 개장, 구 토큰 입출금 미지원, 새 입금 주소 확인을 각각 안내합니다. 이 사례처럼 거래, 잔액 변환, 입출금은 하나의 시각에 동시에 끝나는 사건이 아닐 수 있습니다.
티커는 화면에 보이는 라벨이고, 자산 ID와 시장 ID가 데이터 연결의 기준입니다.
JOBCOIN 해설

그림은 이 주제의 공통 개념을 단순화한 설명입니다. 아래 항목에서 이 글의 구체적인 조건과 예외를 함께 읽어보세요.
- 공지에서 이름 변경과 자산 교환을 구분합니다
같은 프로젝트가 티커만 바꾸는 경우와 구 토큰을 신 토큰으로 교환하는 경우는 결과가 다릅니다.
- 변경 타임라인을 네 개의 상태로 나눕니다
운영표에는 구 거래쌍의 주문 취소 시각, 거래 종료 시각, 잔액 스냅샷·변환 시각, 신 거래쌍 개장과 입출금 재개 시각을 별도 열로 둡니다.
- 같은 티커를 같은 자산으로 간주하지 않습니다
티커는 전역적으로 유일하지 않습니다. 서로 다른 거래소나 네트워크에서 같은 문자열을 쓰거나, 한 공급자가 이미 다른 자산에 새 티커를 배정했을 수 있습니다.
AI로 제작한 개념도 · 실제 가격·거래 내역·통계가 아닙니다.
변경 타임라인을 네 개의 상태로 나눕니다
운영표에는 구 거래쌍의 주문 취소 시각, 거래 종료 시각, 잔액 스냅샷·변환 시각, 신 거래쌍 개장과 입출금 재개 시각을 별도 열로 둡니다. ‘전환일’ 하나만 저장하면 구 주문이 유효한지, 그 시각의 캔들을 어느 심볼로 조회해야 하는지 판단하기 어렵습니다.
예를 들어 08:00에 구 시장이 닫히고 10:00에 잔액이 변환되며 다음 날 08:00에 신 시장이 열린다면 중간 24시간은 가격 0이 아니라 거래 공백입니다. 그 구간을 직전가로 채울지는 분석 정책이며, 거래소에서 실제 체결된 관측값으로 표시하면 안 됩니다.
| 대상 | 기준키 | 확인할 변화 |
|---|---|---|
| 자산 잔액 | asset ID·network | 전환 비율·소수점 |
| 거래 시장 | product ID | 종료·개장 시각 |
| 캔들·체결 | product ID·timestamp | 과거 심볼 조회 방식 |
| 입출금 | asset ID·network | 주소·memo·재개 여부 |
| 주문·알림 | order ID·product ID | 취소·재등록 필요 |
같은 티커를 같은 자산으로 간주하지 않습니다
티커는 전역적으로 유일하지 않습니다. 서로 다른 거래소나 네트워크에서 같은 문자열을 쓰거나, 한 공급자가 이미 다른 자산에 새 티커를 배정했을 수 있습니다. 공급자·asset ID·network·contract address를 함께 키로 사용하고 symbol은 표시와 검색을 위한 속성으로 취급합니다.
Coinbase Exchange의 product 응답도 product id와 base_currency·quote_currency를 구분합니다. 데이터베이스에서 BTC-USD 같은 market symbol만 외래키로 쓰면 리브랜딩이나 시장 재개 때 과거 행의 의미가 바뀔 수 있습니다. 내부 immutable key를 만들고 공급자 ID의 유효기간을 이력으로 보존합니다.
연속 시계열은 계산으로 검증합니다
1:1 전환이라도 마지막 구 시장 종가와 첫 신 시장 시가는 다를 수 있습니다. 거래 공백, 유동성 재형성과 기준통화 변화가 있기 때문입니다. 1000:1 전환이라면 수량은 1000분의 1, 이론 가격은 1000배가 되지만 실제 첫 체결은 시장 수급을 반영합니다.
가령 구 토큰 24,000개를 1000:1로 전환했다면 신 잔액 기대값은 24개입니다. 구 종가가 0.08 USDT였다면 단순 조정 기준가격은 80 USDT이고 명목가치는 1,920 USDT입니다. 신 시장 첫 체결이 76 USDT라면 이를 매핑 오류로 고치지 말고 5% 개장 차이로 기록합니다.
- 전환 비율과 반올림·최소 잔액 처리 규칙을 저장합니다.
- 구 마지막 체결과 신 첫 체결의 UTC 시각을 확인합니다.
- 원본 시계열은 보존하고 조정 시계열에만 변환계수를 적용합니다.
- 거래 공백을 0 가격 또는 실제 체결로 만들지 않습니다.
- 거래량은 토큰 수량과 기준통화 명목액을 함께 비교합니다.
주문과 자동화는 신규 시장으로 명시적으로 옮깁니다
구 시장의 미체결 주문이 자동으로 신 시장 주문이 된다고 추정하지 않습니다. 공지에 취소 정책이 있으면 주문 목록과 체결 내역에서 실제 상태를 확인하고, 신규 product ID가 활성화된 뒤 가격 단위·수량 단위·최소 주문금액을 다시 읽어 주문을 만듭니다.
봇의 allowlist, 알림, 포지션 한도와 P&L 집계도 각각 old ID와 new ID를 매핑해야 합니다. 단순 문자열 replace는 STPT가 들어간 다른 필드나 파일명까지 바꿀 수 있습니다. 명시적 매핑표를 사용하고 예상하지 않은 심볼은 실패 상태로 격리합니다.
잔액과 입출금 경로를 별도 대조합니다
거래 잔액이 변환됐다는 사실만으로 외부 지갑의 토큰이나 모든 네트워크가 변환됐다고 볼 수 없습니다. 거래소 스냅샷 범위, 현물·마진·Earn 같은 계정별 포함 여부, 지원 네트워크와 계약 주소를 확인합니다. 새 입금 주소가 필요하다는 안내가 있으면 주소록과 화이트리스트도 갱신합니다.
전환 전 잔액 B_old, 비율 r, 전환 후 잔액 B_new를 보존해 B_new≈B_old×r인지 소수점 허용오차 안에서 확인합니다. 차이가 있으면 수수료로 단정하지 말고 dust 처리, 잠긴 잔액, 대출·부채, 스냅샷 이후 체결을 먼저 분해합니다.
전환 완료 보고서는 원본과 파생값을 함께 남깁니다
완료 기록에는 공지 URL과 확인일, old/new asset ID, product ID, 전환비율, 핵심 시각, 잔액 대조와 시계열 연결 정책을 넣습니다. API의 symbol 목록과 product 상세 응답을 원본으로 저장하면 나중에 같은 문자열이 재사용돼도 당시 의미를 재현할 수 있습니다.
표시 이름이 바뀌었다는 이유로 과거 원본 행을 새 이름으로 덮어쓰지 않습니다. 조회 화면에서는 새 이름을 보여 줄 수 있지만 source_symbol과 observed_at을 남깁니다. 그래야 기존 백테스트와 변경 후 시장 데이터를 같은 자산으로 연결한 근거와 단절 구간을 함께 설명할 수 있습니다.
자주 묻는 질문
1:1 전환이면 가격 그래프를 바로 이어도 되나요?
수량 단위는 같아도 거래 공백과 유동성 변화가 있습니다. 원본 두 시장은 분리하고, 연결 그래프에는 마지막·첫 체결과 공백을 표시하세요.
새 티커로 과거 API를 조회하면 과거 봉도 나오나요?
거래소 정책에 따라 다릅니다. old product ID와 new product ID를 각각 조회하고 과거 심볼 별칭 지원 여부를 공식 문서와 응답으로 확인해야 합니다.
입금 주소는 그대로 써도 되나요?
공지와 네트워크별 입금 화면을 확인해야 합니다. 새 주소 확인 안내가 있으면 구 주소 재사용을 추정하지 말고 소액 테스트와 반영 상태를 검증하세요.
포트폴리오 수익률은 어떻게 이어 붙이나요?
전환 비율로 수량을 조정하되 거래 공백과 첫 체결 차이는 실제 수익률에 남깁니다. 조정계수와 원본 가격 판본을 기록하세요.
더 깊이 읽기
본문에서 다룬 개념과 확인 절차를 다음 글에서 이어서 살펴보세요.



