암호화폐 세금 신고 시즌: Phantom Wallet Extension에서 거래 기록을 세무 소프트웨어로 내보내는 실무 가이드

한국의 개인 투자자와 소규모 암호화폐 거래업체가 직면하는 실질적인 문제가 있다. Solana, Ethereum, Polygon, Bitcoin 등 여러 블록체인에 걸쳐 보유한 자산을 Phantom Wallet Extension에서 관리하고 있지만, 세무 신고 기한이 임박하면서 수천 건의 거래 기록을 수작업으로 정리해야 하는 상황에 처한다. 국세청의 소명 부담이나 감사 추적 요구에 대응하려면, 개별 거래의 시간, 수량, 환율, 수수료까지 정확하게 기록해야 한다. 하지만 대부분의 사용자는 지갑 인터페이스에서 CSV 파일로 데이터를 추출하는 방법을 알지 못하며, 세무 신고 소프트웨어와의 호환성에 대해서도 확신이 없다.

실제로 규정을 준수하는 거래자가 직면하는 핵심 질문은 간단하지 않다. Phantom 지갑에서 거래 내역을 완전하고 정확하게 내보낼 수 있는가? 내보낸 데이터가 국내 세무 신고 시스템과 호환되는가? 개인 키를 노출하지 않으면서도 감사 추적을 충분히 남길 수 있는가? 이 문제는 기술적 절차만이 아니라 법적 책임, 데이터 보안, 거래 재구성의 정확성이 모두 얽혀 있다.

Phantom Wallet Extension 인터페이스에서 거래 기록을 추출하고 세무 소프트웨어와 연동하는 전체 워크플로우

Phantom Wallet Extension의 거래 기록 접근 및 확인 절차

Phantom Wallet Extension은 브라우저와 모바일 앱에서 모두 거래 기록에 접근할 수 있도록 설계되어 있다. 특정 자산의 거래 내역을 보려면, 먼저 지갑에 로그인한 후 특정 토큰이나 NFT를 선택하고 ‘거래 기록’ 또는 ‘Activity’ 탭을 클릭한다. 해당 탭에서는 거래 시각, 대상 주소, 거래 수량, 가스 수수료, 거래 상태 등이 시간 역순으로 표시된다. 각 거래는 블록체인 익스플로러 링크를 포함하고 있으므로, 필요한 경우 온체인 데이터를 직접 검증할 수 있다.

멀티체인 환경에서 거래 기록을 수집할 때 가장 중요한 주의사항은 네트워크별로 데이터를 분리하여 추적하는 것이다. Phantom Wallet Extension이 Solana, Ethereum, Polygon, Bitcoin을 동시에 지원하기 때문에, 사용자는 각 블록체인에서의 거래 목록을 개별적으로 추출해야 한다. 예를 들어, Ethereum 네트워크에서의 토큰 스왑과 Solana 네트워크에서의 스테이킹 거래는 다른 시스템에서 처리되며, 거래 ID도 형식이 다르다. 한 번의 클릭으로 모든 거래를 한 파일로 내보낼 수는 없으므로, 체계적인 정리 프로세스가 필수적이다.

거래 기록을 확인할 때는 각 항목의 타입을 정확히 분류해야 한다. 일반적인 거래 타입에는 ‘수신(Receive)’, ‘송금(Send)’, ‘스왑(Swap)’, ‘스테이킹(Stake)’, ‘언스테이킹(Unstake)’, ‘NFT 구매’, ‘NFT 판매’, ‘DeFi 보상 청구(Claim Rewards)’ 등이 포함된다. 세무 신고 관점에서 매입가, 매각가, 취득일, 처분일, 취득 비용, 처분 수익을 구분하는 것이 매우 중요하다. Phantom Wallet Extension의 기본 거래 화면에는 현지 화폐(KRW) 기준의 시장 가격이 자동으로 표시되지 않을 수 있으므로, 추가적인 데이터 수집이 필요한 경우가 많다.

거래 데이터의 구조적 추출 및 CSV 파일 생성

