Super Sale WeekClaude Skills — 20% OFF
Tips

스프레드시트에서 암호화폐 지갑 거래를 추적하는 방법 (2026년 가이드)

Powerdrill Team·
스프레드시트에서 암호화폐 지갑 거래를 추적하는 방법 (2026년 가이드)

스프레드시트에서 지갑 거래 내역을 추적하는 데는 네 가지 단계가 필요합니다. 체인별로 주소당 하나의 파일을 내보낸 다음, 각 토큰 수량을 해당 소수 자릿수(decimals)에 맞게 조정합니다. 전송된 금액에서 네트워크 수수료를 분리하고, 본인의 지갑 간에 이루어진 전송 내역을 제거합니다. 이 중 하나라도 누락되면 합계가 잘못됩니다.

내보내기 자체는 간단합니다. 하지만 시트를 엉망으로 만드는 것은 파일 그 자체입니다. 블록 익스플로러에서 내보낸 파일은 송수신 내역이 깔끔하게 정리된 명세서가 아니라, 블록체인 이벤트가 기록된 장부이기 때문입니다.

이 가이드에서는 수집해야 할 데이터, 시트를 수동으로 작성하는 방법, 그리고 이 방식이 더 이상 효율적이지 않게 되는 한계점을 다룹니다. 이는 데이터 워크플로우 가이드이며, 투자나 세무 자문이 아닙니다.

시작하기 전에 준비할 사항

본인이 관리하는 지갑 주소의 전체 목록이 필요하며, 각 주소가 어떤 체인에서 사용되었는지 파악해야 합니다. 주소가 하나라도 누락되면 오류가 발생하지는 않지만, 자신도 모르는 사이에 불완전한 결과물이 만들어집니다.

시작하기 전에 회계 단위도 결정해야 합니다. 한 열에 원래 수량과 환산된 가치를 혼용하는 것은 시트를 망가뜨리는 가장 흔한 실수 중 하나입니다.

먼저 다음 세 가지를 명확히 정리해야 합니다.

체인별 주소당 파일 1개. 블록 익스플로러의 내보내기 방식이 그렇습니다. 2개의 체인에 걸쳐 2개의 주소를 사용한다면 총 4개의 파일이 생성되며, 이를 합치기 전에 각 파일에 레이블 열을 추가해야 합니다.

필요한 이벤트 유형 정의. 일반 거래, 내부 거래(internal transactions), 토큰 전송은 보통 별도의 파일로 내보내집니다. 첫 번째 항목만 가져오면 대부분의 토큰 활동을 놓치게 됩니다.

시간대 설정. 타임스탬프는 UTC 기준으로 기록됩니다. 데이터를 가져올 때 한 번만 변환하고, 시트에 어떤 시간대가 적용되었는지 기록해 두십시오.

수동으로 작업하는 방법

옵션 1: 내보내기, 레이블 지정, 그리고 병합

각 내보내기 파일을 가져온 즉시 해당 주소와 체인을 나타내는 두 개의 열을 추가합니다. 데이터를 합치기 전에 이 작업을 수행해야 합니다. 일단 병합되고 나면 어느 행이 어디서 왔는지 구분할 수 없기 때문입니다.

트랜잭션 해시(hash)를 반드시 유지하십시오. 이는 동일한 이벤트가 중복으로 기록된 것을 찾아낼 수 있는 유일하고 신뢰할 수 있는 기준 키이며, 이 키 없이 시트를 다시 작성하려면 처음부터 작업을 다시 시작해야 합니다.

이 단계는 빠르게 끝낼 수 있지만 꼼꼼함이 가장 요구되는 부분입니다. 이후의 모든 분석 작업은 각 행이 어느 주소와 체인에서 유래했는지 정확히 아는 것에 달려 있기 때문입니다.

옵션 2: 수량 정규화 및 수수료 분리

토큰 수량은 온체인에 정수 형태로 저장되므로, 각 토큰의 소수 자릿수(decimals) 값을 반영하여 크기를 조정해야 합니다. ERC-20 token standard에 이 필드에 대한 설명이 나와 있습니다. 소수 자릿수로 18을 사용하는 경우가 많지만 이것이 절대적인 표준은 아니므로, 모든 토큰을 일괄적으로 18자리로 조정하면 일부 잔액이 자신도 모르게 1조 배나 부풀려질 수 있습니다.

