AI Agents and On-Chain Payments with x402 Protocol
AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

AI 에이전트가 체인상에서 결제하는 방법

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

웹 개발, 인공지능, DevOps

대상자

웹/블록체인 개발자, AI 엔지니어, M2M 결제 시스템 설계자

난이도: 중급~고급 (HTTP 프로토콜, 블록체인 구현, 보안 개념 필요)

핵심 요약

  • HTTP 402 Payment Required는 1997년 RFC 2068에서 정의되었으나, 2025년에 x402 프로토콜로 체인상 결제 기능이 활성화됨
  • x402는 AI 에이전트가 HITL(인간 개입) 없이 M2M 결제를 수행할 수 있도록 HTTP 프로토콜 내에 블록체인 결제 흐름을 구현
  • 시스템 구성 요소: 클라이언트, 리소스 서버, 프로미터, 블록체인에서 분리된 책임표준화된 HTTP 인터페이스를 통해 결합성을 최소화
  • 핵심 기술: EIP-712 서명, 비밀번호 추적, USDC 전송, 스마트 계약

섹션별 세부 요약

1. HTTP/1.1의 역사와 HTTP 402의 등장

  • RFC 2068에서 지속 연결(Persistent Connections)과 Chunked Transfer Encoding 도입
  • HTTP 402 Payment Required는 '미래 사용 예약' 상태 코드로 남아 있었음
  • 2025년까지도 HTTP 402는 여전히 '미래 사용 예약' 상태로 남아 있었음

2. AI 에이전트의 M2M 결제 문제

  • AI 에이전트는 HITL(인간 개입) 없이 결제를 수행해야 하지만, 기존 결제 흐름은 인간 상호작용, 리디렉션, 수동 단계가 필요
  • x402는 이러한 문제를 해결하기 위해 HTTP 프로토콜 내에서 체인상 결제를 구현

3. x402 프로토콜의 구성 요소

  • 클라이언트: 결제 시작, EIP-712 서명, 자동 재시도, 결제 탐지
  • 리소스 서버: 가격표 관리, HTTP 402 응답, 미들웨어 통합
  • 프로미터: 서명 검증, 비밀번호 추적, 가스 추상화
  • 블록체인: USDC 전송, 스마트 계약, 불변 기록

4. 아키텍처 설계 원칙

  • 책임 분리: 리소스 서버는 비즈니스 로직, 프로미터는 결제 복잡성, 클라이언트는 사용자 상호작용
  • 조인트 결합성: HTTP/REST 인터페이스를 통해 블록체인 구현 세부사항과 독립
  • 의존성 역전: 서버와 클라이언트는 HTTP 인터페이스에 의존, 구체적인 블록체인 API에 의존하지 않음

5. x402 결제 흐름

  1. 초기 요청: 클라이언트가 리소스에 대한 표준 HTTP 요청
  2. 결제 필요 응답: 서버가 결제 세부사항을 포함한 HTTP 402 응답
  3. 결제 승인: 클라이언트가 서명된 결제 생성 후 요청 재시도
  4. 검증 및 접근: 서버가 결제 검증, 블록체인에 전송, 접근 허가

6. 서버 측 구현 예시 (Java)

public class PaymentFilter implements Filter {
   private final String payTo;
   private final Map priceTable; // 경로 → 금액
   private final FacilitatorClient facilitator;
   public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) {
      String path = req.getRequestURI();
      String paymentHeader = req.getHeader("X-PAYMENT");
      if (!priceTable.containsKey(path)) {
         chain.doFilter(request, response); // 무료 엔드포인트
         return;
      }
      if (paymentHeader == null) {
         send402Response(resp, path); // 결제 요청
         return;
      }
      VerificationResponse verification = facilitator.verify(paymentHeader, requirements);
      if (verification.valid) {
         chain.doFilter(request, response);
         facilitator.settle(paymentHeader, requirements);
      }
   }
}

결론

  • x402*는 HTTP 402 상태 코드를 활용한 체인상 결제로, AI 에이전트의 M2M 결제를 HITL 없이 자동화하며, EIP-712 서명, 비밀번호 추적, USDC 전송 등의 기술을 사용하여 HTTP 프로토콜 레벨에서 투명하게 결제 처리 가능. 리소스 서버와 클라이언트는 HTTP 인터페이스에만 의존하여 블록체인 구현 세부사항을 숨김.