Phantom Wallet Extension 자체에는 내장된 ‘내보내기’ 기능이 제한적일 수 있으므로, 여러 방법을 조합하여 데이터를 추출해야 한다. 첫 번째 방법은 수동으로 거래 기록을 스크린샷 또는 복사-붙여넣기로 정리하는 것인데, 이는 거래 건수가 적을 때만 현실적이다. 두 번째 방법은 블록체인 익스플로러의 API를 활용하여 지갑 주소에 연결된 모든 거래를 프로그래밍 방식으로 다운로드하는 것이다. Etherscan(Ethereum), Solscan(Solana), PolygonScan(Polygon), Blockchair(Bitcoin) 등의 익스플로러에서는 지갑 주소를 입력하면 거래 목록을 표 형태로 표시하고, 일부는 CSV 다운로드 기능을 제공한다.

블록체인 익스플로러에서 CSV를 내보낼 때는 몇 가지 기술적 주의사항이 있다. 첫째, 지갑이 여러 개의 공개 주소(Public Address)를 사용하고 있다면 각 주소별로 따로 내보내야 한다. Phantom Wallet Extension은 같은 지갑 내에서 여러 주소를 생성할 수 있으므로, 어떤 주소가 어떤 목적으로 사용되었는지 미리 정리해야 한다. 둘째, CSV 파일의 컬럼 구조를 확인해야 한다. 일반적으로 ‘거래 해시(Txn Hash)’, ‘블록 번호(Block)’, ‘거래 시각(Age)’, ‘발신자(From)’, ‘수신자(To)’, ‘금액(Value)’, ‘거래 수수료(Txn Fee)’, ‘거래 상태(Status)’ 등이 포함되어 있다. 셋째, CSV 파일의 인코딩이 UTF-8이고 한글 문자가 올바르게 표시되는지 확인하는 것이 중요하다.

세 번째 방법은 암호화폐 세무 분석 소프트웨어를 사용하는 것이다. 국내에서 사용되는 대표적인 도구로는 ‘Koinly’, ‘CoinTracker’, ‘코인탭(CoinTab)’, ‘택스비트(TaxBit)’ 등이 있다. 이들 서비스는 사용자가 phantom wallet extension의 공개 주소를 입력하면, 자동으로 관련 거래를 블록체인에서 읽어와 정리해준다. 이 방법의 장점은 거래를 자동으로 수집하므로 빠뜨리거나 중복으로 입력할 위험이 낮다는 것이고, 단점은 서비스가 자신의 주소 정보를 수집한다는 것이다.

CSV 파일을 직접 생성할 때는 반드시 다음 컬럼을 포함해야 한다: ‘거래 날짜’, ‘거래 시각(분 단위 이상)’, ‘자산명(토큰 심볼)’, ‘구매/판매/송금/수신/기타(거래 유형)’, ‘수량’, ‘단가(거래 시점의 KRW 환율)’, ‘총액’, ‘거래 수수료(KRW 환산)’, ‘상대방 주소 또는 거래소’, ‘거래 ID(블록체인 트랜잭션 해시)’, ‘비고’. 특히 ‘단가’와 ‘총액’ 항목은 국내 세무 신고에서 핵심이므로, 거래 시점의 정확한 환율을 적용해야 한다. 이를 위해서는 거래 시각을 정확히 기록하고, 해당 시각의 시장 가격 데이터를 확보해야 한다.

환율 데이터 연결 및 평가액 계산의 정확성

Phantom Wallet Extension의 거래 기록에는 거래 시점의 환율 정보가 자동으로 포함되지 않는다. 따라서 추출한 CSV 파일에 원화 기준 평가액을 추가하려면, 거래 시각과 일치하는 가격 데이터를 외부 소스에서 확보해야 한다. 대표적인 방법은 CoinGecko, CoinMarketCap, Binance API, Upbit API 등을 활용하여 거래 시각의 종가(또는 근접한 가격) 데이터를 다운로드하는 것이다. 이 과정은 수작업으로는 불가능하므로, 스프레드시트 함수나 간단한 파이썬 스크립트를 사용하여 자동화하는 것이 일반적이다.

