Skip to main content
Python SDK는 백엔드 서비스, 데이터 작업, 자동화 에이전트 및 배치 스크립트에 적합합니다. acedatacloud는 API 호출을 담당하고, acedatacloud-x402는 PAYMENT-SIGNATURE 요청 헤더를 체크아웃하는 역할을 합니다. 소스 코드 및 패키지 주소:

의존성 설치

upto를 사용하려면 Permit2 approve CLI를 한 번 호출해야 하며, 이 CLI는 web3에 의존합니다:
깨끗한 Python venv의 설치 및 가져오기 확인 출력:
결과 설명:
  • acedatacloud와 acedatacloud-x402는 모두 PyPI에서 설치 및 가져올 수 있습니다.
  • pip install 'acedatacloud-x402[cli]'는 upto 전제 승인을 위한 approve-permit2 CLI를 포함합니다.

Base 또는 SKALE 예제

아래 예제는 API 토큰이 필요하지 않습니다. 지갑 개인 키는 로컬에서만 서명되며 Ace Data Cloud에 전송되지 않습니다.
Python SDK는 현재 dict를 반환하므로 예제에서는 res["choices"][0]["message"]["content"]를 사용합니다. 반드시 .choices 속성이 있다고 가정하지 마십시오. SKALE 유료 호출의 프로그램 실행 결과:
결과 설명:
  • 프로그램은 402 파싱, PAYMENT-SIGNATURE 서명 및 원 요청 재시도를 완료했습니다.
  • content ADC_PY_SDK_X402_OK는 모델이 실제로 반환한 고정 문자열로, 요청이 X402 유료 링크를 통해 대상 API에 도달했음을 나타냅니다.
  • id chatcmpl-DlcWajqAHOop3iebmO19XRfT5bTPz는 이번 채팅 완성 응답 ID입니다.
SKALE을 사용할 때는 네트워크 이름만 변경하면 됩니다:

Solana 예제

Solana는 base58 인코딩된 비밀 키를 사용합니다:
Solana 경로는 SPL USDC TransferChecked 거래를 구성하고 제출한 다음 거래 서명을 PAYMENT-SIGNATURE envelope에 넣습니다. Solana 유료 재시도는 프로덕션 API에서 HTTP 200과 ADC_SOLANA_E2E_OK를 반환했습니다. 이번 공개 RPC 쿼리는 속도 제한에 걸려 체인 상의 서명을 안정적으로 확인하지 못했습니다; 정산이 필요할 경우 자신의 Solana RPC를 사용하여 해당 거래를 조회하십시오.

Async 클라이언트

같은 결제 핸들러는 AsyncAceDataCloud에도 사용할 수 있습니다:

upto 후속 계량 사용

채팅 완성, 모델 호출 등 API의 실제 비용은 응답이 끝난 후에야 알 수 있습니다. 이때 API는 exact와 upto를 동시에 반환할 수 있습니다. upto를 우선 사용하려면:
Base upto의 프로그램 실행 결과:
체인 상 확인:
결과 설명:
  • content ADC_BASE_UPTO_OK는 요청이 실제로 모델 API에 도달했음을 나타냅니다.
  • settled value 3 atomic USDC는 upto가 실제 사용량에 따라 정산되었음을 나타내며, 전체 한도를 차감하지 않았습니다.
  • settlement tx는 BaseScan에서 열 수 있으며, 정산 시 tx 해시, 지불자, 완성 ID 및 요청 요약을 저장하십시오.
upto는 Permit2를 사용하여 한도를 승인하며, 실제 정산 금액은 해당 한도를 초과할 수 없습니다. 처음 사용하기 전에 목표 체인에서 USDC에 대해 한 번 approve(Permit2, amount)를 수행해야 합니다. CLI 방식:
프로그램 방식:
이 헬퍼는 멱등성입니다. 허용량이 이미 충분하면 {"skipped": true}를 반환하며, 체인 상 거래를 반복해서 발생시키지 않습니다.

저수준 서명

SDK를 사용하지 않는 경우, 저수준 서명 함수를 직접 호출할 수 있습니다:
저수준 함수는 테스트, 프록시 레이어, 게이트웨이 통합 또는 비공식 SDK에 적합합니다. 일반 비즈니스 코드는 create_x402_payment_handler를 우선 사용해야 합니다.