네트워크 수수료는 별도의 열로 분리해야 합니다. Ethereum에서는 gas 수수료가 네이티브 통화로 지불되며, 트랜잭션으로 전송된 실제 금액과는 별개로 처리됩니다. 전송 금액에 수수료를 합산해 버리면 두 수치 모두 왜곡됩니다.

거래 방향(입출금)은 데이터에 제공되는 것이 아니라 직접 도출해야 합니다. 보낸 사람(from) 및 받는 사람(to) 필드를 본인의 지갑 주소 목록과 대조하여, 별도의 열에 입금(In), 출금(Out), 또는 내부 이동(Internal)으로 분류해 기록하십시오.

옵션 3: 시트를 망가뜨리는 네 가지 예외 상황 처리하기

합계 오류의 대부분은 다음 네 가지 상황에서 발생하며, 각 상황에 맞는 명확한 처리 규칙을 세워야 합니다.

내부 거래(Internal transactions). 최상위 트랜잭션이 아니라 스마트 컨트랙트에 의해 이동된 자산입니다. 이는 별도의 내보내기 파일에 존재하므로, 해당 파일을 가져오지 않으면 시트에서 누락됩니다.

실패한 트랜잭션. 실행이 취소(revert)된 트랜잭션도 가스 수수료는 차감됩니다. 즉, 자산 전송은 일어나지 않았지만 수수료는 발생한 것입니다. 따라서 전송 합계에서는 이를 제외하고, 수수료 합계에는 포함해야 합니다.

하나의 해시에 여러 행이 존재하는 경우. 단 한 번의 스왑(swap) 거래로도 토큰 출금 행, 토큰 입금 행, 수수료 행이 각각 생성될 수 있습니다. 합계를 구하기 전에 트랜잭션 해시별로 그룹화하지 않으면 동일한 이벤트가 세 번 중복 계산될 수 있습니다. 자세한 처리 방법은 데이터 정제 및 중복 제거 가이드를 참고하십시오.

본인 지갑 간의 자산 이동. 이는 단순한 자산 이동일 뿐 실제 거래 활동이 아닙니다. 레이블을 지정한 파일들 전체에서 트랜잭션 해시를 대조하여 이 내역들을 제외해야 합니다. 그렇지 않으면 총 거래량 수치가 실제보다 약 두 배로 부풀려지게 됩니다.

공통의 한계점. 앞서 언급한 모든 단계는 지갑 주소 목록이 고정되어 있다는 전제하에 작동합니다. 지갑을 하나 추가하거나 새로운 체인을 사용하기 시작하면 내보내야 할 파일 세트가 바뀌므로, 전체 정규화 작업을 처음부터 다시 실행해야 합니다.

수동 작업 방식의 한계와 비효율성

처음 시트를 구축할 때는 반나절 정도 투자하면 제대로 작동하는 시트를 만들 수 있습니다. 문제는 이 작업이 일회성으로 끝나지 않는다는 점입니다.

매달 새로운 데이터를 내보내야 하고, 그때마다 소수 자릿수 조정, 수수료 분리, 지갑 간 이동 제외 등의 규칙을 매번 똑같이 다시 적용해야 합니다. 이러한 처리 로직은 데이터 자체에 저장되지 않기 때문에, 오직 작업자의 머릿속에만 남아 있거나 다른 사람은 도무지 이해할 수 없는 복잡한 시트 탭으로 남게 됩니다.

관리 범위가 늘어날수록 상황은 더 악화됩니다. 주소가 2개일 때는 감당할 수 있습니다. 하지만 3개의 체인에 걸쳐 6개의 주소를 쓰게 되면 파일은 18개로 늘어납니다. 이 단계에 이르면 사람들은 슬그머니 시트 업데이트를 포기하고, 그냥 지갑 앱 화면을 보며 대략적으로 어림짐작하기 시작합니다.

데이터 검증(reconciliation) 비용도 무시할 수 없습니다. 스프레드시트의 수치와 지갑 앱의 잔액이 일치하지 않는 순간, 어느 쪽이 틀렸는지 찾아내는 고된 작업을 해야 합니다. 이 원인 분석 작업은 처음에 시트를 만드는 것보다 훨씬 더 많은 시간과 노력이 듭니다.

