Two ways in: buy pool access yourself with USDC (no account, no key from anyone), or paste a pak_ access key a reseller gave you. Real 4G/5G mobile IPs from real phones - both land you at gw.proxies.sx:7000.
An AI agent or anyone with a wallet can buy Pool Gateway access directly over x402 - no signup, no API key. One USDC payment returns one credential that reaches every country in your tier (v1 tier mbl = production modems, $4/GB). The payment is the authentication.
# Catalog + live tiers (always 200, no payment):
curl -s https://api.proxies.sx/v1/x402/pool/pricing
# Quote a purchase: no payment returns HTTP 402 with the payment requirements
curl -s "https://api.proxies.sx/v1/x402/pool?tier=mbl&country=us&traffic=1"
# 2. Pay USDC on Base or Solana to the address in the 402 body, then retry with the tx hash:
curl -s "https://api.proxies.sx/v1/x402/pool?tier=mbl&country=us&traffic=1" \
-H "Payment-Signature: YOUR_TX_HASH"
# Response: { proxy: { host: "gw.proxies.sx", httpPort: 7000, socks5: null, username: "psx_x402pool-mbl-us-...", password: "pak_..." }, sessionToken: "x402s_...", credit, manage }
# The username is the psx_ house identity; the pak_ key is the password. Plug both into the curl below.
# x402 pool access is HTTP :7000 ONLY (socks5 is null). The credential is rejected on :7001 by design.
Manage it afterward with the X-Session-Token the response gives you: GET /v1/x402/manage/pool/credit (remaining GB), POST /v1/x402/manage/pool/topup (more USDC -> more GB), GET /v1/x402/manage/pool/usage, POST /v1/x402/manage/pool/regenerate (new secret, same username).
pak_ key from a reseller?Paste it below. The psx_ username goes in the username position and the pak_ key is the password.
Reseller-distributed pak_ keys (minted under a reseller account) can use SOCKS5 on port 7001 with the same credentials, prefix socks5://. x402-bought pool access is HTTP :7000 only - the psx_x402pool house credential is rejected on :7001 by design (use the HTTP example above).
| Problem | Fix |
|---|---|
407 Proxy Authentication Required | Most common cause: you put the pak_ key in the username. It goes in the password position. The username is your psx_ proxy username plus -mbl-COUNTRY (e.g. psx_x402pool-mbl-us), and the password is the pak_ key. Use the form above to get the right format. Other causes: cap reached or key disabled. |
502 Bad Gateway | No mobile device available for that country right now. Try a different country or wait 30 seconds. |
| Same IP every request, wanted rotation | Uncheck "Sticky session" above - every request will land on a different modem. |
| Different IP every request, wanted sticky | Check "Sticky session" and use the same Session ID for related requests. Sticky pins the modem, not the IP - mobile carriers can rotate egress IPs via CGNAT even on a pinned modem (T-Mobile is aggressive about this; Verizon less so). The gateway picks the most IP-stable modem available. For truly immutable IPs (cf_clearance, banking 2FA) use the residential peer pool. |
| Slow / hangs | Test first against https://api.ipify.org - that returns the proxy's exit IP in <1s. If that's fine, the proxy works and the target site is slow. |
Every byte through the proxy counts against your cap, both directions. When you hit the cap, requests return 407 until you top up or wait for a reset. Your dashboard shows live usage.