1. 에이전트의 결제 방식
a16z crypto의 Sam Broner가 Agents will pay like locals, not tourists라는 글을 냈다. 핵심 주장은 에이전트 결제를 설계할 때 우리가 관광객의 프레임으로 생각하고 있다는 것이다. 시장에서 관광객은 매 거래마다 흥정하고, 현금을 내밀고, 일회성 상호작용을 반복한다. 하지만 현지인들의 경우, 다르다. 정육점 주인은 단골 어부에게 외상으로 사고, 재단사는 직물 장인과 월별 정산을 한다. 에이전트도 이 현지인처럼 행동할 것이라는 게 Broner의 진단이다.
왜 에이전트는 기업처럼 행동하는가? 두 가지 이유다:
- 최고의 경험은 사전 설계된다. 매번 가격을 비교하고 조건을 협상하는 에이전트가 아니라, 이미 어떤 벤더가 신뢰할 만한지 파악하고, 가격을 사전 협상해둔, 즉시 체크아웃할 수 있는 에이전트를 사용자는 원한다.
- 에이전트는 무한히 복제 가능하지만, 규모의 경제는 복제되지 않는다. 연간 백만 건의 항공편을 예약하는 여행 에이전트는 10건 예약하는 에이전트보다 항공사에서 더 좋은 조건을 받는다. ChatGPT만이 Shopify, Amazon, Expedia와 파트너십을 직접 협상할 수 있는 배포력을 가지고 있고, 작은 스타트업들은 자동화 브라우저나 리버스 엔지니어링된 API에 의존하면서 리테일 수수료를 내고 있다. 에이전트가 수직별로 소수의 지배적 플레이어로 수렴할 수밖에 없는 이유다.
이 구조에서 결제 관계는 두 가지로 나뉜다. 1) 사용자 → 에이전트(구독, 건별 수수료, 크레딧 라인), 그리고 2) 에이전트 → 벤더(사전 협상된 B2B 조건, 볼륨 가격, net-30 인보이스)이다. 이건 사실 오늘날 신용카드가 작동하는 방식과 같다. 카드 발급사가 소비자와 리테일 관계를 맺고, 매입사가 가맹점과 상업적 관계를 맺는 구조다.
그렇다면 카드가 에이전트 결제의 답인가? 절반만 맞다.
카드는 널리 수용되고, 20~1,000달러 결제에 적합하며, 중재와 취소 기능이 내장돼 있다. 하지만 두 가지 문제가 있다.
- 카드 기술은 사람을 전제로 설계됐다. 승인자, UI, 3D Secure 인증 등 거의 모든 인프라가 인간을 가정한다. 이걸 에이전트용으로 업그레이드하기엔 PSP, POS, 가맹점 엔드포인트의 수가 너무 많고, 에이전트 채택 속도가 너무 빠르다.
- 수수료 구조다. Visa는 서브센트 결제를 지원하지 않고, 건당 30센트의 고정 수수료가 있다. 컴퓨트 제공자에게 초당 $0.001을 스트리밍하거나 API 접근에 마이크로페이먼트를 보내는 시나리오에서 카드 레일은 작동하지 않는다.
여기서 스테이블코인이 등장한다. 30센트 최소 수수료가 없고, 초당 $0.001을 스트리밍하는 에이전트와 $50,000 벤더 인보이스를 정산하는 제조업체가 같은 레일을 쓸 수 있다.
2. Stripe 연례서한이 그리는 에이전틱 커머스의 현재
Patrick과 John Collison의 Stripe 2025 연례서한이 나왔다. 총 결제 볼륨 1.9조 달러(전년 대비 34% 성장), 글로벌 GDP의 약 1.6%를 처리하는 회사가 보는 세계관을 정리한다.
서한의 가장 주목할 부분은 에이전틱 커머스의 다섯 단계 프레임워크다:
- Level 1은 에이전트가 웹 폼을 대신 채워주는 수준이고,
- Level 2는 "3학년이고 KPop과 테니스를 좋아하는 아이의 개학 용품"처럼 상황을 기술하면 에이전트가 상품을 찾아주는 단계다.
- Level 3에서 에이전트가 사용자의 선호를 기억하기 시작하고, Level 4에서는 "개학 쇼핑 해줘, 400달러 이내로"라고 위임하며,
- Level 5에서는 프롬프트 없이 에이전트가 달력과 선호와 예산을 파악해 선제적으로 구매한다.
Stripe의 자체 평가로써 현재 우리는 "Level 1과 2의 경계에 머물러 있다"는 것이다.
Collison 형제는 이 시점을 90년대 중반 HTTP, HTML, URL, DNS가 만들어지던 시기에 비유한다. "모든 Google에 AltaVista가 있었다"는 표현이 핵심인데, 지금의 에이전틱 커머스 프로토콜 난립이 곧 정리될 거라는 암시다. 이에 맞춰 Stripe의 행보도 공격적이다. OpenAI와 함께 만든 ACP는 이미 ChatGPT에서 Walmart, Etsy, Instacart와 연동되어 작동 중이고, SPT(Shared Payment Tokens)는 에이전트가 결제 자격증명을 노출하지 않고도 결제를 개시할 수 있는 새로운 결제 원형(primitive)으로써 판매자가 꼭 Stripe을 사용하지 않더라도 사용할 수 있도록 Klarnan나 Affirm과 같은 경쟁자들과도 손을 잡았다.
서한에서 또 하나 눈에 띄는 건 역시 스테이블코인이다. "크립토 겨울이지만 스테이블코인의 여름"이라는 표현인데, 비트코인이 10월 고점에서 50% 하락하는 동안 스테이블코인 결제 볼륨은 두 배로 늘어 약 4,000억 달러에 달했다. 처음으로 스테이블코인 볼륨이 크립토 자산 가격과 디커플링됐다. 60%가 B2B 결제로 추정된다. Bridge(11억 달러에 인수) 볼륨은 4배 성장했다.
3. Verifiable Intent: 에이전트가 쓴 돈을 증명하는 방법