그렇다고 지갑 앱 화면이 스프레드시트를 완전히 대체할 수는 없습니다. 지갑 앱은 현재 잔액만 보여줄 뿐 과거에 어떤 거래가 있었는지 상세히 보여주지 않으며, 지난 분기에 수수료로 총 얼마를 썼는지 알려주지 않기 때문입니다.

Powerdrill Bloom으로 암호화폐 지갑 거래 내역을 추적하는 방법

1단계: 내보낸 파일 업로드하기

파일을 하나씩 올리지 말고, 내보낸 모든 파일을 한꺼번에 업로드하십시오. Powerdrill Bloom이 각 파일을 분석하므로, 데이터를 병합하기 전에 서로 다른 열 이름, 제각각인 날짜 형식, 일치하지 않는 수량 정밀도 등을 미리 파악할 수 있습니다.

Powerdrill Bloom을 사용하여 스프레드시트에서 암호화폐 지갑 거래를 추적하기 위해 블록 익스플로러 내보내기 파일 업로드하기

2단계: 자연어로 정규화 규칙 설명하기

복잡한 수식을 만드는 대신 원하는 규칙을 말로 설명해 보세요. 각 토큰의 소수 자릿수를 반영한 수량 조정, 전송 금액에서 수수료 분리, 전송 합계에서 실패한 트랜잭션 제외 등을 요구하기만 하면 됩니다.

그런 다음 중복 제거에 대해 직접 질문해 보십시오. 어떤 행들이 동일한 트랜잭션 해시를 공유하는지, 그리고 본인의 지갑 주소 목록 간에 이루어진 자산 이동은 무엇인지 물어보면 됩니다.

3단계: 차트, 보고서 또는 프레젠테이션 자료로 내보내기

정규화된 거래 활동 표, 기간별 수수료 변동 차트, 또는 언제 어떤 자산이 이동했는지 요약한 텍스트 보고서 등을 간편하게 추출할 수 있습니다.

Powerdrill Bloom에서 정규화된 지갑 활동 표 내보내기

매달 시트를 처음부터 다시 만드는 것보다 이 방식이 훨씬 더 나은 이유

수동 작업 방식 Powerdrill Bloom
토큰 소수 자릿수 (decimals) 토큰별로 직접 조회하여 수량 조정 소수 자릿수를 반영한 수량 조정 요구하기
수수료 vs 전송 금액 내보낼 때마다 별도의 열로 분리 규칙을 한 번만 설명하기
본인 지갑 간 전송 수동으로 해시 대조 및 제외 본인 주소 간에 이동한 행이 무엇인지 질문하기
새로운 주소 또는 체인 추가 전체 정규화 작업 처음부터 다시 실행 업로드 파일 목록에 새 파일 추가하기

마지막 행의 차이야말로 스프레드시트 관리의 지속 여부를 결정짓는 핵심입니다. 지갑 하나를 추가할 때마다 전체 시스템이 깨지는 워크플로우는 결국 두 분기도 지나지 않아 방치되고 말 것입니다.

자주 하는 실수들

전송 금액에 가스(gas) 수수료를 합산하는 것. 수수료와 실제 전송된 자산은 엄연히 다릅니다. 이 둘을 합치면 출금액이 실제보다 과다하게 책정되며, 나중에 수수료만 따로 분석하는 것이 불가능해집니다.

모든 토큰의 소수 자릿수를 일괄적으로 18자리로 가정하는 것. 대중적으로 많이 쓰이는 토큰 중에는 소수 자릿수가 6자리인 것도 많습니다. 시트 전체에 동일한 배율을 적용하면 실제 잔액과 엄청난 자릿수 차이가 나는 오류가 발생합니다.

실패한 트랜잭션을 완전히 삭제하는 것. 실패한 거래는 전송 합계에서는 빠져야 하지만, 수수료 합계에는 그대로 남아 있어야 합니다. 해당 행을 완전히 지워버리면 실제로 지출된 수수료 비용을 누락하게 됩니다.

내부 거래를 중복 계산하는 것. 내부 거래는 별도의 파일로 내보내지기 때문에 이미 가져온 일반 거래 내역과 중복될 수 있습니다. 합계를 구하기 전에 반드시 트랜잭션 해시별로 그룹화해야 합니다.

