AWS Machine Learning

Anchor Browser와 AgentCore 결제로 거래하는 에이전트 구축하기

AWS Generative AI Innovation Center Partner Agent Factory와 Anchor Browser가 x402로 보호되는 웹 리소스 및 API에 대해 자율적으로 결제하는 AI 에이전트를 구축한 방법을 알아보세요. Amazon Bedrock AgentCore payments는 예산을 확인하고, 트랜잭션에 서명하고, 지갑 자격 증명을 에이전트 런타임에 노출하지…

Agent payment stack with eight embedded components connecting to an x402 API, showing a 402 challenge returning and a retry sent forward
이미지 출처 · AWS Machine Learning

AI 에이전트가 요청 단위로 과금되는 웹 리소스에 접근해야 하는 경우가 점점 많아지고 있습니다. 예를 들어, 프리미엄 데이터셋은 쿼리 단위로 요금을 청구하고, 리서치 API는 호출 단위로 계량하며, 유료 구독 출판사는 결제 뒤에 콘텐츠를 제한합니다. AI 에이전트가 이러한 리소스를 만나면 서버는 HTTP 402 Payment Required를 반환합니다. 에이전트에는 내장된 결제 메커니즘이 없고, 세션에 연결된 예산도 없으며, 요청을 충족할 프로그래밍 방식도 없습니다. 작업은 중단되고 수동 개입이 필요합니다.

Agentic Payments를 갖춘 Anchor Browser 는 에이전트를 대신하여 기계 간 결제 워크플로우를 처리합니다. 다음과 공동으로 개발되었으며, AWS Generative AI Innovation Center Partner Agent Factory현재 AWS Marketplace에서 이용할 수 있습니다. 이 게시물에서는 Anchor Browser 가 Amazon Bedrock AgentCore payments 와 통합되어 AI 에이전트가 x402로 보호되는 페이지 및 API에 대해 자율적으로 결제할 수 있는 방법을 다룹니다. x402 프로토콜은 HTTP 기반 기계 간 결제를 위한 개방형 표준입니다. 서버는 트랜잭션을 완료하기 위해 에이전트가 사용하는 금액, 허용되는 결제 방법, 결제 주소와 함께 402 Payment Required로 응답합니다.

Anchor Browser는 AI 에이전트를 위해 특별히 구축된 클라우드 기반 브라우저 자동화 솔루션입니다. 각 에이전트 세션은 인증 상태를 유지하고, 탐색을 처리하고, 네트워크 요청을 캡처하고, 페이지 상호작용의 라이브 뷰를 제공하는 관리형 브라우저 환경 내에서 실행됩니다.

Amazon Bedrock AgentCore는 대규모로 에이전트를 구축, 연결 및 최적화할 수 있는 기능을 제공합니다. Amazon Bedrock AgentCore payments는 AgentCore 내의 완전관리형 기능으로, AI 에이전트가 API, Model Context Protocol(MCP) 서버, 웹 콘텐츠를 자율적으로 검색, 접근 및 결제하는 데 사용할 수 있습니다. AgentCore payments는 지갑 연결을 관리하고, 인프라 계층에서 구성 가능한 지출 한도를 강제하며, x402 프로토콜을 통해 결제를 처리합니다. 또한 Amazon CloudWatch를 통해 결제 시도, 승인, 거부, 정산에 대한 관측성을 제공합니다.

Anchor Browser에서 실행 중인 에이전트가 402 응답을 만나면 AgentCore payments가 구성된 예산 내에서 트랜잭션을 승인하고 완료합니다. 워크플로우는 중단 없이 계속 진행됩니다.

과제

자율 에이전트가 x402로 보호되는 리소스를 만나면 워크플로우가 중단됩니다. 에이전트는 프리미엄 리서치 보고서 가져오기나 유료 데이터 인리치먼트 API 호출과 같은 요청을 수행하고, 서버는 HTTP 402 Payment Required로 응답합니다. 결제 수단이 없으면 자율적으로 실행되어야 했던 작업에 이제 사람의 개입이 필요합니다.

