@acedatacloud/x402-client ansvarar för att signera PAYMENT-SIGNATURE begärningshuvudet när 402 Payment Required inträffar.
Källkod och paketadress:
- SDK-förråd: https://github.com/AceDataCloud/SDK
- X402 Client-förråd: https://github.com/AceDataCloud/X402Client
- npm SDK: https://www.npmjs.com/package/@acedatacloud/sdk
- npm X402 Client: https://www.npmjs.com/package/@acedatacloud/x402-client
Installera beroenden
@solana/web3.js:
@acedatacloud/sdkoch@acedatacloud/x402-clientkan båda installeras från npm och importeras av Node.js.ethersanvänds för EVM-typade data-signaturer,@solana/web3.jsanvänds för Solana-transaktionskonstruktion.
Base eller SKALE-exempel
I webbläsaren kan du direkt användawindow.ethereum. I Node.js kan du använda ethers.Wallet för att paketera en EIP-1193-stil provider.
- Programmet utlöser först en 402 utan autentisering, sedan signerar handler
PAYMENT-SIGNATURE, och slutligen försöker det igen med samma begäran. content ADC_TS_SDK_X402_OKär en fast sträng som modellen faktiskt returnerar, vilket indikerar att den omförsökta begäran nådde mål-API:t.id chatcmpl-DlcVLO4PQWvmjPDQpy9yQw2QdLGATär ID:t för detta chat completion-svar, som kan användas för att jämföra med plattformens användningsregister.- Resultatet av on-chain avräkning kan ses i E2E verifiering och felsökning.
network till skale för att använda SKALE. Fördelen med SKALE är att gas-kostnaden för on-chain-transaktioner är låg; fördelen med Base är att USDC:s likviditet och plånboksstöd är mer moget, och endast Base erbjuder upto efterhandsmätning.
Observera: SKALE har för närvarande endast exact. Om preferScheme: 'upto' anges under network: 'skale', kommer handler att tyst återgå till exact om upto inte hittas, utan att ge något felmeddelande—scenarier som chat completion som mäts per token kommer därför att avräknas till ett fast pris istället för baserat på verklig användning. För efterhandsmätning, använd Base.
Webbläsarplånboksexempel
När du använder MetaMask, Coinbase Wallet eller WalletConnect i frontend-applikationer, skickar du vanligtvis direkt in EIP-1193 provider:Solana-exempel
Solana använder SPL USDCTransferChecked. Den inkommande plånboksadaptern måste exponera publicKey och signAndSendTransaction.
exact, och stöder inte upto. Om API:t returnerar flera accepts, kommer handler att välja den som har network = 'solana'.
Solana-vägen har verifierats för betald omförsök på samma offentliga API och kan returnera HTTP 200 och ADC_SOLANA_E2E_OK. Offentliga RPC-frågor kan begränsas, så denna artikel skriver inte ut Solana tx hash; för on-chain avstämning, använd din egen Solana RPC eller konsol för att registrera bekräftelse.
Välja exact eller upto
Den nuvarande TypeScript-handlern kommer att välja det första betalningskravet som matchar nätverket som servern returnerar. Ace Data Clouds API placerar vanligtvis exact för samma nätverk före upto, så om du tydligt vill använda efterhandsmätning, behöver du ange preferScheme: 'upto'.
Exempel:
upto krav för det nätverket, kommer handler automatiskt att återgå till det första tillgängliga kravet för det nätverket, vilket vanligtvis är exact.
upto kräver engångsbehörighet för Permit2. upto erbjuds för närvarande endast på Base, så du behöver bara ge en engångsbehörighet för Base USDC:
upto har slutfört offentlig API-verifiering: HTTP 402 -> HTTP 200, efterföljande settlement tx är 0x4b0b836ce1cd1171cdbc37df1637150b024214ec28e7f6f2d09122f15cbfc036. Fullständig utdata finns i beskrivningen av prissättningsplanen.
SDK gjorde vad
@acedatacloud/sdk’s transport kommer att köra en betalningshanterare när den får 402:
@acedatacloud/x402-client returnerar en hanterare som kommer att:
- Välja betalningskravet för mål-nätverket från
ctx.accepts. - Konstruera EVM EIP-712 signatur eller Solana transfer transaction baserat på nätverket.
- Serialisera kuvertet till Base64.
- Returnera
{ headers: { 'PAYMENT-SIGNATURE': '<base64>' } }. - SDK kommer automatiskt att försöka igen med den ursprungliga begäran.