특정 지갑 주소를 누락하는 것. 합계 수치는 그럴듯해 보이지만 실제로는 불완전한 데이터가 됩니다. 관리하는 주소 목록은 머릿속으로만 기억하지 말고 스프레드시트 파일 내에 명시해 두십시오.

거래 내역 시트를 자산 가치 평가서로 오인하는 것. 지갑 거래 기록은 자산의 이동을 나타낼 뿐, 현재의 가치를 보여주지 않습니다. 각 거래 행에 가격(가치)을 매기려면 어떤 시점의 시세와 타임스탬프를 적용할지 별도로 결정해야 합니다.

시간대를 혼용하는 것. 내보낸 파일은 기본적으로 UTC 기준입니다. 일부 파일만 시간대를 변환하고 나머지는 그대로 두면 거래가 엉뚱한 달로 분류되어, 기간별 비교 분석 데이터가 완전히 왜곡됩니다.

결론

지갑에서 내보낸 데이터는 정리된 명세서가 아니라 원시 이벤트 로그입니다. 모든 파일에 주소와 체인 레이블을 지정한 다음, 소수 자릿수를 반영해 수량을 조정하고 수수료를 분리해야 합니다. 또한 전송 합계에서 실패한 거래를 제외하고, 본인 지갑 간의 자산 이동을 제거하십시오.

시트 한편에 적용한 규칙들을 명문화해 두십시오. 처리 규칙이 명시되지 않은 지갑 거래 기록은 나중에 다시 재현하기가 불가능합니다.

이 작업이 비효율적인 진짜 이유는 새로운 주소나 체인이 추가될 때마다 이 고된 과정을 매번 반복해야 하기 때문입니다. 여기에 너무 많은 시간을 빼앗기고 있다면, 이미 가지고 있는 내보내기 파일로 Powerdrill Bloom을 사용해 보십시오. 아울러 암호화폐 거래소 CSV 내보내기 분석 방법CSV 파일로 암호화폐 포트폴리오 분석하는 방법 가이드, 그리고 CSV AI assistant 페이지도 함께 확인해 보시기 바랍니다.

자주 묻는 질문 (FAQ)

지갑 거래 내역을 스프레드시트로 내보내려면 어떻게 해야 하나요?

각 체인의 블록 익스플로러를 이용해 주소별로 데이터를 내보냅니다. 일반 거래, 내부 거래, 토큰 전송은 대개 별도의 파일로 다운로드되므로, 데이터를 합치기 전에 이 세 가지 파일을 모두 내려받아야 합니다.

데이터를 가져온 후 토큰 수량이 이상하게 보이는 이유는 무엇인가요?

토큰 수량은 온체인에 정수 형태로 저장되므로 해당 토큰의 소수 자릿수(decimals) 값을 반영해 크기를 조정해야 합니다. 18자리가 흔하긴 하지만 모든 토큰에 적용되는 것은 아니며, 잘못된 배율을 적용하면 잔액의 자릿수가 완전히 달라져 엉뚱한 수치가 나옵니다.

가스(gas) 수수료를 트랜잭션 전송 금액에 포함해야 하나요?

아닙니다. 수수료는 해당 체인의 네이티브 통화로 지불되며, 전송된 실제 자산 가치와는 별개입니다. 전송 합계와 수수료 합계가 왜곡되지 않도록 수수료는 반드시 별도의 열에 기록해야 합니다.

본인 지갑 간의 자산 전송이 중복 계산되는 것을 방지하려면 어떻게 해야 하나요?

본인이 관리하는 모든 지갑 주소 목록을 만든 뒤, 거래의 보낸 사람(from) 및 받는 사람(to) 필드를 이 목록과 대조해 보십시오. 양쪽 주소가 모두 본인 소유라면 이는 단순 내부 이동이므로 거래 활동 합계에서 제외해야 합니다.

실패한 트랜잭션도 처리해야 하나요?

네, 수수료 정산을 위해 반드시 처리해야 합니다. 실행이 취소된 트랜잭션은 자산이 이동하지는 않지만 가스 수수료는 그대로 차감되므로, 전송 합계에서는 제외하되 지출된 수수료 합계에는 포함해야 합니다.

스프레드시트에서 암호화폐 지갑 거래를 추적하는 방법 (2026년 가이드)