환율 데이터를 연결할 때 주의할 점은 시간 기준이다. 암호화폐 시장은 24시간 연속 거래되므로, 한국 표준시(KST) 기준 거래 시각과 데이터 제공자의 시간대가 일치하는지 확인해야 한다. 예를 들어, UTC 기준으로 기록된 거래를 KST로 변환할 때는 9시간을 더해야 한다. 또한, 거래가 발생한 정확한 시각의 가격이 아니라, 가장 가까운 1분 봉이나 1시간 봉의 가격을 사용할 때는 그 차이를 문서화해야 한다. 국세청 감시대상이 될 경우, 가격 책정의 근거를 입증할 수 있어야 하기 때문이다.

스테이킹이나 DeFi 보상을 포함한 거래는 더 복잡한 처리가 필요하다. 스테이킹으로 받은 보상은 취득일이 보상 지급일이고, 취득가는 그 시점의 토큰 시장 가격이다. 이러한 거래는 일반적인 ‘매입’과는 다른 유형으로 분류되어야 하며, 세무 신고 시 기타 소득으로 처리될 가능성이 높다. Phantom Wallet Extension에서 ‘클레임 보상(Claim Rewards)’ 거래를 추출할 때는, 단순히 거래 해시와 수량만으로는 부족하고, 정확한 보상액과 지급 시각을 확인해야 한다. 이는 거래 내역만으로는 불충분할 수 있으므로, DeFi 프로토콜의 공식 대시보드나 서브그래프(The Graph) 쿼리를 통해 추가 검증이 필요할 수 있다.

NFT 거래도 별도의 처리가 필요하다. NFT 구매와 판매 기록은 암호화폐 거래와 같은 방식으로 내보낼 수 없는 경우가 많다. Phantom Wallet Extension의 NFT 섹션에서는 거래 기록을 볼 수 있지만, 대부분의 세무 소프트웨어는 NFT를 암호화폐로 취급하지 않으므로, 별도의 추적 시스템을 구축해야 한다. NFT의 경우, 구매가, 판매가, 거래 수수료뿐만 아니라 거래 당시의 NFT 평가액(바닥값 또는 거래 가격)을 기록해야 하고, 이는 상당한 시간과 노력을 요구한다.

개인 키 보호 원칙과 안전한 데이터 추출 절차

거래 기록을 추출하는 과정에서 가장 중요한 보안 원칙은 개인 키를 절대로 노출하지 않는 것이다. Phantom Wallet Extension은 비수탁형 지갑이므로, 사용자가 개인 키를 직접 관리하고 보호할 책임이 있다. 거래 기록 추출을 위해 개인 키를 제3의 소프트웨어나 서비스에 입력해서는 안 되며, 지갑의 공개 주소(Public Address)만 사용해야 한다. 공개 주소는 이름 그대로 공개되어야 하는 정보이고, 그것만으로는 자산에 접근할 수 없다.

많은 사용자가 착각하는 부분이 있다. 암호화폐 세무 분석 소프트웨어가 ‘공개 주소 자동 입력’ 기능을 제공할 때, 이것이 개인 키를 요구하는 것인지 확인해야 한다. 신뢰할 수 있는 서비스(예: Koinly, CoinTracker)는 공개 주소만으로도 충분하고, 개인 키나 시드 구문(Seed Phrase)을 요청하지 않는다. 만약 서비스가 개인 키나 시드 구문을 요청한다면, 그 서비스는 사용하지 말아야 한다. 개인 키 암호화 저장과 생체 인증으로 보호되는 Phantom Wallet Extension의 보안이 무의미해지기 때문이다.

Ledger 하드웨어 지갑과 Phantom Wallet Extension을 연동하여 사용하는 경우, 거래 기록 추출은 더욱 안전하다. 하드웨어 지갑은 개인 키를 절대로 외부로 내보내지 않으므로, 공개 주소를 통한 거래 추적만으로도 충분하고 개인 키 탈출의 위험이 원천적으로 차단된다. 이 경우에도, 하드웨어 지갑의 복구 구문(Recovery Phrase)은 매우 안전한 오프라인 위치에 보관해야 한다.

