활성화된 스토어, 검증된 스테이블코인 결제, USDT와 USDC 각각의 자동 스윕 규칙을 준비해.
1. 프로젝트 준비하기
Wholly Crypto 설치와 프로젝트, 스토어를 먼저 준비해. 프로젝트 지갑은 VPS 밖의 안전한 개인 공간에 백업하고 Ethereum 지갑은 활성 상태로 둬.
Settings → Chain connections에서 Ethereum 스캐너 준비 상태를 확인하고 서로 독립적인 예비 제공자를 유지해. 노드가 정상이라고 결제 스캔까지 지원한다는 뜻은 아니야. 장애가 생기면 감지가 늦어질 수 있어.
2. 올바른 USDT와 USDC 활성화하기
Project → Stores → 스토어 선택 → Payment methods로 들어가. Ethereum을 고르고 토큰 목록에서 USDT와 USDC를 활성화해. 티커만 보지 말고 네트워크와 컨트랙트도 확인해. 프로젝트와 스토어는 활성 상태로 유지해.
확인할 Ethereum 메인넷 컨트랙트
| 토큰 | ERC-20 컨트랙트 |
|---|---|
| USDT | 0xdac17f958d2ee523a2206206994597c13d831ec7 |
| USDC | 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 |
토큰을 식별하는 주소야. 토큰 컨트랙트를 결제나 스윕의 수신 주소로 쓰면 안 돼.
이 가이드는 Base, Arbitrum, Solana, TRON이 아닌 Ethereum 메인넷 기준이야. 같은 티커여도 네트워크가 다르면 별도의 결제 수단이야.
3. 소액 테스트 결제받기
Project → Invoices에서 25 EUR 같은 소액 청구서를 만들고 결제 화면을 열어. Ethereum을 고른 뒤 USDT나 USDC를 선택해. 표시된 정확한 토큰 수량을 Ethereum으로 보내야 해. 25 EUR가 토큰 25개라는 뜻은 아니야.
설정한 확인 정책에 따라 청구서가 settled가 될 때까지 기다리고 검토 알림도 확인해. Wallets → Ethereum → Addresses에서 받은 토큰 잔액을 봐. 고객에게 두 토큰을 제공하기 전에 다른 토큰도 테스트해.
Wholly Crypto는 청구서마다 새 주소를 사용해. 고객 자금은 콜드 월렛이 아니라 프로젝트 지갑에 먼저 들어와. 스윕은 별도의 출금 거래라서 청구서가 결제됐는지는 바꾸지 않아.
4. 콜드 월렛 주소 선택하기
하드웨어 지갑이나 다른 오프라인 지갑에서 Ethereum 수신 계정을 만들어. 신뢰하는 기기에서 주소를 확인해. 복구 문구는 별도로 생성한 것을 써야 해. 서버 지갑의 문구를 기기에 가져온다고 콜드 월렛이 되는 건 아니야.
Settings → Address book에 Ethereum과 해당 토큰의 공개 주소를 알아보기 쉬운 이름으로 저장해. 스윕 규칙에 직접 입력해도 돼. Wholly Crypto에는 공개 주소만 넣고, 콜드 월렛의 개인 키와 복구 문구는 오프라인으로 보관해.
지갑이 지원하면 같은 Ethereum 주소로 두 토큰을 모두 보관할 수 있어. 먼저 Wallets → 토큰 → Send에서 소액 수동 전송을 테스트하고, 목적지와 비용을 검토한 뒤 승인해. 수신을 확인하고 나서 자동화를 켜.
5. 수수료용 ETH 남겨 두기
이 흐름에서는 USDT나 USDC로 일반적인 Ethereum 가스비를 낼 수 없어. 같은 프로젝트의 Ethereum 지갑, 예를 들어 기본 수신 주소에 ETH를 남겨 둬. 다른 체인이나 프로젝트의 ETH로는 이 전송을 지원할 수 없어.
Use project ETH for gas를 켜면 Wholly Crypto가 조건에 맞는 토큰 보유 주소에 부족한 가스비를 채운 뒤 토큰을 보내. 빈 청구서 주소에는 보내지 않아. 가스가 부족한 각 출발 주소도 규칙의 최소 스윕 금액을 충족해야 해.
가스 보충과 토큰 전송 모두 네트워크 수수료가 들어. 남은 ETH는 출발 주소에 그대로 있어. 프로젝트의 ETH 지갑부터 비우지 마. ETH도 자동 스윕한다면 충분한 잔액을 남겨 둬.
6. 토큰마다 규칙 설정하기
Project → Sweep → Automatic sweep setup에서 Ethereum의 USDT를 찾아 Setup을 눌러. 거래소가 아닌 지갑을 목적지로 고르고, 저장한 콜드 주소를 선택하거나 직접 입력해. USDC도 별도로 설정해.
소액 테스트용 예시야. 모든 상황에 맞는 수수료 권장은 아니야:
| 설정 | 예시와 의미 |
|---|---|
| 최소 스윕 금액 | USDT 규칙은 10 USDT, USDC는 10 USDC. 스윕 시작 기준이면서 가스가 부족한 출발 주소를 가리는 기준이기도 해. |
| 최소 유지 금액 | 0은 토큰을 추가로 남기지 않는다는 뜻이야. 양수는 주소마다가 아니라 프로젝트 지갑 전체에 남겨 둬. ETH 가스 잔액과는 별개야. |
| 수수료 우선순위 | Medium. 규칙을 켜기 전에 현재 수수료를 확인해. |
| 프로젝트 ETH를 가스비로 사용 | 켜기. Gas fees에서 이 옵션과 예산을 확인해. |
| 일일 충전 한도 | EUR 규칙이라면 적은 사용량에서는 1 EUR를 시작 한도로 삼을 수 있어. 가스비가 높거나 주소가 많으면 더 필요할 수 있어. |
| 최대 네트워크 수수료 % | 선택 사항이야. 가스 보충과 전송 수수료의 합이 설정한 비율을 넘으면 기다려. 비워 두면 비율 제한이 없어. |
일일 한도는 토큰 규칙별로 최근 24시간을 기준으로 적용돼. 출발 주소에 배정하는 ETH를 제한하는 것이지 전체 수수료 상한이나 매일 부과되는 요금이 아니야. 두 규칙의 예산은 별개야. 표시 통화와 현재 예상 비용을 확인해.
최소 금액이 토큰 10개라면, 가스가 부족하고 토큰이 5개뿐인 주소는 가스를 받지 않아. 다른 주소를 더해 총 10개를 넘겨도 마찬가지야. 보통 청구 금액과 네트워크 비용에 맞춰 최소 금액을 정해.
Auto sweep을 켜고 Save rule을 누른 뒤 목적지와 한도를 확인해. Setup을 열거나 가스 옵션만 체크한다고 규칙이 켜지진 않아. 최신 잔액과 수수료는 자동으로 확인하니 Check gas는 선택 사항이야.
7. 진행 상황과 운영 상태 확인하기
Sweep → Transfer activity에서 Gas funding, 확인 진행과 토큰 전송을 봐. Details와 Etherscan 링크를 열어 목적지와 실행 성공 여부를 확인해. 할 일이 없는 규칙은 진행 중인 전송으로 표시되지 않아. 브라우저를 닫아도 서버는 계속 처리해.
프로젝트, 스토어, 지갑, 토큰을 활성 상태로 두고 지갑 백업과 서버 전송 허용도 확인해. 처리 수수료가 적용된다면 크레딧도 충분히 유지해. 크레딧 부족은 입금을 막지 않지만 스윕은 멈출 수 있어.
전송이 시작되지 않을 때
사용 가능한 ETH, 주소별 최소 금액, 남겨 둘 잔액, 일일 예산 사용량, 현재 가격, 스캐너·제공자 접근과 Transfer preparation 오류를 확인해. 예산을 다 쓰면 새 가스 보충이 멈추고, 한도가 자동으로 늘어나진 않아.
미확인 전송은 기존 Details와 탐색기부터 확인해. Review speed-up fee가 나오면 검토한 비용을 승인할 수 있어. 중복 전송을 만들거나 확인 상태를 모른다는 이유로 결제 실패라고 판단하지 마.