현재 개발자는 전체 결제 스택을 직접 구축해야 합니다. 이 작업은 네 가지 범주의 복잡성에 걸쳐 있습니다:

결제 프로토콜 처리

  • HTTP 응답에서 402 챌린지를 감지하고 구문 분석하며, 결제 필요 응답을 다른 4xx 오류와 구분합니다.
  • 상인이 기대하는 정확한 형식으로 암호화 증명이 포함된 올바른 결제 헤더를 구성합니다.
  • 벤더별 로직을 에이전트에 하드코딩하지 않고 여러 결제 방식 (exact, upto, 프로토콜 변형)을 지원합니다.
  • 챌린지 형식, 지원되는 스테이블코인 또는 정산 시점이 다를 수 있는 x402 상인 구현 전반에서 호환성을 유지합니다.

보안 및 키 관리

  • 결제에 서명하기 위한 프라이빗 키를 저장하는 것은 신뢰할 수 없는 입력에 노출된 환경 내에서 보안 키 저장을 필요로 합니다.
  • 키 순환, 자격 증명 새로 고침, 공급자 장애 조치를 포함한 지갑 수명 주기 작업을 관리합니다.

운영 복원력

  • 세션 상태, 쿠키, 요청 컨텍스트를 보존하면서 결제 헤더와 함께 원래 요청을 다시 제출합니다.
  • 지갑 운영에 필수적인 멱등성(idempotency) 제공.
  • 동시 에이전트 실행 전반에서 실시간 예산 추적을 통해 세션별 및 트랜잭션별 지출 한도를 강제.

관측성 및 컴플라이언스

  • 컴플라이언스 및 대사를 위해 모든 결제 시도, 승인, 거부, 정산을 감사 로그에 기록.

관리형 결제 서비스가 없으면 에이전트가 결제 스택 전체를 내재화해야 합니다. 402 응답을 반환하는 x402로 보호된 모든 호출에서 에이전트는 다음을 포함한 전체 결제 흐름을 내부적으로 조율해야 합니다:

  • 증명(proof) 서명.
  • 올바른 헤더 첨부.
  • 요청 재시도.
  • 트랜잭션 정산.
  • 결과 로깅.

이러한 각 단계는 개발자가 직접 구축하고, 보안을 확보하고, 유지보수해야 하는 커스텀 코드를 필요로 합니다. 그림 1은 이 아키텍처를 보여줍니다. 에이전트는 8개의 긴밀하게 결합된 구성 요소(Wallet, Private Keys, Budget Controls, Sign Proof, Attach Header, Retry Logic, Settle Payment, Logging)를 포함합니다. 에이전트는 x402 API에 연결되며, 402 챌린지가 되돌아오고 재시도가 전달됩니다.

Agent payment stack with eight embedded components connecting to an x402 API, showing a 402 challenge returning and a retry sent forward

그림 1: 에이전트 결제 스택

보안 고려 사항은 엔지니어링 노력 그 이상으로 확대됩니다.

통제되지 않는 지출. 인프라 수준에서 강제되는 하드 지출 한도가 없으면 버그, 재시도 루프, 프롬프트 인젝션, 또는 부주의한 접근이 의도치 않은 지불을 유발할 수 있습니다. 유료 엔드포인트를 루프로 재시도하는 에이전트는 수동 개입이 이루어질 때까지 지불을 계속 승인합니다.

키 노출. 개인 키가 에이전트 런타임 내부에 존재할 때, 이는 신뢰할 수 없는 웹 페이지, 서드파티 도구, 외부 의존성과 동일한 실행 환경을 공유하게 됩니다. 이러한 공격 벡터는 실제 자금을 통제하는 자격 증명을 무심코 노출시킬 수 있습니다.

서명 흐름 노출. 서명 인프라가 런타임에서 접근 가능한 경우, 위협 행위자가 키에 접근하거나 무단 통제 하에 있는 주소로 결제를 우회시키려 시도할 수 있습니다. 효과적인 완화를 위해서는 애초에 키가 런타임에 들어오지 않도록 해야 합니다.