데이터 추출 과정에서 거쳐가는 모든 중간 파일(특히 CSV 파일)도 보안의 대상이다. 거래 기록 CSV에는 지갑의 공개 주소와 거래 패턴이 포함되어 있으므로, 프라이버시 침해의 위험이 있다. 따라서 CSV 파일은 암호화된 저장소에 보관하고, 필요없어진 후에는 완전히 삭제해야 한다. 특히 클라우드 드라이브(Google Drive, OneDrive 등)에 무조건 업로드하지 말고, 필요한 경우에만 로컬 암호화 폴더에 저장하는 것이 좋다. 세무 신고가 완료되고 감시 대상 기간이 지난 후에도, 거래 기록 파일은 최소 5년은 보관해야 한다(한국 세법 기준).

감사 추적의 완성도와 누락 거래의 검증

세무 신고에서 가장 위험한 실수 중 하나는 거래 기록의 누락이다. Phantom Wallet Extension에서 추출한 거래 목록이 정말로 완전한지 확인하는 것이 필수적이다. 이를 위해서는 추출한 데이터의 시작 날짜와 종료 날짜를 명확히 하고, 해당 기간에 지갑이 활동한 모든 거래가 포함되었는지 검증해야 한다. 블록체인 익스플로러에서 지갑 주소를 직접 검색하고, 표시된 거래 수와 추출한 CSV 파일의 거래 수를 비교하는 방법이 있다.

특별히 주의해야 할 거래 유형은 다음과 같다. 첫째, 거래 실패(Failed Transaction) 거래다. Phantom Wallet Extension에서는 실패한 거래도 거래 기록에 표시될 수 있으며, 이들은 실제로 자산이 이동하지 않았지만 가스 수수료는 소비되었다. 세무 신고에는 이들 거래를 포함해야 할 수도 있고 제외해야 할 수도 있으므로, 거래 상태를 정확히 확인해야 한다. 둘째, 내부 거래(Internal Transaction)다. 스마트 컨트랙트와의 상호작용 중 발생하는 내부 거래는 표준 거래 목록에는 나타나지 않을 수 있으므로, 블록체인 익스플로러의 ‘내부 거래’ 탭을 별도로 확인해야 한다. 셋째, 토큰 에어드롭과 보상이다. 예상치 못했던 토큰 수신은 거래 기록을 놓치기 쉬운데, 이들도 취득 소득으로 신고해야 한다.

감사 추적의 완성도를 확보하려면, 지갑이 생성된 이후 모든 거래를 연대순으로 정렬하고, 시간 간격에 이상이 없는지 확인하는 것이 좋다. 예를 들어, 2024년 1월 1일부터 12월 31일까지의 거래를 신고해야 한다면, CSV 파일의 첫 거래가 1월 1일 이후이고 마지막 거래가 12월 31일 이전인지 확인해야 한다. 만약 중간에 거래가 없는 긴 기간이 있다면, 그 기간 동안 정말로 거래가 없었는지 블록체인 익스플로러에서 직접 확인하는 것이 좋다. 국세청이 나중에 감시할 때, 누락된 거래의 근거를 제시할 수 있어야 한다.

Phantom Wallet Extension이 지원하는 다중 블록체인(Solana, Ethereum, Polygon, Bitcoin 등)을 모두 사용하는 경우, 각 체인별로 따로 거래를 추출한 후 모두 통합해야 한다. 통합할 때는 모든 거래를 시간순으로 다시 정렬하고, 거래 ID, 자산명, 거래 금액 등이 중복되지 않았는지 확인하는 과정이 필수적이다. 예를 들어, 같은 시각에 여러 블록체인에서 거래가 이루어졌다면, 각 거래의 ID(Ethereum의 경우 ‘0x’로 시작하는 문자열, Solana의 경우 Base58 인코딩 등)가 다른지 확인하여 중복 입력을 방지해야 한다.

세무 신고 소프트웨어와의 호환성 및 데이터 포맷 변환