Mastercard가 Verifiable Intent라는 오픈 스펙을 공개했다. 핵심 질문은 간단하다. AI 에이전트가 사용자 대신 물건을 살 때, 에이전트가 정말로 사용자의 규칙을 지켰는지 어떻게 증명할 것인가?
오늘날 이건 "믿어줘" 상황이다. 사용자가 "아마존에서 30만원 이하로 헤드폰 사줘"라고 했는데 에이전트가 50만원을 다른 곳에서 썼다면, 증거는 플랫폼 로그뿐이다. 플랫폼이 통제하는 로그. 사용자는 무단 청구 리스크를, 가맹점은 차지백 리스크를, 결제 네트워크는 책임 소재 불명 리스크를 안는다.
Verifiable Intent는 이 문제를 암호학적 서명 체인으로 해결한다. 로그가 아니라 서명이고, 어느 한 부분이라도 변조하면 전체 체인이 깨진다. 구조는 세 겹이다:
- L1: 발급사(은행, 카드사)가 서명한다. "이 공개키는 이 사용자의 것이다." 약 1년간 유효하다.
- L2: 사용자가 서명한다. "이 에이전트 키에, 이 제약 조건 내에서, 권한을 위임한다." 24시간~30일 유효. 여기에 허용 가맹점, 허용 상품, 금액 범위, 누적 예산 같은 제약이 들어간다.
- L3: 에이전트가 서명한다. "실제로 이렇게 집행했다." 약 5분간 유효하다.
각 레이어는 이전 레이어의 해시값을 포함하고, 서명 키도 이전 레이어에 미리 등록된 것만 쓸 수 있다.
- L1에 "이 사용자의 공개키는 X다"라고 적혀 있으면, L2는 반드시 그 키 X로만 서명할 수 있다.
- L2에 "이 에이전트의 공개키는 Y다"라고 적혀 있으면, L3는 반드시 그 키 Y로만 서명할 수 있다. 이 키 바인딩이 cnf.jwk(RFC 7800)라는 표준 필드로 구현된다. 중간에 레이어를 바꿔치기하면 해시가 불일치하고, 키를 위조하면 서명이 실패한다.
실제 흐름을 보면 더 직관적이다. Alice가 Mastercard를 쓴다고 하자.
- 카드사가 한 번 L1을 발급해서 Alice의 기기 키를 인증한다.
- Alice가 에이전트에게 "AudioShop이나 SoundStore에서 무선 헤드폰 30만원 이하로 사줘"라고 하면, 모바일 앱이 L2를 만든다. '허용 가맹점: AudioShop, SoundStore. 허용 상품: Sony WH-1000XM5, Bose QC Ultra. 금액 범위: 10만~30만원. 에이전트 키 바인딩 포함.' Alice가 Face ID로 서명하고 자리를 뜬다.
- 에이전트가 AudioShop에서 Sony WH-1000XM5를 27만 9천원에 찾으면, 가맹점이 장바구니 내역이 담긴 체크아웃 JWT를 서명해서 보낸다.
- 에이전트는 이 JWT를 기반으로 L3a(결제 증명)와 L3b(체크아웃 증명)를 만들어 각각 결제 네트워크와 가맹점에 보낸다.
- 양쪽 모두 L1→L2→L3 체인의 서명과 해시를 검증하고, 네트워크는 추가로 L2의 제약 조건(27만 9천원이 30만원 이하인지, AudioShop이 허용 목록에 있는지)을 확인한다.
- 모두 통과하면 결제가 승인되고, Alice에게 알림이 간다.
흥미로운 건 L3은 다시 두 개로 분할된다는 점인데, L3a는 결제 네트워크에게 가고(금액, 수취인, 카드 정보를 포함하되 장바구니 내역은 숨긴다), L3b는 가맹점에게 간다(장바구니 내역과 체크아웃 JWT를 포함하되 결제 금액은 숨긴다). 같은 L2 아래에서 각 당사자에게 필요한 정보만 선택적으로 공개하는 구조다.
두 L3 사이의 무결성은 체크아웃 해시로 보장된다. L3a에는 transaction_id로, L3b에는 checkout_hash로 같은 체크아웃 JWT의 해시가 들어간다. 결제와 체크아웃이 같은 장바구니를 참조하는지 독립적으로 검증할 수 있다.
제약 조건의 종류도 꽤 구체적이다. 허용 가맹점 목록(allowed_merchant), 허용 상품과 최대 수량(line_items), 건당 금액 범위(payment.amount), 허용 수취인(payment.allowed_payee), 누적 예산 한도(payment.budget), 에이전트 반복 구매 허용(payment.agent_recurrence), 가맹점 관리 구독 설정(payment.recurrence)까지. 에이전트가 예산을 초과하거나, 미승인 가맹점에서 구매하거나, 허용되지 않은 상품을 사면 결제 네트워크가 검증 시점에서 거부한다.
프로토콜 통합 면에서 VI는 특정 결제 프로토콜에 종속되지 않는다. Google의 UCP나 OpenAI/Stripe의 ACP에는 확장 메커니즘을 통해 붙을 수 있다. 앞서 다룬 에이전트 결제 프로토콜들이 "어떻게 결제하는가"의 문제를 푸는 반면, VI는 "결제가 정당했는가를 어떻게 증명하는가"를 푼다.
의견을 남겨주세요