학습/구성 요소

구성 요소

x402 프로토콜은 4개의 핵심 구성 요소로 이루어져 있습니다. 각 구성 요소는 명확한 역할을 가지며, 함께 협력하여 안전하고 빠른 결제를 구현합니다.

클라이언트 (Client)

결제를 시작하는 주체

역할

  • 보호된 리소스에 HTTP 요청 전송
  • 402 응답 수신 및 결제 요구사항 파싱
  • EIP-712 서명 생성 (지갑 개인키 사용)
  • 결제 서명과 함께 요청 재전송

예시

  • • AI 에이전트 (Claude, GPT 등)
  • • 자동화된 스크립트
  • • 웹 애플리케이션

SDK

npm install @x402/fetch @x402/axios
pip install x402  # Python

리소스 서버 (Resource Server)

콘텐츠를 제공하는 서버

역할

  • 결제가 필요한 요청에 402 응답 반환
  • 결제 요구사항 정의 (가격, 토큰, 수신 주소)
  • 퍼실리테이터에 결제 검증 요청
  • 검증 완료 후 보호된 콘텐츠 반환

구현 방식

  • • Express/Next.js 미들웨어
  • • Cloudflare Workers
  • • FastAPI/Flask 미들웨어

SDK

npm install @x402/express @x402/next @x402/hono
pip install x402[fastapi]  # Python

퍼실리테이터

결제 검증 및 온체인 정산 담당

역할

  • 결제 서명 유효성 오프체인 검증 (~100ms)
  • 블록체인에 트랜잭션 제출 (가스비 대납)
  • 정산 결과를 서버에 반환
  • 사기 방지 및 리스크 관리

주요 퍼실리테이터

API 엔드포인트

POST /verify   - 서명 검증
POST /settle   - 온체인 정산

블록체인

최종 정산 레이어

역할

  • USDC 토큰 전송 실행
  • 서명 검증 (transferWithAuthorization)
  • 거래 기록의 불변성 보장

지원 네트워크

네트워크CAIP-2 ID토큰
Base Mainneteip155:8453USDC
Base Sepoliaeip155:84532USDC (테스트)
Ethereumeip155:1USDC
Solanasolana:5eykt4...SPL USDC

전체 아키텍처

┌─────────────────┐     ┌─────────────────┐     ┌─────────────────┐
│   클라이언트     │     │   리소스 서버    │     │   퍼실리테이터   │
│   (AI Agent)    │     │   (API Server)  │     │   (검증/정산)    │
└────────┬────────┘     └────────┬────────┘     └────────┬────────┘
         │                       │                       │
         │  1. GET /resource     │                       │
         │──────────────────────>│                       │
         │                       │                       │
         │  2. 402 + 결제정보    │                       │
         │<──────────────────────│                       │
         │                       │                       │
         │  3. 서명 생성         │                       │
         │  (로컬)               │                       │
         │                       │                       │
         │  4. GET + 서명        │                       │
         │──────────────────────>│                       │
         │                       │  5. 검증 요청         │
         │                       │──────────────────────>│
         │                       │                       │  6. 온체인 정산
         │                       │                       │─────────────────┐
         │                       │                       │                 │
         │                       │                       │<────────────────┘
         │                       │  검증 완료            │
         │                       │<──────────────────────│
         │  7. 200 + 콘텐츠      │                       │
         │<──────────────────────│                       │
         │                       │                       │