AIHubMix przyjmuje teraz doładowania w USDC. Twój agent AI może dodać środki na własne konto, korzystając z USDC znajdujących się w jego portfelu: bez otwierania strony internetowej i bez klikania przycisku przez kogokolwiek.
Dzięki x402 doładowanie może wynosić już 1 USD. Agent doładowuje konto w miarę potrzeb, więc nie musisz wcześniej wpłacać dużego salda.
Wystarczą dwa kroki: przygotuj token, portfel i trochę USDC w sieci oraz w aplikacji, a następnie uruchom nasz gotowy skrypt doładowania jedną komendą. Około 20 sekund po płatności kredyt pojawi się na Twoim koncie.
Jeśli to pomoże, możesz śledzić proces w tym 30-sekundowym filmie:
Najprostszy sposób: jeśli używasz narzędzia AI, które potrafi uruchamiać komendy w terminalu, np. Claude Code, Cursor lub Codex, wykonaj krok 1, a następnie wyślij mu link do tego wpisu i napisz „skonfiguruj to za mnie”. Narzędzie postępuje zgodnie z sekcją „Instrukcje dla asystentów AI” na końcu tego wpisu. Tylko raz sam wpisujesz token i klucz prywatny, bez przesyłania ich AI.
Zanim zaczniesz
- Kwoty to wyłącznie pełne dolary, domyślnie od 1 do 10 USD na jedno doładowanie
- Każde konto może utworzyć maksymalnie 3 zamówienia dziennie (UTC)
- Obsługiwane jest wyłącznie USDC w sieci głównej Base, a testnetu nie ma, dlatego zacznij od 1 USD
- Ten kanał jest przeznaczony dla programów; człowiek nie może zapłacić w przeglądarce. Przy ręcznych doładowaniach korzystaj nadal z Alipay lub Stripe
Krok 1: Zdobądź token, portfel i USDC
Wszystko w tym kroku odbywa się w przeglądarce internetowej lub w aplikacji mobilnej.
1. Zdobądź systemowy token dostępu
Zaloguj się na aihubmix.com, otwórz swoje ustawienia osobiste i wygeneruj systemowy token dostępu (32-znakowy ciąg).
Pamiętaj, że nie jest to klucz API zaczynający się od sk-. Te dwa elementy nie są wymienne.
2. Utwórz portfel do płatności
W MetaMask lub podobnej aplikacji portfela utwórz nowe konto wyłącznie do płatności agenta. Nie używaj głównego portfela. Następnie:
- Skopiuj adres konta (zaczyna się od 0x); na ten adres wyślesz USDC w następnym kroku
- Wyeksportuj jego klucz prywatny ze szczegółów konta i przechowuj go w menedżerze haseł. Każdy, kto ma klucz prywatny, może przenosić środki z portfela
3. Kup USDC i wyślij go na ten portfel
MetaMask to portfel: to Ty posiadasz klucz prywatny, a skrypt potrzebuje go do podpisywania. Coinbase to giełda, na której kupujesz kryptowaluty. Środki na koncie giełdowym nie mają klucza prywatnego, więc skrypt nie może z nich skorzystać. Dlatego najpierw kupujesz na giełdzie, a następnie wysyłasz USDC na portfel z poprzedniego kroku.
Na przykładzie giełdy Coinbase (nie Coinbase Wallet):
- Kup USDC na Coinbase
- Wyślij USDC na skopiowany adres i wybierz sieć Base
- Wyślij nieco więcej, niż planujesz doładować, np. 1,5 do 2 USDC na doładowanie w wysokości 1 USD
Poczekaj chwilę, a następnie otwórz https://basescan.org/address/your-wallet-address. Gdy zobaczysz saldo USDC, oznacza to, że środki dotarły. Działają też inne giełdy obsługujące wypłaty USDC w sieci Base; więcej opcji znajdziesz w dokumentacji Base.
Portfel nie potrzebuje żadnego ETH: opłatę sieciową za płatność pokrywa FluxA.
Krok 2: Uruchom skrypt doładowania
Nie ma czego pobierać ani pliku do tworzenia: uv pobiera skrypt z sieci i go uruchamia. Otwórz Terminal (PowerShell w Windows) i skopiuj oraz wklej poniższe komendy.
1. Zainstaluj uv (raz)
uv to narzędzie Pythona, które przygotowuje wszystko, czego skrypt potrzebuje do działania.
macOS / Linux:
curl -LsSf https://astral.sh/uv/install.sh | sh
Windows (PowerShell):
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
Po zakończeniu zamknij terminal i otwórz go ponownie.
2. Sprawdź konfigurację (nic nie kosztuje)
uv run https://raw.githubusercontent.com/zch456/public_resource/main/aihubmix-x402-topup/topup.py check
Przy pierwszym uruchomieniu skrypt poprosi o systemowy token dostępu (System access token) i klucz prywatny portfela (Wallet private key). To, co wpisujesz, nie jest wyświetlane na ekranie; wklej je i naciśnij Enter. Następnie zapyta, czy je zapisać (Save to ...? [Y/n]). Naciśnij Enter, aby zapisać, a nie będziesz musiał wpisywać ich ponownie. Pierwsze uruchomienie trwa chwilę, bo uv przygotowuje środowisko.
Gdy zobaczysz poniższy komunikat, konfiguracja jest gotowa:
Wallet: 0x... (USDC balance 2.0)
Access token and private key are fine. Ready to top up.
3. Doładuj konto
uv run https://raw.githubusercontent.com/zch456/public_resource/main/aihubmix-x402-topup/topup.py 1
Cyfra 1 na końcu to kwota w dolarach. Jeśli wszystko przebiegnie prawidłowo, zobaczysz:
Wallet: 0x... (USDC balance 2.0)
tradeNo: pl_XXXXXXXX
txHash: 0x...
result: credited
result: credited oznacza, że kredyt dotarł. Zaloguj się na aihubmix.com, a zobaczysz wzrost salda; 1 USD dodaje 500 000 quota.
Jeśli ostatnia linia zawiera coś innego:
failed: zamówienie zostało zamknięte lub wygasło. Jeśli potrzebujesz, uruchom skrypt ponownie; zużyje to kolejne z dzisiejszych zamówień.pending: kredyt nie został potwierdzony w ciągu 10 minut. To nie jest błąd, a kredyt dotrze później automatycznie. Nie uruchamiaj skryptu ponownie.
Rozwiązywanie problemów
| Co widzisz | Co zrobić |
|---|---|
| Missing access token or private key... | Otwórz plik konfiguracyjny wskazany w komunikacie, wpisz token i klucz prywatny, zapisz i uruchom ponownie |
| Invalid private key... | Sprawdź, czy skopiowałeś cały klucz prywatny, popraw plik konfiguracyjny i uruchom ponownie |
| USDC balance is below... | Wyślij USDC na wyświetlony adres i upewnij się, że wybrano sieć Base |
| command not found: uv | Zamknij terminal i otwórz go ponownie; jeśli to nie pomoże, zainstaluj uv od nowa |
| Usage: topup.py AMOUNT... | Kwota musi być pełnymi dolarami, np. 1, a nie 1.5 |
| Error: Unauthorized... | Token jest nieprawidłowy lub wygasł, albo podano klucz API sk-. Wpisz systemowy token dostępu do pliku konfiguracyjnego |
| Error: Account suspended. | Konto zostało zawieszone; skontaktuj się z pomocą techniczną |
| Error: Stablecoin top-up is not available on this site | Kanał jest chwilowo niedostępny; skontaktuj się z nami |
| Error: Invalid amount... | Kwota przekracza limit jednego doładowania |
| Error: Daily stablecoin top-up limit reached... | Wykorzystano dzisiejsze 3 zamówienia; spróbuj ponownie po północy UTC |
| Error: Failed to create payment link... | Tymczasowy błąd; po prostu uruchom ponownie. Nie liczy się do dzisiejszych zamówień |
| Error: 402 challenge check failed... | Żądanie płatności nie zgadzało się z oczekiwaniami, więc skrypt odmówił zapłaty; skontaktuj się z nami |
Jeśli po wypisaniu tradeNo pojawi się błąd przekroczenia czasu lub sieci, pieniądze mogły już zostać zapłacone. Nie uruchamiaj skryptu ponownie od razu. Sprawdź saldo po kilku minutach; jeśli nic nie dotarło, skontaktuj się z nami, podając tradeNo.
Token i klucz prywatny są zapisane w ~/.aihubmix-topup.env na Twoim komputerze (w Windows w folderze użytkownika). W macOS i Linux tylko Twoje konto ma do niego dostęp. Aby zmienić token lub klucz prywatny, edytuj ten plik.
Podłączanie do agenta
- Po zapisaniu konfiguracji agent może doładowywać konto, uruchamiając
uv run https://raw.githubusercontent.com/zch456/public_resource/main/aihubmix-x402-topup/topup.py 1zawsze, gdy potrzebuje kredytu, nawet bez nadzoru człowieka - Dozwolone są tylko 3 zamówienia dziennie, dlatego ogranicz częstotliwość doładowań agenta i nigdy nie ponawiaj tworzenia zamówienia w pętli
- Zapisuj
tradeNoitxHashz wyniku w bazie danych lub logu, aby móc je uzgadniać - Do długoterminowego użytku pobierz skrypt i przypnij wersję przed uruchomieniem; najpierw możesz przeczytać kod źródłowy
- Jeśli limit 10 USD na doładowanie lub 3 zamówienia dziennie nie wystarcza, skontaktuj się z nami, aby go podnieść
Instrukcje dla asystentów AI
Jeśli jesteś asystentem AI pomagającym użytkownikowi skonfigurować doładowania AIHubMix w USDC, wykonaj poniższe kroki po kolei:
- Upewnij się, że użytkownik ukończył krok 1: ma systemowy token dostępu oraz portfel z USDC w sieci głównej Base i jego klucz prywatny. Jeśli nie, najpierw przeprowadź go przez krok 1.
- Uruchom
uv --version, aby sprawdzić, czy uv jest zainstalowany. Jeśli nie, zainstaluj go poleceniami z kroku 2. - Uruchom
uv run https://raw.githubusercontent.com/zch456/public_resource/main/aihubmix-x402-topup/topup.py check. - Jeśli skrypt zgłosi brak tokenu lub klucza prywatnego (
Missing access token or private key), oznacza to, że utworzył plik konfiguracyjny~/.aihubmix-topup.env. Poproś użytkownika, aby otworzył go w edytorze tekstu i uzupełnił samodzielnie (na macOS uruchomopen -e ~/.aihubmix-topup.env; w Windows uruchomnotepad $HOME\.aihubmix-topup.env). Nie czytaj tego pliku, nie umieszczaj tokenu ani klucza prywatnego w żadnej komendzie i nie proś użytkownika, aby Ci je przesłał. - Gdy użytkownik uzupełni plik, uruchom
checkponownie, aż zobaczyszAccess token and private key are fine. Ready to top up.. Jeśli pojawi się błąd, obsłuż go według tabeli rozwiązywania problemów powyżej. - Doładowanie wydaje prawdziwe pieniądze. Potwierdź kwotę z użytkownikiem przed uruchomieniem
uv run https://raw.githubusercontent.com/zch456/public_resource/main/aihubmix-x402-topup/topup.py <amount>.
Pod spodem: co robi skrypt
Skrypt wykonuje pięć czynności po kolei:
- Sprawdza saldo: utworzenie zamówienia zużywa jedno z dzisiejszych zamówień, dlatego najpierw upewnia się, że klucz prywatny jest prawidłowy i że USDC jest wystarczająco dużo.
- Tworzy zamówienie: wywołuje
POST /api/pay/fluxa/crti otrzymuje link do płatności oraz numer zamówieniatradeNo. Token trafia do nagłówkaAuthorizationbez zmian, bezBearer. Błędy biznesowe również zwracane są jako HTTP 200, dlatego skrypt sprawdza polesuccessw odpowiedzi. - Sprawdza żądanie płatności: żądanie GET na link do płatności zwraca HTTP 402 z wymaganiami płatności. Przed podpisaniem sprawdza cztery rzeczy:
schemetoexact,networktoeip155:8453,assetto kontrakt USDC w sieci głównej Base, amaxAmountRequiredrówna się kwocie × 1 000 000. Jeśli którakolwiek z tych wartości się nie zgadza, skrypt się zatrzymuje. - Podpisuje i płaci: podpisuje autoryzację transferu USDC kluczem prywatnym, umieszcza ją w nagłówku
X-PAYMENTi ponownie wysyła GET na link do płatności. Odpowiedzi 200 lub 202 oznaczają, że płatność została przesłana;txHashw odpowiedzi to potwierdzenie on-chain tej płatności. Żadne z żądań nie zawiera tokenu AIHubMix. - Czeka na kredyt: co 8 sekund wywołuje
GET /api/pay/fluxa/qry?trade_no=..., aż status zmieni się naTRADE_SUCCESS. Serwer odświeża dane tylko co 5 sekund, więc częstsze odpytywanie nic nie przyspieszy.
Każdy link do płatności jest też ważny przez 30 minut i można go opłacić tylko raz.
Implementacja w innym języku
Odpowiedź 402 z linku do płatności wygląda tak:
{
"x402Version": 1,
"accepts": [{
"scheme": "exact",
"network": "eip155:8453",
"maxAmountRequired": "1000000",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"payTo": "0x....",
"maxTimeoutSeconds": 600,
"extra": {"name": "USD Coin", "version": "2"}
}]
}
Podpis używa formatu EIP-712 i dotyczy struktury TransferWithAuthorization z EIP-3009:
| Pole | Wartość |
|---|---|
| from | Adres Twojego portfela |
| to | payTo z odpowiedzi 402 |
| value | maxAmountRequired z odpowiedzi 402 |
| validAfter | Bieżący czas minus 60 sekund |
| validBefore | Bieżący czas plus max(maxTimeoutSeconds, 600) sekund |
| nonce | 32 losowe bajty, za każdym razem nowe |
Domena podpisu: name = USD Coin, version = 2 (użyj wartości z pola extra w odpowiedzi 402, jeśli jest obecne), chainId = 8453, verifyingContract = 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913.
Wartość nagłówka X-PAYMENT to zakodowany w base64 poniższy JSON:
{
"x402Version": 1,
"scheme": "exact",
"network": "eip155:8453",
"payload": {
"signature": "0x...",
"authorization": {
"from": "0x...", "to": "0x...", "value": "1000000",
"validAfter": "...", "validBefore": "...", "nonce": "0x..."
}
}
}
Źródła



