Skip to main content
Ace Data Cloud X402 obecnie rozlicza się w USDC i obsługuje dwa rodzaje łańcuchów: EVM i Solana. Metody podpisywania, adresy aktywów, zachowanie gas oraz odpowiednie scenariusze różnią się w zależności od sieci, dlatego przed integracją należy najpierw wybrać sieć.

Identyfikatory sieci używają CAIP-2

accepts[].network w x402 v2 jest identyfikatorem CAIP-2, a nie skróconą nazwą taką jak base czy skale. Podczas dopasowywania sieci klient musi porównywać ciągi CAIP-2:

Macierz obsługi

upto jest obecnie dostępne tylko na Base. Faktycznie dostępne pozycje zależą od accepts zwracanego przez API. Możesz także sprawdzić Facilitator:
Odpowiedź Facilitator /supported:
Opis wyników:
  • exact na Base, SKALE i Solana jest ścieżką płatności o stałej kwocie.
  • Tylko Base oferuje ścieżkę rozliczania po użyciu upto, zależną od approve Permit2.
  • extra.facilitatorAddress w pozycji upto jest adresem, który klient musi wpisać do witness podczas podpisywania, i musi być zgodny z wartością zwróconą przez serwer.

Base

Base używa oficjalnego kontraktu USDC:
W schemacie exact klient podpisuje EIP-712 TransferWithAuthorization. Treść podpisu obejmuje:
  • from: adres portfela płatnika
  • to: adres odbiorcy Ace Data Cloud
  • value: kwota tej płatności
  • validAfter / validBefore: okno czasowe ważności podpisu
  • nonce: losowy nonce o długości 32 bajtów
Po zweryfikowaniu podpisu Facilitator wywoła on-chain transferWithAuthorization USDC, aby zakończyć transfer. Base jest najbardziej zalecaną siecią do formalnej integracji, szczególnie odpowiednią dla rozliczania po użyciu upto, ponieważ ekosystem Permit2, USDC i portfeli jest bardziej dojrzały. Przykład wyniku weryfikacji Base exact:
Opis wyników:
  • Powtórzenie API paid zwraca treść modelu ADC_BASE_E2E_OK.
  • Transakcję on-chain można sprawdzić w BaseScan, a numer bloku to 46726299.
  • 95215 atomic USDC odpowiada 0.095215 USDC i jest faktyczną kwotą rozliczenia tego wywołania API.
Wynik działania programu dla płatności zamówienia Base exact:
Opis wyników:
  • Ostateczny status zamówienia na platformie to Finished.
  • pay_id zamówienia zapisuje ten sam hash transakcji Base.
  • 1200000 atomic USDC odpowiada 1.2 USDC i jest historyczną faktycznie zapłaconą kwotą tego zamówienia na 10 Credits w ramach starej polityki; nowe zamówienia nie otrzymują już dodatkowej zniżki za metodę płatności X402, a konkretna podpisywana kwota zależy od odpowiedzi 402 dla tej transakcji.

SKALE

SKALE używa bridged USDC, a metoda podpisywania jest podobna do Base — również EIP-3009. Jest odpowiednia dla scenariuszy płatności EVM o niskim koszcie gas; faktyczne wywołania nadal zależą od accepts zwracanego przez API. Typowe accepts 402 dla SKALE zawiera:
SKALE obecnie oferuje tylko exact. Jeśli potrzebujesz rozliczania po użyciu, użyj Base upto. Przykład wyniku weryfikacji SKALE exact:
Opis wyników:
  • API paid retry zwraca treść modelu ADC_SKALE_E2E_OK。
  • Transakcję można znaleźć w SKALE explorer, numer bloku to 1969317。
  • Kwota rozliczenia tej płatności exact wynosi 0.095215 USDC。

Solana

Solana używa SPL USDC TransferChecked。Klient konstruuje transakcję transferu, podpisuje ją i przesyła, a następnie umieszcza podpis transakcji lub zserializowaną transakcję w envelope PAYMENT-SIGNATURE。 Cechy Solana:
  • używa Solana wallet adapter lub base58 secret key;
  • aktywem jest Solana USDC mint;
  • obecnie obsługiwane jest tylko exact;
  • Facilitator weryfikuje mint, destination, authority i amount instrukcji transferu。
Jeśli używany jest tryb wallet fee payer, portfel bezpośrednio przesyła transakcję, a Facilitator odpowiada za potwierdzenie transakcji i zwrócenie wyniku settlement。 Przykład wyniku weryfikacji Solana exact:
Wyjaśnienie wyniku:
  • paid retry zwrócił już HTTP 200, a model wygenerował ADC_SOLANA_E2E_OK。
  • Przy odpytywaniu publicznego RPC o on-chain signature można napotkać ograniczenia liczby żądań。
  • Ponieważ odpytywanie publicznego RPC może podlegać ograniczeniom, nie podajemy tutaj Solana explorer。Gdy wymagane jest ścisłe uzgodnienie, użyj własnego Solana RPC lub rekordów settlement po stronie platformy, aby potwierdzić podpis transakcji。

Jak wybrać

Niezależnie od wybranego łańcucha, nie koduj na sztywno ceny po stronie klienta。Cena jest określana przez zwracane przez serwer accepts[].maxAmountRequired。