Skip to main content
본 튜토리얼은 최소한의 API 요청을 통해 Ace Data Cloud X402의 전체 프로세스를 설명합니다. 목표는 복잡한 코드를 먼저 작성하는 것이 아니라, 첫 번째 요청이 왜 402를 반환하는지, accepts에 무엇이 있는지, PAYMENT-SIGNATURE가 어떻게 동일한 API 요청을 결제된 요청으로 변환하는지를 이해하는 것입니다.

준비 작업

다음과 같은 준비가 필요합니다: X402가 Ace Data Cloud API를 호출할 때 API Token이 필요하지 않습니다. SDK의 첫 번째 요청은 Authorization 없이 이루어지며, Gateway는 402 Payment Required와 결제 요구 사항을 반환합니다; SDK는 서명 후 자동으로 재시도합니다.

SDK 설치

소스 코드 및 패키지 주소: TypeScript:
Python:
Solana를 사용하려면 해당 종속성도 설치해야 합니다:
Python 버전의 Solana signer 종속성은 이미 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 최소 채팅 요청의 한도 금액은 95215 atomic USDC, 즉 0.095215 USDC입니다.
  • 매 요청마다 이번 402 응답을 읽어야 하며, 예제 금액을 비즈니스 코드에 하드코딩하지 않아야 합니다.
필드 의미:

SDK로 결제 재시도 완료

다음은 최소 TypeScript 예제입니다. network: 'skale'를 지정하며, 핸들러는 이번 402 응답에서 SKALE의 결제 요구 사항을 선택합니다; 실제 금액과 수취 주소는 여전히 accepts에 따릅니다:
동일한 링크를 사용한 TypeScript SDK의 프로그램 실행 결과:
결과 설명:
  • content ADC_TS_SDK_X402_OK는 모델이 프롬프트에 따라 반환한 고정 문자열로, 유료 재시도 후 요청이 실제로 모델 API에 들어갔음을 나타냅니다.
  • payer는 로컬 서명 지갑 주소이며, 개인 키는 Ace Data Cloud에 전송되지 않았습니다.
  • SDK는 402 파싱, PAYMENT-SIGNATURE 서명 및 원래 요청 재시도를 완료했습니다; 비즈니스 코드는 여전히 일반 SDK 호출 방식으로 작성되었습니다.
이 코드 뒤에서 발생한 네 단계:
  1. SDK는 Authorization 없이 일반 API 요청을 한 번 보냅니다.
  2. Gateway는 402 Payment Required와 accepts를 반환합니다.
  3. createX402PaymentHandler는 network = 'skale'의 결제 요구 사항을 선택하고 PAYMENT-SIGNATURE를 서명합니다.
  4. 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를 기준으로 합니다.