← 블로그
walits 스타터 가이드

Walits 서비스 스타터 가이드 — 개인용 USDC 전문 지갑

지갑을 어떻게 만들고, USDC를 어떻게 채우고, 로그인 후 무엇이 보여야 하는가

2026년 4월 7일·28분 읽기
Walits Starter Guide

이 글에서 다루는 것

📱

로그인 후 UI/UX

홈 화면 구성, PayFi 프리셋, 거래 내역, 에이전트 — 처음 켰을 때 무엇이 보여야 하는가

🔑

지갑 생성 기술

HD Wallet · 자체 MPC · Coinbase CDP · Turnkey · Circle Programmable — 무엇을 선택할까

💵

USDC 충전 방법

거래소 출금 · MetaMask 전송 · 온램프 · CCTP 크로스체인 — 어떤 UX로 지원할까

01 · 왜 개인용 USDC 전문 지갑인가

일반적인 크립토 지갑은 수십 개 토큰을 지원하는 "종합 자산 관리 도구"다. 그런데 대부분의 실사용 케이스는 결국 하나로 귀결된다. 달러 가치를 유지하면서 송금하고 이자를 받는 것. walits는 여기에 집중한다. USDC 하나만 제대로 다루는 전문 지갑이다.

일반 크립토 지갑의 문제

  • 수십 개 토큰 → 무엇을 써야 할지 혼란
  • 가격 변동성 → 달러 가치 보존 불가
  • 수익 기능 없음 → 잔고가 그냥 잠든다
  • UX 복잡도 높음 → 진입 장벽

walits 개인 지갑의 포지션

  • USDC 단일 자산 → 달러 기준 잔고 직관적
  • 잔고가 24시간 수익 창출 (PayFi)
  • 에이전트가 자동으로 최적 프로토콜 배치
  • 온램프·오프램프 원클릭 지원

02 · 로그인 후 UI/UX — 무엇이 보여야 하는가

처음 로그인한 유저가 5초 안에 이해해야 할 것은 딱 하나다. "내 USDC가 지금 얼마고, 무엇을 하고 있는가." 이 기준으로 홈 화면 구조를 설계한다.

홈 화면 — 4개 레이어 구조

내 USDC 잔고

$1,248.32

+$3.41 오늘 (연 9.8% 환산)

운용 중

$1,100

대기 중

$148

이번 달 수익

$9.14

📥

받기

📤

보내기

💱

충전

⚙️

설정

현재 운용 전략

활성
🍎

Apple 전략

Ondo USDY + Morpho USDC · 연 6~8%

7.2%

현재 APY

최근 활동

🤖Agent: Morpho → Ondo 재배치 (APY +0.3%)2시간 전
💰이자 수령 +$1.24어제
📤김민준에게 $50 송금3일 전

화면별 설계 원칙

홈 화면
  • 잔고를 달러($) 기준으로 표시 — USDC 수량이 아닌 달러 가치 우선
  • 운용 중/대기 중 분리 표시 — 얼마가 일하고 있는지 투명하게
  • 오늘 수익 실시간 표시 — "내 돈이 지금 벌고 있다" 체감
  • 빠른 액션 4개 (받기·보내기·충전·설정) — 핵심 동선 최단화
PayFi 투자 탭
  • 프리셋 3개 (오렌지·애플·칠리) 카드 UI — 수익률·위험도·사용 프로토콜 표시
  • 현재 활성 전략 강조 + APY 실시간 갱신
  • 에이전트 자동/수동 모드 토글
  • 수익 히스토리 차트 (일/주/월)
보내기/받기
  • 받기: QR 코드 + 주소 복사 + 체인 선택 (Ethereum·Base·Polygon·Solana)
  • 보내기: 주소 or 이름 검색, 달러 입력 → USDC 자동 환산
  • 수수료 미리보기 — 체인별 가스 비교
  • 즐겨찾기 수취인 저장
충전 탭
  • 방법 선택 카드 UI — 거래소·카드·다른지갑·CCTP
  • 각 방법별 예상 소요 시간·수수료 명시
  • 온램프 파트너 (MoonPay·Transak·Stripe) 원클릭 연동
  • 거래소별 출금 가이드 (업비트·빗썸·바이낸스)