브라우저 기반 에이전트는 추가적인 제약 조건을 도입합니다. 결제가 동일한 브라우저 세션 내에서 이루어져야 한다는 것입니다. 그렇지 않으면 세션 녹화와 실시간 뷰가 실제 실행된 내용과 더 이상 일치하지 않습니다.

해결책

Anchor Browser와 AgentCore 결제는 전체 결제 스택을 관리형 인프라로 옮김으로써 이러한 복잡성을 해소합니다.

상태가 없는(stateless) 도구 호출과 달리, Anchor Browser는 지속적인 ID, 반복 가능하고 결정론적인 워크플로, 그리고 안정적으로 로그인, 탐색, 작업을 완료하는 데 필요한 세션 컨텍스트를 갖춘 실제 클라우드 브라우저를 제공합니다. 인증, 탐색, 네트워크 요청, 녹화 및 라이브 보기가 모두 동일한 브라우저 세션 내에서 이루어집니다. 결제가 필요한 경우 거래는 해당 세션 내에서 발생합니다. 녹화는 요청부터 402, 결제, 콘텐츠 전달까지의 전체 과정을 기록합니다. Anchor 에이전트에는 브라우저 컨텍스트 내에서 유료 API 호출을 기본적으로 처리하는 내장 x402 도구가 포함되어 있습니다. 이 내장 도구는 기존의 Playwright, Puppeteer 또는 Chrome DevTools Protocol 기반 워크플로를 변경할 필요가 없습니다.

AgentCore 결제는 결제 계층 역할을 합니다. 이 서비스의 중심에는 AWS 계정의 결제 작업을 조율하는 최상위 리소스인 Payment Manager가 있습니다. Payment Manager를 생성하려면 authorizer 유형과 IAM 역할을 지정해야 합니다. 그러면 AgentCore는 Amazon Bedrock AgentCore Identity에서 해당하는 워크로드 아이덴티티를 프로비저닝합니다.

나머지 구성 요소들은 Payment Manager를 외부 지갑 인프라와 연결합니다.

  • A PaymentConnector Payment Manager를 외부 지갑 공급자, 즉 Coinbase Developer Platform(Coinbase CDP) 또는 Stripe Privy와 통합합니다.
  • A PaymentCredentialProvider 지갑 제공자 자격 증명을 AgentCore Identity에 안전하게 저장합니다.
  • A 결제수단(PaymentInstrument) 자금이 인출되는 특정 지갑 주소를 식별합니다.

Anchor Browser는 지원되는 지갑 공급자를 통해 AgentCore 결제로 지갑을 설정하며, 지갑 시크릿이나 개인 키를 에이전트 런타임 안에 두지 않습니다. AgentCore 결제는 구성된 공급자를 통해 지갑 작업을 처리합니다. 엔드포인트 검색을 위해 AgentCore는 큐레이션된 Amazon Bedrock AgentCore Gateway를 통한 Coinbase x402 Bazaar MCP 서버, 따라서 에이전트는 사용 가능한 페이퍼유즈(x402) 엔드포인트를 프로그래밍 방식으로 발견할 수 있습니다.

AgentCore payments는 결제 아키텍처를 재구성합니다. 민감한 작업은 에이전트 런타임에서 분리되어 관리형 서비스 계층으로 이동합니다. Anchor Agent는 결제 관련 구성 요소를 예산 세션과 x402 도구 두 가지만 보유합니다. 인증, 지갑 시크릿, 결제 한도, 관측성, 결제 증명 서명을 포함한 인프라는 AgentCore payments 계층에 상주합니다. Figure 2는 Coinbase CDP 또는 Stripe Privy와의 지갑 공급자 통합을 처리하는 AgentCore payments 관리형 계층에 연결되는 Anchor Agent를 보여줍니다.

Anchor Agent connecting to the AgentCore payments managed layer, which integrates with Coinbase CDP or Stripe Privy wallet providers

