한국어

Solana, Stellar, BNB Chain 등에서 x402 API 결제하기

Shawn Muggle

x402는 간단한 아이디어입니다. 서버가 요청에 402 Payment Required로 응답하면서 받을 수 있는 결제 수단을 알려 주고, 클라이언트는 결제한 뒤 요청을 다시 보냅니다. 계정도, 인보이스도, 카드 입력 양식도 필요 없습니다. 작은 유료 API를 많이 호출하는 AI 에이전트에게는 거의 이상적입니다.

문제가 하나 있습니다. 결제 방식은 엔드포인트가 정하고, 에이전트가 만나는 x402 엔드포인트는 보통 Base나 Solana 같은 특정 네트워크의 USDC를 요구합니다. 그런데 에이전트가 가진 것은 다를 수 있습니다. Solana의 USDT, Stellar의 USDC, 또는 BNB Chain의 USDT일 수도 있습니다. 호출할 때마다 브리지하는 것도 통하지 않습니다. x402 결제 요구 사항은 몇 분 동안만 유효한데, 체인 간 송금은 보통 그보다 오래 걸리기 때문입니다.

ROZO는 독립 서비스이며 어떤 x402 판매자와도 제휴 관계가 없습니다.

한 번 충전하고 여러 번 결제

ROZO의 x402 결제 기능은 문제를 둘로 나눕니다. 이미 가진 코인으로, 이미 쓰는 체인에서 ROZO 잔액을 한 번 충전합니다. 그 다음부터는 Base의 USDC를 받는 엔드포인트에 대한 x402 호출마다 그 잔액에서 몇 초 안에, 결제 유효 시간 안에 결제됩니다.

에이전트가 셸 명령을 실행할 수 있다면 연동은 이것으로 끝입니다.

  1. 잔액을 한 번 충전합니다. 일회용 입금 주소가 출력되면 본인 지갑에서 결제합니다: npx @rozoai/checkout x402 topup 20 --with usdt-solana
  2. 유료 엔드포인트를 호출합니다. CLI가 402를 읽고, ROZO가 서명하고, 결제와 함께 요청이 다시 전송됩니다: npx @rozoai/checkout x402 pay https://api.example.com/v1/search --method POST --body '{"q":"..."}'
  3. 남은 잔액을 확인합니다: npx @rozoai/checkout x402 balance

x402 pay에서 일어나는 일

요청은 내 컴퓨터에서 엔드포인트로 바로 전송됩니다. 402가 돌아오면 CLI는 결제 요구 사항을 읽고 Base의 USDC 옵션만 남긴 뒤, 그 한 건의 결제에 서명해 달라고 ROZO에 요청합니다. 그런 다음 PAYMENT-SIGNATURE 헤더를 붙여 원래 요청을 다시 보내고 응답을 출력합니다.

모든 결제에는 idempotencyKey가 붙고, 같은 결제를 재시도할 때는 같은 키를 다시 쓰므로 타임아웃이 나도 두 번 청구되지 않습니다.

셸이 없나요? 같은 결제를 두 개의 핵심 HTTP 엔드포인트 /v1/x402/topup과 /v1/x402/sign으로 할 수 있으며, 에이전트 키를 bearer token으로 보냅니다. 에이전트는 서명을 붙여 자기 요청을 다시 보냅니다. x402 페이지에 두 호출 예시가 모두 있습니다.

내 돈을 지키는 장치

에이전트에게 지갑을 맡기는 것은 실제 위험이므로, 결제 기능은 최소 권한을 기준으로 만들어졌습니다.

충전할 수 있는 것과 결제되는 것

두 구간이 있으며, 일부러 나누어 보여 드립니다.

충전 구간 (나에게서 ROZO로):

네이티브 코인이나 sats를 갖고 계신가요? checkout.rozo.ai의 ROZO Checkout에서 OpenRouter 충전에 쓸 수 있습니다.

결제 구간 (ROZO에서 x402 판매자로):

판매자는 항상 USDC로 받습니다. x402 exact 결제는 토큰 전송이기 때문입니다. USDT는 잔액 충전에만 쓰이고, 판매자는 USDC로 받습니다. 엔드포인트가 Solana의 USDC만 받는다면 CLI는 청구가 일어나기 전에 X402_UNSUPPORTED로 멈춥니다.

최소 충전 금액은 $5이고 충전에는 1% 수수료가 붙습니다. 잔액에서 나가는 x402 결제는 판매자가 요구하는 금액만 듭니다. 잔액 출금은 아직 셀프 서비스가 아닙니다. 마스킹한 키와 금액을 hi@rozo.ai로 이메일하면 원하는 체인으로 잔액을 돌려 드립니다.

지금 바로 시작하기

결제 기능은 지금 사용할 수 있습니다. checkout.rozo.ai/x402 페이지에 세 가지 명령, HTTP 호출, 한도, FAQ가 한곳에 정리되어 있습니다. 모든 오류 코드를 담은 전체 레퍼런스는 docs.rozo.ai에 있습니다. 에이전트는 같은 안내를 안전 규칙, 재시도 지침과 함께 checkout.rozo.ai/llms.txt와 GitHub의 RozoAI/rozo-checkout-skill 저장소에서 읽을 수 있습니다.

가진 코인으로 한 번 충전하고, 에이전트가 호출하는 API 결제는 에이전트에게 맡기세요.

자주 묻는 질문

x402 API를 결제하기 전에 왜 충전해야 하나요?
x402 결제 요구 사항은 몇 분 동안만 유효하고, 체인 간 송금은 보통 그보다 오래 걸립니다. 이미 준비된 잔액에서 결제해야 그 시간 안에 결제가 도착합니다. 충전은 가끔 큰 금액으로, 결제는 자주 작은 금액으로 합니다.
x402 판매자는 어떤 네트워크에서 받을 수 있나요?
Base의 USDC (eip155:8453), x402 scheme exact입니다. Solana 결제 구간은 추후 지원됩니다. 엔드포인트가 Solana만 받는다면 CLI가 X402_UNSUPPORTED로 멈추고 아무것도 청구되지 않습니다.
구독인가요?
아닙니다. 호출마다 판매자의 새 402와 ROZO의 새 서명이 필요하므로, 판매자가 다시 청구할 수 있는 지속적인 권한을 얻지 못합니다.
한도와 수수료는 얼마인가요?
기본값은 결제당 $5, 키당 하루 $100이며 키별로 조정할 수 있습니다. 최소 충전 금액은 $5이고 충전 시 1% 수수료가 붙으며, 각 x402 결제는 판매자가 요구하는 금액만 듭니다.
잔액은 어떻게 돌려받나요?
출금은 아직 셀프 서비스가 아닙니다. 마스킹한 키와 금액을 hi@rozo.ai로 이메일하면 원하는 체인으로 잔액을 돌려 드립니다.

가진 코인으로 x402 API 결제하기

이미 쓰는 체인의 USDT 또는 USDC로 ROZO 잔액을 한 번 충전하면, 에이전트가 그 잔액으로 Base의 USDC를 받는 x402 엔드포인트에 결제합니다.

x402 결제 페이지 열기

가진 코인으로 x402 API 결제하기

x402 결제 페이지 열기