한국의 개인 및 소규모 사업자가 사용할 수 있는 세무 신고 플랫폼은 크게 두 가지 범주로 나뉜다. 첫째, 국세청의 공식 세무 신고 시스템(홈택스)이고, 둘째는 민간 세무 소프트웨어(예: 더택스, 택스앤, 세무박사 등)다. 많은 민간 소프트웨어는 암호화폐 거래 데이터를 XML, CSV, Excel 형식으로 임포트할 수 있으므로, 추출한 데이터를 해당 포맷으로 변환해야 한다.

포맷 변환을 할 때는 각 소프트웨어의 요구 스펙을 정확히 따라야 한다. 일부 소프트웨어는 특정 컬럼 순서를 요구하고, 특정 날짜 형식(예: YYYY-MM-DD 또는 DD/MM/YYYY)만 인식한다. 데이터 포맷이 소프트웨어의 요구사항과 맞지 않으면, 임포트 과정에서 오류가 발생하거나 데이터가 손상될 수 있다. 따라서 포맷 변환 전에 반드시 샘플 데이터로 테스트한 후, 전체 데이터를 변환하는 것이 좋다.

국내 세무 신고 시스템이 요구하는 정보의 최소 단위는 다음과 같다: ‘거래 발생일’, ‘종목명’, ‘거래 구분(매입/매각)’, ‘거래 수량’, ‘거래 단가’, ‘거래 금액’, ‘수수료’, ‘순거래 금액’ 등이다. 그런데 Phantom Wallet Extension의 거래 기록에는 ‘순거래 금액’이라는 개념이 없을 수 있으므로, 스프레드시트에서 수동으로 계산해야 한다. 예를 들어, 구매 거래의 순거래 금액은 ‘거래 금액 + 수수료’이고, 판매 거래의 순거래 금액은 ‘거래 금액 – 수수료’다.

거래소 거래와 지갑 거래의 성격이 다르다는 점도 고려해야 한다. Phantom Wallet Extension에서 직접 토큰 스왑을 한 거래는 두 개의 개별 거래로 기록될 수 있다(예: USDC 판매 + SOL 구매). 이를 세무 신고 소프트웨어에 입력할 때는, 각각을 별도의 거래로 처리할 수도 있고, 하나의 통합 거래로 기록할 수도 있다. 소프트웨어의 정책과 국세청의 해석이 일치하는지 확인하고, 문서화해두는 것이 중요하다.

연중 거래 관리와 세무 신고 준비의 모범 사례

거래 기록을 신고 시즌에 급하게 정리하는 것보다, 연중 내내 체계적으로 관리하는 것이 훨씬 효율적이다. Phantom Wallet Extension을 사용하는 경우, 매월 또는 분기별로 거래 기록을 추출하고 정리하는 습관을 들이면, 연말에 전체 데이터를 한 번에 처리할 수 있다. 이를 위해서는 간단한 스프레드시트를 미리 구성해두고, 거래 정보를 정기적으로 입력하는 것이 좋다.

특히 중요한 것은 거래 시점의 환율 데이터를 실시간으로 기록하는 것이다. 거래 후 몇 개월이 지나 환율을 다시 조회하려고 하면, 일부 데이터 소스에서는 과거 데이터를 제공하지 않을 수 있다. 따라서 거래 당시 시가(종가 또는 거래 평균가)를 즉시 기록해두는 것이 필수적이다. 많은 세무 전문가들은 거래 당시의 평균 시장 가격을 기준으로 하도록 권장하고 있으므로, 이를 충족하는 데이터 소스를 미리 정하고 일관되게 적용해야 한다.

지갑 주소의 목적을 명확히 하는 것도 중요하다. Phantom Wallet Extension에서 여러 개의 주소를 생성했다면, 각 주소가 어떤 목적(개인 투자, 사업 거래, 스테이킹, NFT 거래 등)으로 사용되었는지 정리해야 한다. 이는 나중에 거래 유형을 분류할 때 도움이 되고, 개인소득과 사업소득을 구분하는 데도 필

You may also like

WhatsApp chat