Figure 2: Anchor Browser가 AgentCore 결제와 통합됨

결제 흐름이 작동하는 방식

다음 단계는 브라우저 세션이 x402로 보호된 리소스를 만나는 순간부터 에이전트가 응답을 받고 작업을 계속하는 순간까지, 전 과정에서 일어나는 일을 설명합니다.

  1. Anchor Browser는 브라우저 세션을 위한 전용 AgentCore PaymentSession을 생성합니다. x402가 켜진 상태로 세션이 시작되면 Anchor Browser는 AgentCore payments를 통해 PaymentSession을 프로비저닝하여 브라우저 세션을 구성된 결제 수단 및 예산과 연결합니다.
  2. 브라우저는 HTTP 402 Payment Required 응답을 수신합니다. 에이전트가 URL로 이동하거나 fetch 또는 XMLHttpRequest(XHR) 요청을 보냅니다. 머천트는 금액, 허용되는 결제 수단, 결제 주소를 명시한 402 챌린지로 응답합니다.
  3. 브라우저가 호환되는 결제 수단을 선택합니다. Anchor Browser는 402 챌린지 페이로드를 읽고 요청된 결제 수단을 PaymentSession에 연결된 결제 수단과 대조합니다.
  4. AgentCore가 세션 예산을 검증하고 암호화 결제 증명을 생성합니다. AgentCore payments는 결제 금액이 세션 지출 한도 내에 있는지 검증합니다. 그런 다음 서비스는 구성된 지갑 공급자(Coinbase CDP 또는 Stripe Privy)를 사용하여 트랜잭션에 서명하고 암호화 증명을 반환합니다. 어떤 키 자료도 브라우저나 에이전트 런타임에 들어가지 않습니다.
  5. 브라우저가 결제 헤더와 함께 원래 요청을 재시도합니다. 브라우저는 서명된 증명을 PAYMENT-SIGNATURE x402 v2의 경우 또는 X-PAYMENT x402 v1의 경우 헤더로 첨부한 후 원래 요청을 정확히 한 번 재시도합니다.
  6. 머천트가 결제를 검증하고 정산한 후 보호된 리소스를 반환합니다. 머천트는 암호화 증명을 검증하고 온체인에서 트랜잭션을 정산하며 콘텐츠를 제공합니다. 에이전트는 작업을 계속 진행합니다.

이 흐름 전체에서 지갑 자격 증명은 AgentCore와 구성된 지갑 제공업체에 그대로 유지됩니다.

전제 조건

시작하기 전에 유효한 Anchor Browser API 키를(ANCHOR_API_KEY). 하나를 만들려면 Anchor Browser를 참조하세요 빠른 시작 가이드.

x402 자동 결제 설정하기

Anchor Browser에 에이전트형 결제를 설정하려면 세션 속성 하나가 필요합니다. 설정하세요 session.x402 까지 true. 이 속성은 기본적으로 다음으로 설정됩니다 false. 활성화하면 브라우저 세션이 AgentCore payments로 서명된 결제를 통해 x402로 보호되는 웹사이트에 자동으로 접근할 수 있으며, 동일한 브라우저 세션 내에서 재시도됩니다. 활성화 session.x402 구성된 결제 수단을 통해 브라우저가 실제 결제를 수행하도록 승인합니다.

다음 예제는 cURL과 JavaScript를 사용하여 Anchor Browser용 결제 활성화 세션을 생성하는 방법을 보여줍니다:

cURL

curl --request POST
--url https://api.anchorbrowser.io/v1/sessions
--header "anchor-api-key: $ANCHOR_API_KEY"
--header "content-type: application/json"
--data '{"session":{"x402":true}}'

자바스크립트

const response = await fetch('https://api.anchorbrowser.io/v1/sessions', {
  method: 'POST',
  headers: {
    'anchor-api-key': process.env.ANCHOR_API_KEY,
    'content-type': 'application/json',
  },
  body: JSON.stringify({ session: { x402: true } }),
});
const { data: session } = await response.json();
console.log(session.cdp_url);

