암호화폐 지갑을 소유하고 x402를 통해 자체 API 액세스를 판매하는 AI 에이전트를 구축했습니다
요약
x402 프로토콜을 활용하여 암호화폐 결제와 Claude의 경제적 의사결정을 결합한 자율형 AI 에이전트 구축 사례를 소개합니다. 에이전트는 수익과 비용을 분석하여 스스로 API 가격을 결정하며, Base 메인넷에서 실제 작동합니다.
핵심 포인트
- x402 프로토콜을 통한 스테이블코인 마이크로페이먼트 구현
- Claude를 활용한 에이전트의 자율적 가격 결정 메커니즘
- Coinbase CDP를 이용한 안전한 지갑 관리 및 지출 한도 설정
- 실제 메인넷 배포 시 발생하는 인프라 및 모델 응답 변화 대응
저는 하나의 실험을 진행해 왔습니다. 자체 암호화폐 지갑을 소유하고, 유료 API를 판매하며, 실제 수익과 비용을 바탕으로 Claude를 사용하여 스스로 가격 결정을 내리는 자율형 AI 에이전트입니다. 현재 Base 메인넷(mainnet)에서 라이브 상태이므로, 이것이 실제로 어떻게 작동하는지 작성해 보고 싶었습니다.
작동 방식
이 에이전트는 x402 프로토콜(스테이블코인 마이크로페이먼트(micropayments)를 위해 과거에 사용되지 않았던 HTTP 402 "Payment Required" 상태 코드를 Coinbase가 부활시킨 것) 뒤에 숨겨진 단일 유료 엔드포인트인 텍스트 요약기(text summarizer)를 실행합니다. API 키도, 회원가입도, 구독도 필요 없습니다:
POST /api/summarize
{"text": "..."}
결제되지 않은 요청은 가격($0.02)과 결제 세부 정보가 포함된 402 응답을 받습니다. x402를 인식하는 클라이언트는 Base 상에서 USDC 결제를 첨부하고 자동으로 재시도합니다. 결제가 완료되면 에이전트는 Claude를 통해 텍스트를 실행하고 다음을 반환합니다:
{"summary": "...", "key_points": ["...", "..."]}
지갑과 안전장치
에이전트의 지갑은 Coinbase의 개발자 플랫폼(CDP)을 통해 관리됩니다. 실제 개인 키(private key)는 제 코드에 절대 닿지 않으며, 오직 API 범위로 제한된 자격 증명(credential)만 사용됩니다. 더 중요한 점은 다음과 같습니다: 지갑에서 자금을 이동시킬 수 있는 모든 코드 경로는 엄격하게 테스트된 지출 한도(spend cap)가 설정된 하나의 함수를 반드시 거쳐야 합니다. 현재 빌드에서는 지갑에서 실제로 돈을 쓰는 기능이 전혀 없지만(현재는 수신 전용입니다), 에이전트가 스스로 돈을 쓰는 기능을 추가하게 될 경우를 대비해 한도를 설정해 두었습니다. 이는 단순한 정책이 아니라 코드에 의해 강제되는 엄격한 상한선입니다.
가격 결정 "두뇌"
30분마다 별도의 루프가 Claude에게 질문합니다: 현재의 수익, 비용, 지갑 잔액을 고려할 때, 가격을 올려야 할까요, 내려야 할까요, 그대로 유지해야 할까요, 아니면 서비스를 일시 중단해야 할까요? 이 부분이 제가 가장 흥미롭다고 느끼는 지점입니다. 이는 에이전트가 단순히 고정된 스크립트를 실행하는 것이 아니라, 자신의 생존에 관한 경제적 결정을 내리는 실제(비록 단순하지만) 사례이기 때문입니다.
구축하며 배운 점
- 실제 인프라에는 실제 예외 사례 (edge cases)가 존재합니다. 메인넷 결제 촉진자 (payment facilitator)는 무료 테스트넷과는 다른 인증 방식이 필요했습니다. 이는 문서를 읽어서는 알 수 없으며, 실제로 메인넷에 배포해 보아야만 발견할 수 있는 것이었습니다.
- 모델은 사용 중에 변합니다. 최근 Claude Sonnet 3.5가 기본적으로 "적응형 사고 (adaptive thinking)"를 실행하기 시작했는데, 이로 인해 제 코드가 고정되어 있다고 가정했던 API 응답의 형태가 조용히 변경되었습니다. 이는 "어제는 작동했다"가 "현재도 정확하다"와는 같지 않다는 점을 상기시켜 주는 좋은 사례였습니다.
- 배포 (Distribution)는 구축 (building)과는 완전히 다른 문제입니다. 이 프로젝트에서 가장 어려웠던 부분은 코드가 아니라, 누군가(인간이든 에이전트든)가 실제로 엔드포인트 (endpoint)를 호출하도록 설득하는 것이었습니다.
사용해 보기
https://money-agent-production-a0a9.up.railway.app/api/summarize -- 또한 에이전트 간 발견 (agent-to-agent discovery)을 위해 x402 Bazaar (x402bazaar.org)에 스스로를 리스팅합니다. 에이전트 네이티브 결제 (agent-native payments) 분야에서 무언가를 구축하고 있는 다른 분들의 피드백이나, 이런 종류의 결과물이 단순한 장난감(toy)을 넘어 실제로 어디에 유용할지에 대한 의견을 환영합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기