accepts에 무엇이 있는지, PAYMENT-SIGNATURE가 어떻게 동일한 API 요청을 결제된 요청으로 변환하는지를 이해하는 것입니다.
준비 작업
다음과 같은 준비가 필요합니다:
X402가 Ace Data Cloud API를 호출할 때 API Token이 필요하지 않습니다. SDK의 첫 번째 요청은
Authorization 없이 이루어지며, Gateway는 402 Payment Required와 결제 요구 사항을 반환합니다; SDK는 서명 후 자동으로 재시도합니다.
SDK 설치
소스 코드 및 패키지 주소:- SDK 저장소: https://github.com/AceDataCloud/SDK
- X402 Client 저장소: https://github.com/AceDataCloud/X402Client
- npm:
@acedatacloud/sdk,@acedatacloud/x402-client - PyPI:
acedatacloud,acedatacloud-x402
acedatacloud-x402에 포함되어 있습니다.
깨끗한 임시 환경의 설치 및 가져오기 확인 출력:
- npm 패키지와 PyPI 패키지는 실제로 배포된 패키지이며, 문서의 자리 표시자 이름이 아닙니다.
acedatacloud-x402[cli]는 CLI를 설치하며,approve-permit2하위 명령은upto시나리오의 Permit2 권한 부여에 사용할 수 있습니다.
첫 번째 요청은 402를 반환합니다
먼저curl을 사용하여 미지급 요청이 무엇을 반환하는지 확인할 수 있습니다. 아래 예시는 PAYMENT-SIGNATURE를 포함하지 않기 때문에 요금이 부과되지 않습니다:
accepts 배열이 포함되며, 일반적인 구조는 다음과 같습니다:
PAYMENT-REQUIRED 응답 헤더에 base64 형식으로 포함되어 있어, 클라이언트가 본문을 파싱하지 않고도 결제 요구 사항을 읽을 수 있습니다.
생산 API의 미지급 요청 프로그램 출력 요약은 다음과 같습니다:
- 첫 번째 요청은
Authorization또는PAYMENT-SIGNATURE를 포함하지 않았기 때문에 HTTP 402를 반환하며, 요금이 부과되지 않습니다. accepts는 이번 요청의 유일한 신뢰할 수 있는 서명 근거로, 선택 가능한 네트워크, 스킴, 금액 한도, 수취 주소 및 자산 주소를 포함합니다.network는 CAIP-2 식별자로, 클라이언트가 네트워크를 선택할 때 CAIP-2 문자열에 따라 일치해야 합니다.- 이번
gpt-4o-mini최소 채팅 요청의 한도 금액은95215atomic USDC, 즉0.095215USDC입니다. - 매 요청마다 이번 402 응답을 읽어야 하며, 예제 금액을 비즈니스 코드에 하드코딩하지 않아야 합니다.
SDK로 결제 재시도 완료
다음은 최소 TypeScript 예제입니다.network: 'skale'를 지정하며, 핸들러는 이번 402 응답에서 SKALE의 결제 요구 사항을 선택합니다; 실제 금액과 수취 주소는 여전히 accepts에 따릅니다:
content ADC_TS_SDK_X402_OK는 모델이 프롬프트에 따라 반환한 고정 문자열로, 유료 재시도 후 요청이 실제로 모델 API에 들어갔음을 나타냅니다.payer는 로컬 서명 지갑 주소이며, 개인 키는 Ace Data Cloud에 전송되지 않았습니다.- SDK는 402 파싱,
PAYMENT-SIGNATURE서명 및 원래 요청 재시도를 완료했습니다; 비즈니스 코드는 여전히 일반 SDK 호출 방식으로 작성되었습니다.
- SDK는
Authorization없이 일반 API 요청을 한 번 보냅니다. - Gateway는
402 Payment Required와accepts를 반환합니다. createX402PaymentHandler는network = 'skale'의 결제 요구 사항을 선택하고PAYMENT-SIGNATURE를 서명합니다.- SDK는 동일한 요청 본문으로 재시도하며, Gateway는 Facilitator를 호출하여 검증 및 정산 후 목표 API로 전달합니다.
Facilitator 지원 능력 확인
X402 API는 리소스 디렉토리에 의존하지 않습니다. 클라이언트는 알려진 API를 직접 호출하고, 해당 요청의 실시간 반환인402 Payment Required와 accepts를 유일한 가격 및 서명 근거로 사용합니다.
Facilitator의 능력 선언은 다음 위치에 있습니다:
/supported, /verify, /settle 및 현재 활성화된 결제 네트워크만 설명하며, API 리소스는 나열하지 않습니다.
Ace Data Cloud의 생산 Facilitator 주소는 다음과 같습니다:
kinds는 Facilitator가 지원하는 네트워크와 스킴을 나열합니다. 실제 호출 시에는 여전히 API가 반환한 accepts를 기준으로 합니다.
Facilitator /supported 출력:
/supported는 Facilitator가 이러한 네트워크와 스킴의 검증 및 정산 능력을 갖추고 있음을 설명합니다.- Base, SKALE 및 Solana는 모두
exact를 지원합니다;upto는 현재 Base에서만 제공됩니다. - 특정 API가 특정 네트워크를 허용하는지는 여전히 해당 API의 402
accepts를 기준으로 합니다.