Chrome DevTools 프로토콜을 통해 연결하면 에이전트가 정상적으로 탐색합니다. 자동화 코드에 지갑 키나 결제 헤더를 포함할 필요가 없습니다. 브라우저가 문서 탐색, fetch 및 XHR 요청에 대해 402 챌린지, 결제 서명, 재시도를 투명하게 처리합니다.

결제 세션 한도 및 동작

Anchor Browser는 AgentCore 결제 연동을 통해 세션 수준에서 다음과 같은 가드레일을 적용합니다. 결제 가능한 각 브라우저 세션은 구성된 지출 및 시간 제한 내에서 작동합니다. 구체적인 제한 사항은 다음을 참조하십시오. Anchor Browser 기술 문서.

상인 응답이 잘못된 형식이거나, 호환되는 네트워크가 제공되지 않거나, 예산이 소진되었거나, AgentCore payments가 결제를 거부하는 경우, 브라우저는 원본 402 응답을 페이지에 그대로 반환합니다. 그러면 자동화 코드에서 402를 표준 HTTP 오류로 처리할 수 있습니다.

x402 세션 속성은 제3자 리소스에 대한 결제만 제어합니다. 이 속성은 Anchor 크레딧을 대체하지 않으며 브라우저 세션에 대한 비용을 지불하지도 않습니다.

Anchor Browser용 자동화 코드

Anchor Browser용 자동화 코드는 변경되지 않습니다. 다음 예시는 결제 관련 코드가 전혀 필요하지 않음을 보여줍니다:

const { chromium } = require('playwright');
// Connect to the x402-enabled session via CDP
const browser = await chromium.connectOverCDP(session.cdp_url);
const page = await browser.newPage();
// Navigate to an x402-protected resource exactly as with a free page
await page.goto('https://premium-research.example.com/market-report');
// The page loaded, the payment was handled automatically
// Extract content as normal
const content = await page.textContent('article');

지갑 로직도, 결제 헤더 구성도, 재시도 코드도 없습니다. 에이전트가 URL로 이동합니다. 서버가 402를 반환하면 Anchor Browser가 AgentCore payments와 협력하여 결제 증명에 서명하고, 적절한 결제 헤더와 함께 요청을 재시도하며, 콘텐츠를 페이지에 전달합니다. 자동화 코드는 결제가 발생했다는 어떤 표시도 없이 최종 렌더링된 페이지를 받게 됩니다.

이 패턴은 유료 저널리즘, 라이선스가 있는 금융 데이터, 접근 제한이 있는 API 문서, 사용량 기반 연구 데이터베이스, 그리고 402 챌린지로 콘텐츠를 제한하는 기타 리소스에 균일하게 적용됩니다.

API 호출을 위한 내장 x402 도구 사용

유료 리소스가 웹 페이지에만 국한되지는 않습니다. 많은 리소스가 POST, PUT 또는 기타 HTTP 메서드를 요구하는 API입니다. 일반적인 예로 데이터 인리치먼트 서비스, 프리미엄 추론 엔드포인트, 라이선스가 있는 콘텐츠 API가 있습니다. 이러한 사용 사례를 위해 Anchor Browser 에이전트는 브라우저 컨텍스트 내에서 표준 HTTPS API처럼 호출할 수 있는 내장 x402 도구를 포함합니다.

에이전트는 fetch 또는 XHR을 통해 API를 호출합니다. 서버가 402 챌린지를 반환하면 브라우저가 AgentCore payments를 통해 결제 서명을 조정하고 서명된 결제 헤더와 함께 요청을 재시도합니다. 코드는 엔드포인트가 무료인 것처럼 응답을 받습니다. 이 도구는 특정 벤더, 모델 또는 프레임워크에 종속되지 않습니다. 결제는 기존 도구 아래에서 세션 수준 기능으로 작동하며, 에이전트 코드를 변경할 필요가 없습니다.