03 · 지갑 생성 기술 — walits 자체 MPC 인프라

유저가 가입하는 순간 "USDC를 담을 수 있는 온체인 주소"가 만들어져야 한다. walits는 외부 서비스에 의존하지 않고 자체 MPC(Multi-Party Computation) 인프라를 직접 구축·운영한다. Rust로 작성된 CGGMP24 + FROST 프로토콜 기반이다. 그리고 이것은 시드 문자를 보여주지 않는 소셜 로그인과 완전히 결합된다.

소셜 로그인 ≠ 키 관리 — 둘은 완전히 별개의 레이어다

인증 레이어 (소셜 로그인)
"이 사람이 맞다" — Google / Apple OAuth JWT 발급. 유저 식별과 세션 관리만 담당.
키 관리 레이어 (MPC)
"서명 권한을 어떻게 분산하는가" — 키 조각 보관, 분산 서명. 인증과 독립적으로 동작.

→ 소셜 로그인으로 인증한 후 MPC로 서명한다. 시드 문자 없음. 두 레이어를 결합하면 일반 앱 수준의 UX + 크립토 수준의 키 보안이 동시에 가능하다.

walits MPC 키 구조 — 2-of-3 Threshold

🖥️

Party 0서버키

walits MPC 서버

항상 온라인. 모든 서명에 참여. 단독으로는 서명 불가.

저장: walits 서버 파일시스템 / AWS S3

💻

Party 1고객키

고객 브라우저 WASM

일상적 서명에 참여. 기기 분실 시 Party 0+2로 복구 가능.

저장: 브라우저 IndexedDB (암호화)

🔒

Party 2백업키

백업 (복구 전용)

평소엔 잠들어 있음. 고객키 분실 시에만 활성화.

저장: 백엔드 암호화 저장 (유저 계정 연결)

2-of-3 규칙

Party 0 + Party 1 → 정상 서명 (매일 사용)
Party 0 + Party 2 → 고객 기기 분실 시 복구
Party 0 단독 → 서명 불가 (서버 해킹당해도 안전)
Party 1 + Party 2 → 서버 없이 서명 불가 (설계 의도)

소셜 로그인 + MPC 전체 흐름 — 가입부터 서명까지

1최초 가입 — Google 로그인 → MPC 지갑 생성 (1회)

// 가입 흐름

유저Google OAuth 로그인 → JWT 발급
백엔드JWT 검증 → 신규 유저 확인 → userId 생성
WASMMPC DKG 실행: Party 1 (브라우저) + Party 0 (서버)
MPC 서버CGGMP24 프로토콜 — 3-party Distributed Key Generation
결과Party 0 key share → 서버 저장 / Party 1 key share → IndexedDB
결과Party 2 key share → 백엔드 암호화 저장 (Google UID 연결)
백엔드공개키(hex) → Ethereum 주소 파생 → DB 저장

소요 시간: DKG 약 30~60초 (최초 1회만). 이후 재방문 시 즉시.

2재방문 로그인 — Google 인증 → IndexedDB에서 키 로드
유저Google 로그인 (기존 기기)
백엔드JWT 검증 → 기존 유저 확인 → 세션 발급
WASMIndexedDB에서 Party 1 key share 로드
완료즉시 서명 준비 완료 — DKG 없음, 대기 없음
3트랜잭션 서명 — Party 0 + Party 1 → 2-of-3 MPC 서명

// 서명 흐름 (walits-mpc API)

백엔드POST /api/wallets/sign {wallet_name, tx_hash, algorithm, chain}
MPC 서버Party 0 서명 세션 시작 → WASM 클라이언트에 WebSocket 알림
WASMParty 1 key share 로드 → 서명 프로토콜 참여
MPC 서버CGGMP24 서명 완료 (Party 0+1) → (r, s) 반환
백엔드서명된 트랜잭션 브로드캐스트 → Ethereum/Base에 전송

소요 시간: 약 2~5초. 유저에게는 버튼 클릭 → 완료로 보인다.

