Skip to content

가스리스 결제

사용자는 서명만으로 결제할 수 있습니다 — 가스비가 필요 없습니다.

개요

가스리스 결제는 ERC-2771 메타 트랜잭션 표준을 사용합니다. 사용자는 네이티브 토큰(MATIC, ETH 등) 없이 ERC-20 토큰으로 결제할 수 있습니다.

사용 사례

  • 신규 사용자 온보딩 (가스 없이 첫 결제)
  • 더 나은 UX (서명만으로 결제)
  • 가스비 변동성 제거

일반 결제 vs 가스리스 결제

일반 결제                         가스리스 결제
──────────                        ─────────────────

  사용자                            사용자
    │                                 │
    │ TX 전송                          │ 서명만
    │ (가스 지불)                      │ (가스 없음)
    ▼                                 ▼
  컨트랙트                          릴레이어

                                        │ TX 전송
                                        │ (가스 지불)

                                    컨트랙트

구성 요소

1. EIP-712 서명

사용자 지갑이 생성하는 타입 서명입니다.

  • 도메인, 타입, 메시지가 명확히 표시됨
  • 사용자가 서명 내용 확인 가능
  • 재생 공격 방지 (nonce, deadline)

2. ERC2771 Forwarder

OpenZeppelin의 ERC2771Forwarder 컨트랙트입니다.

  • 서명 검증
  • 원래 발신자 복원 (_msgSender())
  • PaymentGateway로 호출 전달

3. 릴레이어

서명된 요청을 온체인 트랜잭션으로 변환합니다.

  • 서명 형식 검증
  • 가스비 지불
  • 트랜잭션 전송 및 모니터링

릴레이 상태 흐름

QUEUED ────▶ SUBMITTED ────▶ CONFIRMED


              FAILED
상태설명
QUEUED릴레이 요청 대기
SUBMITTED트랜잭션 전송됨
CONFIRMED트랜잭션 확정됨
FAILED트랜잭션 실패

제한 사항

  • 토큰은 사전에 PaymentGateway 컨트랙트에 approve 되어 있어야 함
  • 해당 체인에 릴레이어 서비스가 구성되어 있어야 함
  • 결제 생성 응답에 forwarderAddress가 포함됨 (없으면 해당 체인에서 가스리스 미지원)

지원 체인

체인네트워크 ID
Polygon Amoy80002
BSC Testnet97
Sepolia11155111

다음 단계

Non-custodial Web3 payment infrastructure for ERC-20 checkout, sponsored gas, and wallet-to-wallet settlement.