// Fetch call to a paid API endpoint within the x402-enabled session
const response = await page.evaluate(async () => {
  const res = await fetch('https://data-enrichment.example.com/api/v1/enrich', {
    method: 'POST',
    headers: { 'content-type': 'application/json' },
    body: JSON.stringify({ company_domain: 'example.com' }),
  });
  return res.json();
});
// If the API returned 402, AgentCore handled payment automatically
// The response contains the enriched data
console.log(response);

자동화 코드는 지갑 자격 증명을 받지 않습니다. 자동 결제는 다음의 경우에만 사용할 수 있습니다: session.x402 이 true 으로 설정된 경우이며, 이전 섹션에서 설명한 지출 및 만료 제한의 적용을 받습니다.

주요 이점

이 통합은 결제를 애플리케이션 코드에서 인프라 계층으로 이동시킵니다:

구축할 결제 인프라가 없습니다. 통합할 지갑 SDK도, 작성할 402 응답 파서도, 구현할 재시도 루프도, 유지 관리할 헤더 구성 로직도, 구축할 커스텀 감사 로깅도 없습니다. AgentCore payments가 전체 결제 스택을 관리합니다.

기존 도구를 변경할 필요가 없습니다. Anchor Browser의 Playwright 스크립트, Puppeteer 자동화, Chrome DevTools Protocol 명령, 에이전트 플로우는 이전과 정확히 동일하게 계속 작동합니다. 결제는 브라우저에 부착된 세션 기능이며, 에이전트 로직, 프롬프트 또는 도구 정의에 대한 수정이 아닙니다.

개인 키가 런타임에 들어오지 않습니다. 서명 및 정산은 AgentCore payments 내부에서 이루어집니다. 이 서비스는 AgentCore Identity의 보안 자격 증명 저장소를 통해 Coinbase CDP 또는 Stripe Privy와 통신합니다. 에이전트 런타임은 자금을 이동시킬 수 있는 키 자료에 접근할 수 없습니다.

예산이 인프라 수준에서 강제 적용됩니다. 모든 세션은 AgentCore가 결제를 승인하기 전에 강제 적용하는 정의된 지출 한도 내에서 작동합니다. Amazon Bedrock AgentCore Observability는 Amazon CloudWatch를 통해 전체 결제 감사 추적을 제공합니다. 세션이 지출 한도에 도달하면 AgentCore payments가 결제를 거부합니다.

유료 작업이 성공적으로 완료됩니다. 유료 GET 페이지가 로드됩니다. 유료 API 호출이 응답을 반환합니다. 에이전트는 402 응답에서 멈춰 수동 개입을 요구하는 대신 워크플로우를 완료합니다.

청구가 통합됩니다. Anchor Browser는 서드파티 x402 요금을 브라우저 세션 시간과 동일한 인보이스의 크레딧으로 정산합니다. 관리할 별도의 크립토 커스터디도, 모니터링할 USDC 잔액도, 재무 팀이 대조해야 할 온체인 정산도 없습니다.

결론

Anchor Browser는 AgentCore 결제와 통합되어, AI 에이전트가 유료 웹 페이지 및 유료 API 엔드포인트에 대한 x402 결제 챌린지를 자율적으로 처리할 수 있도록 지원합니다. 지갑 자격 증명은 에이전트 코드 외부에 유지되며, 별도의 맞춤형 결제 인프라가 필요하지 않습니다.

웹의 더 많은 부분이 요청당 과금 방식으로 전환됨에 따라, 결제 메커니즘이 없는 에이전트는 유료 리소스와 관련된 작업을 완료할 수 없습니다. 이 통합은 바로 그 간극을 해소합니다. 에이전트는 정의된 예산 내에서 운영되고, AgentCore Observability를 통한 완전한 가시성을 갖추며, 런타임에 암호화 키 자료 없이도 유료 워크플로를 처음부터 끝까지 완료합니다.

시작하려면 다음 리소스를 살펴보세요:


저자 소개

원문 출처

AWS Machine Learning

내용 안내

원문 발행 및 권리는 출처에 있습니다.

기계 번역 · 원문을 참고하세요