암호화폐 스왑 환불은 얼마나 걸리나: 실측
실측: 601초 입금 창, 24시간 데스크, 26.2 MvB 멤풀. 환불 지연은 세 개의 시계로 나뉩니다. 자체 119건과 오늘 체인 데이터로 내역을 보여 줍니다.
오늘 14:05:01 UTC, veilswap.io에서 100 USDT-TRC20 → XMR 주문을 하나 만들고 시계가 어떻게 가는지 지켜봤습니다. 돌아온 것은 입금 주소와 validUntil 2026-10-29T14:15:02.483Z. 601초였고, 사이트 자체 만료 규칙이 주는 30분이 아니었습니다. 이 차이가 '환불은 얼마나 걸리나'라는 질문의 출발점입니다. 환불은 버튼이 아니라 세 가지 일입니다. 상류의 판단, 상류가 새로 만드는 송금, 체인 확인. 셋은 각자 다른 시계로 움직입니다. 자체 주문 테이블도 같은 모양입니다. 9월 24일 이후 119건, 완료 19건, 만료 94건, 실패 5건, 환불은 정확히 1건. 그 1건은 생성 후 1,506분, 25시간 06분 만에 refunded로 바뀌었습니다. (XMR→USDT 출구 루트)
시계는 세 개다
환불은 상류가 자기 재고에서 새로 보내는 거래로, 사용자가 지정한 주소로 돌아갑니다. 입금한 거래가 취소되는 것이 아니라 보낸 자리에 그대로 있습니다. 그래서 체감 시간은 판단(이 주문을 환불할지, 얼마로 평가할지, 누가 처리할지) + 전송(상류 출금 시스템이 거래를 만들고 서명) + 확인(채굴자나 검증자가 포함)의 합입니다. 앞의 두 개는 상류 내부에서 벌어지고 보이지 않습니다. 공개 체인 위에 있는 것은 마지막 하나뿐입니다. '블록체인이 느리다'는 설명이 대부분 틀린 이유입니다. (모네로 확인 대기)
첫 번째 시계: 판단은 시간 단위
입금 창은 눈에 보이는 부분입니다. 고정 환율 사업자는 견적을 10분 동결하고 금액이 정확히 일치하기를 요구합니다. FixedFloat 자체 FAQ에는 결제가 늦거나 금액이 다르면 '환불하거나 시장 환율로 교환을 계속'하라고 안내한다고 적혀 있습니다. 사이트 로컬 규칙은 생성 후 30분에 만료로 돌리지만, 상류가 여전히 입금 대기라고 보고할 때만 그렇고, 스캔은 2분에 한 번으로 제한되며, 지연 입금은 6시간 소급되고, 상류가 더 이상 주문을 인식하지 못하면 24시간에 강제 종료됩니다. 상류 쪽에서 ChangeNOW FAQ는 신원 확인 실패 후 환불을 '24시간 이내, 네트워크 수수료 차감'으로 적습니다. 이는 운영 약속이지 체인 약속이 아닙니다. 실제 환불 1건이 25.1시간이었다는 것은 10분 창이 아니라 24시간 데스크에 맞는 숫자입니다. (모네로 확인 대기)
두 번째 시계: 멤풀은 누구의 환불인지 신경 쓰지 않는다
14:02 UTC 비트코인 멤풀은 67,743건, 26.20 MvB였습니다. 그중 85.8%가 0.5 sat/vB 미만 입찰이고, 1 sat/vB 이상은 3.68 MvB, 14.0%뿐입니다. 즉 1 sat/vB로 보낸 환불은 22.52 MvB 뒤에 섭니다. 최근 블록 크기 중위 1.56 MB로 나누면 약 14블록입니다. 최근 15개 블록(973,679~973,693)은 모두 충전율 99%를 넘었고, 간격은 중위 6.7분, 평균 12.8분, 최대 50.4분이었으며 14개 간격 중 2개가 30분을 넘었습니다. 이 속도로 14블록은 1.5~3시간이고, 그것도 첫 확인에 도달하기 전입니다. 같은 시각 권장 수수료는 6/5/4/2/1 sat/vB였습니다. 이 격차는 대기열이 실재하고, 더 내면 순위를 산다는 뜻입니다. (모네로 확인 대기)
환불의 실제 비용
환불은 무료가 아니고 체인마다 자릿수가 다릅니다. 비트코인의 전형적인 1입력 2출력 환불은 약 141 vB입니다. 1 sat/vB면 141 sat, 80,249달러 기준 0.11달러. 6 sat/vB면 846 sat, 0.68달러입니다. TRON에서는 블록 87,536,451에 653건이 있었고 그중 109건이 에너지를 썼습니다. 85건이 정확히 64,285, 19건이 정확히 130,285였습니다. getEnergyFee=100 sun에서 6.4285 TRX와 13.0285 TRX, 여기에 345바이트 대역폭이 붙어 실제로는 6.7735 TRX(2.25달러) 또는 13.3735 TRX(4.43달러, TRX 0.331535)입니다. 비싼 구간은 받는 쪽 USDT 잔액 슬롯을 0에서 쓸 때 밟습니다. 모네로는 1,534바이트, 20,000 piconero/바이트로 0.00003068 XMR, 약 0.018달러입니다. FixedFloat는 환불이 '보낸 금액에서 네트워크 수수료를 뺀 것'이며 현재 네트워크 수수료로 보낸다고 명시합니다. 즉 비용은 시장이 가장 비싼 순간의 가격으로, 돌아오는 금액에서 빠집니다. (XMR→USDT 출구 루트)
세 번째 시계: 주소가 시계를 돌릴 수 있는지를 결정한다
14:04 UTC에 두 가지 실패를 확인했습니다. 주문 본문에 환불 주소가 없으면 HTTP 400과 함께 'missing_refund_address: a refund address is required — if the swap fails, funds can only be returned there'. 환불 주소에 TXyzNotARealAddress123을 넣으면 400과 'invalid_refund_address: not a TRON address (expect T followed by 33 base58 characters)'. 둘 다 돈이 움직이기 전에 검증됩니다. 환불 주소는 주문의 필수 항목이지 친절한 옵션이 아닙니다. 오늘 카탈로그는 515개 자산, 74개 네트워크였고 그중 6개는 추가 ID가 필요합니다(XRP, USDC-Algo, XLM, HBAR, ATOM, 이더리움의 NEIRO). 환불은 원래 자산, 원래 네트워크로만 돌아갑니다. 다른 네트워크의 주소는 환불이 아니라 두 번째 손실입니다. ChangeNOW FAQ는 더 단호합니다. SegWit BTC 입금 주소로 보낸 코인은 BTC로만 환불될 수 있어 LTC, BCH, BSV는 돌아오지 않으며, 최소 금액 미만 입금은 환불 보장이 없습니다. (recovering misdirected funds)
25시간 환불의 해부
같은 사건을 시간축에 놓고 숫자는 실측값으로 채웁니다. T+0: 주문 생성, 10분 입금 창(실측 601초). T+10분: 창이 닫히고 상류의 선택지는 환불 또는 시장 환율로 계속. T+30분: 로컬 규칙이 만료로 표시하지만 상류가 여전히 입금 대기라고 할 때만이고, 스캔은 2분에 한 번입니다. T+6시간: 지연 입금 소급이 끝나고 이후 도착분은 수동 처리로 갑니다. T+n시간: 상류 리스크·운영 검토가 환불을 대기열에 넣습니다. 공개된 기준은 24시간입니다. 그다음 현재 수수료로 전송하고, 오늘 같은 혼잡에서 1확인은 빨라야 수십 분입니다. T+25시간 06분: 자체 행이 refunded로 바뀌었고 상류 상태는 REFUND였습니다. (모네로 확인 대기)
기다림을 줄이는 여섯 가지
1) 보내기 전에 환불 주소를 입력하십시오. 네트워크는 입금 자산과 같아야 합니다. 2) 창 안에서 정확한 금액을 보내십시오. 부족하면 교환이 환불 판단으로 바뀝니다. 3) 주문 ID와 입금 해시를 보관하십시오. 해시만이 '도착했다'를 증명합니다. 4) 만료 후 같은 주소로 다시 보내지 마십시오. 소급은 6시간이고 두 번째 입금은 기록만 흐립니다. 5) '고치려고' 두 번째 주문을 만들지 마십시오. 수수료와 기록이 두 배가 됩니다. 6) 메모나 태그가 필요한 자산은 환불 주소에도 태그가 필요합니다.
체감 시간은 한 줄로 압축됩니다. 판단은 시간 단위, 전송은 분 단위, 확인은 예측 불가. 그리고 체인은 셋 중 가장 작은 부분입니다. 그래서 하루 걸린 환불이 서비스 고장의 증거가 아니고, 10분에 끝난 환불도 빠름의 증거가 아닙니다. 어느 데스크가 티켓을 집었는지의 증거일 뿐입니다. 규모를 보면 14:04 UTC 견적: 100 USDT-TRC20은 0.14688512 XMR(XMR당 680.80달러, 현물 597.82달러), 1 XMR은 579.321202 USDT, 0.01 BTC는 1.31526425 XMR(131.52642 XMR/BTC), 코리도 하한 19.737089, 상한 175,575.932493 USDT. 모두 작성 시점 값이며 최신 값은 페이지에서 확인하십시오. (XMR→USDT 출구 루트)