우리가 AI 에이전트를 위한 x402 결제 시스템을 구축한 방법
402 헤더에서 온체인 USDC까지 30줄의 코드로
AI 에이전트는 여러 가지 비용에 대해 지불할 필요가 있습니다. 데이터 API, 컴퓨팅 자원(compute), 스토리지, 또는 다른 에이전트의 서비스 등이 그것입니다. 하지만 기존 결제 시스템(Stripe, PayPal)은 인간의 개입을 요구합니다. 신용카드, 계정, KYC(Know Your Customer) 절차 등은 자율적인 에이전트에게는 적용되지 않습니다.
여기에 x402가 등장합니다. 이 프로토콜은 HTTP 402 (결제 필요) 상태 코드를 암호화폐 결제 레일로 전환합니다. 계정도, API 키도 없습니다. 오직 지갑과 요청만 있으면 됩니다.
저희는 두 개의 공개 SDK(TypeScript + Python)를 사용하여 오픈 소스 구현을 구축했습니다. 작동 방식은 다음과 같습니다.
문제점 (The Problem)
실시간 시장 데이터가 필요한 AI 에이전트를 상상해 보세요. 이 에이전트가 API를 호출합니다. 해당 API는 요청당 $0.05를 요구합니다. 에이전트는 어떻게 비용을 지불할까요?
-
Stripe? 계정 설정, API 키, 인간의 승인이 필요합니다.
-
암호화폐 지갑(Crypto wallet)? 가스비(gas), 복잡한 서명 과정, 그리고 요청당 $0.05에 대한 온체인 트랜잭션(on-chain tx)이 필요합니다.
-
x402? 단 하나의 헤더와 하나의 서명만 있으면 됩니다. 끝입니다.
아키텍처 (The Architecture)
graph TD
A[Agent] -->|GET /resource|
B(Server)
B -- 402 + requirements --> C{Payment Required}
C --> D[sign EIP-3009 (off-chain)]
D -->|GET /resource + X-PAYMENT|
B --> F[verify + settle]
F --> G[on-chain USDC transfer]
G -->|200 + resource|
B --> H[Agent]
- **에이전트(Agent)**가 유료 리소스를 요청합니다.
- **서버(Server)**는 결제 요구 사항(금액, 네트워크, 수신자)과 함께 402 상태 코드로 응답합니다.
- 에이전트 SDK는 오프체인에서 EIP-3009
TransferWithAuthorization을 서명합니다 (가스비 없음!)
- **에이전트(Agent)**는
X-PAYMENT 헤더와 함께 재요청합니다.
- **서버(Server)**는 이를 **중개자(facilitator)**에게 전달하고, 중개자가 서명을 검증한 후 온체인 결제를 완료합니다.
- **서버(Server)**는 200 상태 코드와 리소스를 반환합니다.
판매자는 USDC를 받습니다. 중개자가 가스비를 지불합니다. 에이전트는 추가 비용을 지불하지 않습니다.
코드 (Python)