4새 기기 / IndexedDB 초기화 → Google 재인증으로 복구
유저새 기기에서 Google 로그인
백엔드JWT 검증 → 기존 유저 확인 → 암호화된 Party 2 key share 반환
WASMParty 2 key share 복호화 → 새 IndexedDB에 저장
자동Party 0 + Party 2 → 새 Party 1 key share 재생성 (re-keying)
완료이 기기에서 Party 1 키 복원 완료 — 시드 문자 없이
핵심: Google 계정이 "시드 문자" 역할을 대체한다. Google 계정에 접근할 수 있는 한, 어느 기기에서든 지갑을 복구할 수 있다.

walits 자체 MPC 스택

프로토콜

CGGMP24 (ECDSA) FROST Ed25519

언어

Rust + Tokio WASM (브라우저)

구조

2-of-3 threshold Party 0/1/2

지원 체인

ETH · BTC · SOL XRP · Tron

로그인

Google / Apple / Email

Party 1 저장

IndexedDB (암호화)

복구

Google 재인증 → Party 2

다른 방식과 비교

방식키 보관소셜 로그인외부 의존비용 구조
walits 자체 MPCwalits유저+walits서버 분산✅ 결합 가능없음 (완전 독립)서버 운영비 고정
HD Wallet유저 100% (시드)❌ 불가없음무료 (서버 없음)
Turnkey MPC유저+Turnkey TEE✅ 기본 지원Turnkey SaaS서명 건당 과금
Coinbase CDP유저+Coinbase✅ 기본 지원Coinbase건당/월정액
Circle ProgrammableCircle 관리✅ 기본 지원Circle건당 과금

04 · USDC 충전 방법 — 5가지 경로와 UX 설계

지갑이 생겼다. 이제 USDC를 채워야 한다. 유저마다 출발점이 다르다. 업비트에 원화가 있는 사람, MetaMask에 ETH가 있는 사람, 신용카드로 바로 사고 싶은 사람. 이 모든 경우를 커버하는 충전 화면이 필요하다.

충전 방법 선택 화면 — 와이어프레임

USDC 충전 방법 선택

🏦

국내 거래소에서 출금

업비트·빗썸 → USDC 직접 전송

무료
🦊

다른 지갑에서 전송

MetaMask·Phantom·다른 지갑 주소로

빠름
💳

카드/은행 온램프

MoonPay·Transak·Stripe — 원화 직접 구매

수수료 1~2%
🌉

다른 체인에서 브릿지

CCTP로 Ethereum·Polygon→Base 이동

고급
📲

친구에게 받기

walits 사용자끼리 무료 전송

무료

방법 1 — 국내 거래소에서 USDC 출금

업비트·빗썸·코인원 → USDC 직출금 (수수료 최소)

원화 → 거래소에서 USDC 매수 → 출금. 가장 저렴하고 직접적인 방법이다. 단, 거래소마다 USDC 지원 체인이 다르므로 유저에게 명확히 안내해야 한다.

// walits 수신 화면 UX 흐름

1"받기" 버튼 → 체인 선택 (Base / Ethereum / Polygon)
2선택 체인의 walits 주소 + QR 코드 표시
3거래소별 출금 가이드 링크 제공 (업비트 Base USDC 출금 방법)
4입금 감지 → 푸시 알림 → 잔고 업데이트
주의: 업비트는 현재 Base 체인 USDC 출금을 지원하지 않는다. Ethereum 또는 Polygon USDC를 walits에서 받은 후 내부적으로 CCTP로 Base로 이동시키는 방식이 현실적이다.

방법 2 — MetaMask·다른 지갑에서 전송

주소 복사 or QR 스캔으로 직전송

이미 MetaMask나 다른 지갑에 USDC가 있는 유저용이다. walits 주소를 복사해 전송하면 된다. 체인이 일치해야 한다는 점이 유일한 주의사항이다.

walits UX

  • • 체인 선택 드롭다운
  • • 주소 원클릭 복사
  • • QR 코드 풀스크린
  • • "MetaMask로 전송하기" 딥링크 버튼

