HTTP 402가 돌아왔다: AI 지능체가 스스로 API 비용을 지불하기 시작했다
당신의 인공지능은 인터페이스를 호출해야 합니다. 일반 경로는 모두 인간을 위해 설계되었습니다: 계정 등록, 이메일 인증, 신용카드 연결, API 키 받기, 구독 수준 선택------17번 사용하기 위해 먼저 10,000번의 패키지를 구매해야 합니다.
사실 네 번째 길이 있으며, 이미 30년이 되었습니다: HTTP 상태 코드 402 Payment Required는 초기 HTTP 규격에서 미리 예약되어 "미래 사용을 위해"라고 명시되었습니다. 미래가 도래했습니다. x402 프로토콜 (v2, Coinbase가 주도하여 유지 관리)은 402를 사용할 수 있는 결제 핸드셰이크로 바꿉니다: 서버가 견적을 반환하고, 인공지능이 스테이블코인 결제 승인을 서명하며, 정산자가 체인에서 송금을 완료하고, 인터페이스는 즉시 결과를 반환합니다------계정 없이, 키 없이, 구독 없이. 결제 자체가 신원 인증입니다.
이것은 백서 안내가 아닙니다. 아래의 각 단계는 온라인 실제 인터페이스에서 테스트되었습니다 (테스트 서비스: call402.com, 공개적으로 운영되는 x402 서비스), 나타나는 견적과 반환된 데이터는 실제 데이터이며, 어디에도 예시 그림이 없습니다.
첫 번째 단계: 먼저 가격을 묻기------실제 견적서
돈을 지불하지 않고 임의의 인터페이스를 호출하면, HTTP 402와 기계가 읽을 수 있는 견적서를 받게 됩니다:
BASH 복사
curl -X POST https://call402.com/api/phone-lookup \
-H 'Content-Type: application/json' \
-d '{"number": "+14155552671"}'
JSON 복사
{
"x402Version": 2,
"accepts": [{
"scheme": "exact",
"network": "eip155:8453",
"amount": "5000",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"payTo": "0xAc6F1C3C3b17040730F16dC24Ee9993e9565BE4A",
"maxTimeoutSeconds": 300,
"extra": { "name": "USD Coin", "version": "2" }
}]
}
이것을 가격 태그로 읽으세요: amount는 최소 단위이며, 5000은 0.005 달러입니다 (USDC는 6자리 소수); asset은 Base 체인상의 USDC 계약입니다; payTo는 수취인입니다; 이 견적에 따라 300초 이내에 결제해야 합니다.
두 번째 단계: 결제 및 호출------구매자 코드 총량
공식 TypeScript 라이브러리를 사용하여, 완전한 구매자는 다음과 같습니다:
TYPESCRIPT 복사
import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";
const signer = privateKeyToAccount(process.env.EVM_PRIVATE_KEY as `0x${string}`);
const client = new x402Client();
client.register("eip155:*", new ExactEvmScheme(signer));
const fetchWithPay = wrapFetchWithPayment(fetch, client);
const res = await fetchWithPay("https://call402.com/api/phone-lookup", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ number: "+14155552671" }),
});
console.log(await res.json());
// 결제 증명은 PAYMENT-RESPONSE 응답 헤더에 반환됩니다:
const proof = res.headers.get("PAYMENT-RESPONSE");
if (proof) {
const settlement = JSON.parse(Buffer.from(proof, "base64").toString("utf8"));
console.log("tx:", settlement.transaction, "payer:", settlement.payer);
}
BASH 복사
npm i @x402/fetch @x402/core @x402/evm viem
포장기는 402를 보고, 견적에 따라 EIP-3009 결제 승인을 구성하고 서명을 첨부하여 재시도하며, 정산자는 즉시 Base에서 이 USDC 송금을 완료합니다. 반환되는 것은 일반 JSON입니다:
JSON 복사
{ "valid": true, "country": "US", "type": "FIXED_LINE_OR_MOBILE",
"e164": "+14155552671", "national": "(415) 555-2671 }
이 가게의 다른 인터페이스------그리고 모든 x402 판매자------사용법은 완전히 동일합니다. 하나의 구매자가 모든 가게를 돌아다닙니다.
세 번째 단계: 200을 믿지 말고, 결제를 직접 확인하세요
PAYMENT-RESPONSE 응답 헤더를 해독하세요 (이것은 Base64로 인코딩된 JSON입니다), 세 가지를 확인하세요: 이 거래가 Base 브라우저에서 실제로 존재하며 상태가 성공적입니다; USDC의 송금 기록이 실제로 당신의 주소에서 견적의 payTo로 송금되었습니다; 금액과 견적 amount가 정확히 일치합니다. 세 가지 중 하나라도 맞지 않으면, 기록하고 중지하세요------다시 결제하지 마세요.
실제로 마주칠 수 있는 함정은 다음과 같습니다:
네 번째 단계: 지갑에 예산 규칙을 설정하세요
서명할 수 있는 인공지능은 돈을 쓸 수 있는 인공지능입니다. 네 가지 규칙으로 지루하게 만드세요:
- 단일 한도 (예: 0.01 달러)와 일일 한도 (예: 1 달러)는 서명 전에 반드시 확인해야 합니다.
- 도메인 및 자산 화이트리스트 ------구매자는 화이트리스트 외의 모든 견적을 거부해야 합니다.
- 전용 지갑 , 최대 잔액만 보관하고, 주 지갑은 절대 사용하지 마세요.
- 변경 없이 증가하는 지출 기록 : 거래 해시, 인터페이스, 금액, 정기적으로 체인상의 송금과 대조합니다.
마지막으로 질문 하나 남기겠습니다
만약 당신의 인공지능이 매일 1달러 예산의 지갑을 가지고 있다면, 먼저 무엇을 구매하게 하겠습니까? 또 무엇은 절대 건드리지 않게 하겠습니까? 결제 이 장벽이 뚫리면, 인공지능이 스스로 할 수 있는 일이 많아질 것입니다------그리고 각자가 선을 어디에 그리는지는 기술 자체보다 이 일이 어디로 나아갈지를 더 결정할 수 있습니다.












