@acedatacloud/x402-client는 402 Payment Required가 발생할 때 PAYMENT-SIGNATURE 요청 헤더를 체크아웃합니다.
소스 코드 및 패키지 주소:
- SDK 저장소: https://github.com/AceDataCloud/SDK
- X402 클라이언트 저장소: https://github.com/AceDataCloud/X402Client
- npm SDK: https://www.npmjs.com/package/@acedatacloud/sdk
- npm X402 클라이언트: https://www.npmjs.com/package/@acedatacloud/x402-client
의존성 설치
@solana/web3.js가 필요합니다:
@acedatacloud/sdk와@acedatacloud/x402-client는 모두 npm에서 설치할 수 있으며 Node.js에 가져올 수 있습니다.ethers는 EVM 타입 데이터 서명에 사용되며,@solana/web3.js는 Solana 트랜잭션 구성에 사용됩니다.
Base 또는 SKALE 예제
브라우저에서는window.ethereum을 직접 사용할 수 있습니다. Node.js에서는 ethers.Wallet로 EIP-1193 스타일의 프로바이더를 감쌀 수 있습니다.
- 프로그램은 먼저 인증 없는 402를 트리거한 후, 핸들러가
PAYMENT-SIGNATURE를 체크아웃하고, 마지막으로 동일한 요청 본문으로 재시도합니다. content ADC_TS_SDK_X402_OK는 모델이 실제로 반환한 고정 문자열로, 재시도된 요청이 목표 API에 도달했음을 나타냅니다.id chatcmpl-DlcVLO4PQWvmjPDQpy9yQw2QdLGAT는 이번 채팅 완성 응답 ID로, 플랫폼 사용 기록과 대조하는 데 사용할 수 있습니다.- 온체인 정산 결과는 E2E 검증 및 문제 해결을 참조하십시오.
network를 skale로 변경하면 SKALE을 사용할 수 있습니다. SKALE의 장점은 온체인 거래 가스 비용이 낮다는 것이고, Base의 장점은 USDC 유동성과 지갑 지원이 더 성숙하며, 오직 Base만이 upto 후치 계량을 제공합니다.
주의: SKALE은 현재 exact만 지원합니다. network: 'skale'에서 preferScheme: 'upto'를 전달하면 핸들러는 upto를 찾지 못해 조용히 exact로 되돌아가며 오류를 발생시키지 않습니다. 채팅 완성 같은 토큰 기준 계량의 경우 고정 가격으로 정산되며, 실제 사용량에 따라 정산되지 않습니다. 후치 계량이 필요하면 Base를 사용하십시오.
브라우저 지갑 예제
프론트엔드 애플리케이션에서 MetaMask, Coinbase Wallet 또는 WalletConnect를 사용할 때는 일반적으로 EIP-1193 프로바이더를 직접 전달합니다:Solana 예제
Solana는 SPL USDCTransferChecked를 사용합니다. 전달된 지갑 어댑터는 publicKey와 signAndSendTransaction을 노출해야 합니다.
exact만 지원하며, upto는 지원하지 않습니다. API가 여러 accepts를 반환하는 경우 핸들러는 network = 'solana'의 항목을 선택합니다.
Solana 경로는 동일한 공개 API에서 유료 재시도가 HTTP 200 및 ADC_SOLANA_E2E_OK를 반환할 수 있음을 검증했습니다. 공개 RPC 쿼리는 속도 제한이 있을 수 있으므로 이 문서에서는 Solana tx 해시를 작성하지 않습니다. 온체인 대조가 필요할 경우, 자신의 Solana RPC 또는 콘솔 기록을 사용하여 확인하십시오.
exact 또는 upto 선택
현재 TypeScript 핸들러는 서버가 반환한 첫 번째 일치하는 네트워크의 지불 요구 사항을 선택합니다. Ace Data Cloud의 API는 일반적으로 동일한 네트워크의 exact를 upto 앞에 배치하므로, 후치 계량을 명확히 원할 경우 preferScheme: 'upto'를 전달해야 합니다.
예제:
upto 요구 사항을 반환하지 않으면 핸들러는 자동으로 해당 네트워크에서 사용할 수 있는 첫 번째 요구 사항으로 되돌아가며, 일반적으로 exact입니다.
upto는 한 번에 Permit2를 승인해야 합니다. upto는 현재 Base에서만 제공되므로 Base USDC에 대해 한 번만 승인을 하면 됩니다.
upto는 공개 API 검증을 완료했습니다: HTTP 402 -> HTTP 200, 후속 settlement tx는 0x4b0b836ce1cd1171cdbc37df1637150b024214ec28e7f6f2d09122f15cbfc036입니다. 전체 출력은 요금제 설명을 참조하세요.
SDK가 한 일
@acedatacloud/sdk의 transport는 402를 수신하면 한 번의 payment handler를 실행합니다:
@acedatacloud/x402-client가 반환하는 handler는:
ctx.accepts에서 목표 네트워크의 payment requirement를 선택합니다.- 네트워크에 따라 EVM EIP-712 서명 또는 Solana transfer transaction을 구성합니다.
- envelope을 Base64로 직렬화합니다.
{ headers: { 'PAYMENT-SIGNATURE': '<base64>' } }를 반환합니다.- SDK는 원래 요청 본문으로 자동 재시도합니다.