유저 안내 포인트

  • • "같은 체인으로 보내야 합니다"
  • • USDC만 지원 (ETH 보내면 안 됨)
  • • 예상 도착 시간 표시

방법 3 — 카드·은행 온램프 (MoonPay / Transak / Stripe)

원화 카드 결제 → USDC 즉시 충전 (수수료 1~2%)

크립토를 전혀 모르는 유저가 신용카드나 계좌이체로 바로 USDC를 살 수 있다. MoonPay·Transak·Stripe Onramp가 주요 파트너다. walits는 이들 SDK를 인앱 웹뷰로 임베드해 앱을 이탈하지 않고 충전할 수 있게 만든다.

파트너지원 결제한국 지원수수료특징
MoonPay카드·은행이체부분 지원1~4%가장 넓은 국가 커버리지
Transak카드·UPI·은행제한적1~2%낮은 수수료, B2B 친화
Stripe Onramp카드미지원1.5%UX 최고, Stripe 기존 고객

방법 4 — CCTP 크로스체인 브릿지

Circle CCTP로 체인 간 USDC 네이티브 이동 (Bridged USDC 아님)

Ethereum·Polygon·Arbitrum에 있는 USDC를 walits가 메인으로 쓰는 Base 체인으로 옮기고 싶을 때 사용한다. Circle의 CCTP(Cross-Chain Transfer Protocol)는 브릿지 계약이 아니라 Burn-and-Mint 방식으로 체인 간 이동하므로, Wrapped 토큰이 아닌 네이티브 USDC를 받는다.

// CCTP Burn-and-Mint 흐름

소스 체인USDC.burn(amount) → MessageTransmitter 이벤트 발생
Circle 어테스터소각 증명 서명 (attestation) 발급
walits 백엔드attestation 폴링 → 대상 체인에 제출
대상 체인MessageTransmitter.receiveMessage() → 네이티브 USDC 민트

소요 시간: 약 1~3분. 수수료: 소스 체인 가스비만. walits는 이 과정을 자동화해 유저에게는 "Ethereum USDC → Base USDC 이동" 버튼 하나로 보여준다.

방법 5 — walits 사용자끼리 P2P 송금 (무료)

전화번호·닉네임으로 즉시 전송, 가스비 없음

walits 유저끼리는 이름이나 전화번호로 USDC를 주고받을 수 있다. 같은 백엔드 인프라를 공유하면 가스비 없이 즉시 처리된다. 카카오페이처럼 쓰되 달러로. 초기 USDC 유입 경로로 매우 중요하다. "친구가 walits로 보내줬어" → 가입 유도.

05 · 충전 후 — USDC가 바로 일하기 시작한다

충전이 완료되면 walits의 차별화가 시작된다. 잔고가 대기 상태로 있으면 Idle Time 감지기가 작동해 유저에게 투자 프리셋을 제안한다. 유저가 한 번 전략을 선택하면 이후는 에이전트가 자동으로 최적 프로토콜에 배치한다.

충전 후 자동 흐름

01

USDC 수신 감지

입금 트랜잭션 확인 → 잔고 업데이트 → 푸시 알림

02

Idle Time 감지기 활성화

5분 이상 미운용 잔고 감지 → 투자 프리셋 제안 토스트 표시

03

유저 전략 선택 (1회)

오렌지(4-5%) / 애플(6-8%) / 칠리(10-12%) — 한 번만 선택

04

AI 에이전트 배치 실행

Policy Engine 검증 → Turnkey 서명 → Aave·Morpho·Ondo에 자동 예치

05

이자 실시간 누적

매 블록 수익 발생 → 홈 화면에서 실시간 확인

핵심 요약

지갑 기술

Turnkey MPC — 소셜 로그인으로 키 없이 지갑 생성, Policy Engine으로 에이전트 권한 제어

UX 원칙

달러 기준 잔고, 운용/대기 분리, 에이전트 활동 피드 — 5초 안에 내 돈 상태 파악

충전 경로

거래소 출금 / MetaMask / 카드 온램프 / CCTP 브릿지 / P2P — 유저 출발점에 맞게 5가지 제공