MOBILE PROXY API

Dedicated Port: a real 4G/5G mobile proxy of your own. $4.00/GB, minimum purchase 0.1 GB ($0.40), duration free. Pay USDC over HTTP. No account, no API key, no subscription.

This is a Dedicated Port (one modem, one fixed host:port). If you instead need one credential for many countries with per-request switching, see Pool Gateway at /pool/. Full comparison under DEDICATED PORT VS POOL GATEWAY below.

$4 /GB
6 countries
115+ devices
LIVE

First request: curl "https://api.proxies.sx/v1/x402/proxy?country=US&traffic=0.1&duration=3600" - returns HTTP 402 with payment instructions. The full buy sequence is under HOW TO USE below.

Canonical contract: the skill file (/marketplace/skill.md; master: /skill.md). If this page disagrees with the skill file, the skill file wins. If the skill file disagrees with the live API, the live API wins.

WHAT IT IS

A mobile proxy API that assigns you a dedicated port backed by real 4G/5G IP addresses from physical phone and modem devices. Every request routes through a real carrier network - AT&T, T-Mobile, Vodafone, Orange, Deutsche Telekom - so your traffic presents as a real mobile user.

Payment is USDC on Base or Solana via the x402 protocol: send a request, get an HTTP 402 with payment requirements, pay on-chain, retry with the tx hash, receive credentials. No account registration, no API key, no subscription.

FeatureDetails
ProtocolsHTTP and SOCKS5
IP TypeReal 4G/5G mobile (not residential, not datacenter)
CountriesLive, rotating fleet - NL, PL, US, GE (Georgia), FR, GB as carrier supply allows. Check live stock before buying
Devices115+ physical phones and modems on carrier networks (example figure - live per-country counts are the availableDevices field in /v1/x402/countries)
IP RotationOn-demand rotation via the public rotate URL (5-min cooldown) - call it from your own scheduler for interval rotation
AuthenticationUsername/password per port
ConcurrencyUnlimited connections per port
Session DurationFree - you only pay for traffic (GB)

DEDICATED PORT VS POOL GATEWAY

DEDICATED PORT = one real port on one modem, its own host:port, one country fixed at purchase - the IP holds until YOU hit the rotate URL. POOL GATEWAY = one credential on gw.proxies.sx:7000, every country in the tier - country, session and rotation are declared per-request in the proxy username.

Dedicated Port (/v1/x402/proxy)Pool Gateway (/v1/x402/pool)
What payment mintsA real port on ONE modem (ProxySmart), bound to that deviceA metered pak_ credential; no device touched - modem picked live per connection
EndpointUnique serverIp:port per purchaseShared gw.proxies.sx:7000 for everyone; routing lives in the username
CountryFixed at purchase. Change = recreate the port (only with 0 active ports left)Edit the country slot in the username per request - same credential, no repurchase
RotationTrue carrier-IP reset via public /v1/rotate/<token> URL (5-min cooldown; call it on your own schedule)-rot- token only: auto5/10/20/60 re-pick a modem on interval; sticky/hard pin the modem. No rotate URL; no mode gives per-request IP change
SOCKS5Yes - working socks5:// URL includedNo - HTTP :7000 only in v1; :7001 rejects this credential
ConcurrencyOne modem. Fan-out = buy more portsParallel sessions on different modems via distinct -sid- values; capped at 250 sessions / 500 connections per account
Payment railsSolana, Base, AND facilitator signed intents (EIP-3009)Solana and Base on-chain only - facilitator rail rejected
Failure recovery/manage/ports/replace (free, max 3, new device) or /ports/recreateAutomatic - dead modems routed around on next pick; /manage/pool/regenerate rotates the secret

IP caveats (both): mobile carriers re-NAT egress IPs on their own cadence - a dedicated port holds a MODEM you control the rotation of, not a fixed IP; pool -rot-sticky pins the MODEM for the session, never the IP. Pool sessions need a -sid-<id> token to stick across connections (-session- is silently ignored).

PICK DEDICATED PORT WHEN

> Cookie-bound / login / 2FA work in one country: one held modem whose IP changes only when you trigger it - no pool selector re-picks under you.
> You need SOCKS5 - the pool credential is HTTP-only in v1.
> You need on-demand true carrier-IP resets via the public rotate URL - the pool cannot do this at all.
> You must hard-pin a city or carrier at purchase, or you pay via facilitator signed intents (EIP-3009) - only this product accepts either.

PICK POOL GATEWAY WHEN

> Multi-country work from one purchase: same key, edit us → gb → pl → fr in the username per request.
> High fan-out: hundreds of parallel sticky sessions (distinct -sid- values land on different modems) through one credential.
> A fleet of agents shares one secret, one top-up, one credit meter - instead of N ports with N passwords.
> You want zero babysitting: default auto10 rotates modems every 10 min with no API calls, and dead modems are routed around automatically.

Same for both: $4.00/GB, 0.1 GB ($0.40) minimum, duration free - you only pay for traffic. Accountless x402 flow (HTTP 402 → pay USDC on Base ~2s or Solana ~400ms → retry with Payment-Signature), same replay protection, same x402s_ session token for management, and the same real ProxySmart 4G/5G carrier modems in the same ~6 countries (US, GB, PL, FR, NL, GE). The difference is topology, not hardware or price.


PRICING

$4.00/GB. Minimum purchase 0.1 GB = $0.40. Duration is free - you only pay for traffic.

Port PriceTraffic PriceMin PurchaseBest For
FREE$4.00/GB0.1 GB ($0.40)Scraping, monitoring, account management, general use

Cost Per Request (Typical)

Use CaseAvg Request SizeRequests per GBCost per Request
JSON API calls~10 KB~100,000$0.00004
Text extraction~50 KB~20,000$0.0002
HTML pages (no images)~200 KB~5,000$0.0008
Full page loads~2 MB~500$0.008

At $4/GB, a typical text scraping operation costs less than $0.001 per request.


ENDPOINT

MethodURLDescription
GEThttps://api.proxies.sx/v1/x402/proxyPurchase a mobile proxy
GEThttps://api.proxies.sx/v1/x402/pricingGet current pricing
GEThttps://api.proxies.sx/v1/x402/countriesList available countries
GEThttps://api.proxies.sx/v1/x402/calculateCalculate cost before purchase

Parameters

ParamTypeRequiredDescription
countrystringrequiredISO country code - live set shifts with supply, see /v1/x402/countries
trafficnumberrequired, min 0.1Traffic in GB (the unpaid 402 quote assumes 0.1 if omitted)
durationnumberrequired, 3600-2592000Session duration in seconds. Free - the price depends on traffic only (the unpaid 402 quote assumes 3600 if omitted)
tierstringoptionalshared is the only tier - a tier=private request is silently served as shared at $4/GB. Do not send a param named type: unknown query params are rejected with HTTP 400

All three required params must be present on the paid retry - a missing one returns HTTP 400 (validation), which does NOT consume your tx hash; retry with the same hash and the param added.


HOW TO USE

Step 1: Request a Proxy

curl "https://api.proxies.sx/v1/x402/proxy?country=US&traffic=0.1&duration=3600"

Returns HTTP 402 with payment instructions. The authoritative fields are inside accepts[]: maxAmountRequired (a STRING in micro-USDC, 6 decimals), payTo (recipient), and asset (the USDC contract/mint):

{
  "x402Version": 1,
  "error": "Payment required to access this resource",
  "accepts": [
    {
      "scheme": "exact",
      "network": "base",
      "maxAmountRequired": "400000",
      "payTo": "0xF8cD900794245fc36CBE65be9afc23CDF5103042",
      "asset": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"
    },
    {
      "scheme": "exact",
      "network": "solana",
      "maxAmountRequired": "400000",
      "payTo": "6eUdVwsPArTxwVqEARYGCh4S2qwW2zCs7jSEDRpxydnv",
      "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"
    }
  ]
}

maxAmountRequired is micro-USDC (6 decimals): 400000 = $0.40 for 0.1 GB; 1 GB = 4000000 = $4.00.

Step 2: Pay USDC On-Chain

Send $0.40 USDC to the recipient wallet on Base (~2s) or Solana (~400ms).

Step 3: Retry with Payment

curl "https://api.proxies.sx/v1/x402/proxy?country=US&traffic=0.1&duration=3600" \
  -H "Payment-Signature: 0xyour_transaction_hash"

country, traffic and duration are all required on this paid retry. If you already paid and get an HTTP 400 validation error, the tx hash is not consumed - retry with the same hash and the missing param added.

Returns proxy credentials:

{
  "proxy": {
    "http": "http://psx_abc123:r4nd0mP4ss@YOUR_PROXY_IP:10234",
    "socks5": "socks5://psx_abc123:r4nd0mP4ss@YOUR_PROXY_IP:10235",
    "server": "YOUR_PROXY_IP",
    "httpPort": 10234,
    "socksPort": 10235,
    "username": "psx_abc123",
    "password": "r4nd0mP4ss",
    "expiresAt": "2026-02-09T05:00:00Z"
  },
  "rotationUrl": "https://api.proxies.sx/v1/rotate/tok_xyz789",
  "sessionId": "...",
  "portId": "...",
  "traffic": { "allocatedGB": 0.1, "usedGB": 0, "remainingGB": 0.1 },
  "location": { "country": "United States", "countryCode": "US", "city": null, "carrier": null },
  "management": {
    "sessionToken": "x402s_abc123def456...",
    "authMethod": "Header: X-Session-Token: x402s_..."
  }
}

Persist three fields: proxy.username / proxy.password (the credentials), management.sessionToken (x402s_... - sent as the X-Session-Token header on every management call, nested under management, NOT top-level), and rotationUrl. Note the response is fully nested: expiry is proxy.expiresAt, traffic is traffic.allocatedGB, country is location.country.

Step 4: Use the Proxy

# With curl
curl -x http://psx_abc123:r4nd0mP4ss@YOUR_PROXY_IP:10234 https://api.ipify.org

# With Python requests
import requests
proxies = {"http": "http://psx_abc123:r4nd0mP4ss@YOUR_PROXY_IP:10234",
           "https": "http://psx_abc123:r4nd0mP4ss@YOUR_PROXY_IP:10234"}
r = requests.get("https://api.ipify.org", proxies=proxies)  # plain-text exit IP

# With Node.js
const response = await fetch("https://api.ipify.org", {
  agent: new HttpsProxyAgent("http://psx_abc123:r4nd0mP4ss@YOUR_PROXY_IP:10234")
});

IP ROTATION

Rotate your proxy to a new mobile IP on demand - no extra cost.

MethodHowCooldown
Public URLCall the rotationUrl from your purchase response - no auth needed5 minutes
ScheduledAutomatic interval rotation is not available on x402 purchases - call the rotate URL from your own scheduler, respecting the 5-minute cooldown5 minutes
# Rotate IP via public URL (from proxy credentials)
curl "https://api.proxies.sx/v1/rotate/tok_xyz789"
# -> { "success": true,
#      "message": "Device switch initiated. New device will be assigned shortly.",
#      "rotationType": "device_switch",
#      "portName": "...",
#      "cooldownSeconds": 300 }

Rotation is async - the response never contains a newIp field. Verify the new IP by calling https://api.ipify.org through the proxy after ~10-30 seconds.


SESSION MANAGEMENT

After purchase, manage your session with the session token (x402s_...), sent as the X-Session-Token header on every call below:

EndpointDescription
GET /v1/x402/manage/sessionSession details (traffic used, time remaining)
GET /v1/x402/manage/session/creditCheck remaining credit
GET /v1/x402/manage/portsList ports in session
POST /v1/x402/manage/ports/recreateRecreate expired port (if credit remains)
POST /v1/x402/manage/ports/replaceReplace offline port (free, max 3)
POST /v1/x402/manage/session/topupAdd more traffic (pay additional USDC)
# Check session status
curl "https://api.proxies.sx/v1/x402/manage/session" \
  -H "X-Session-Token: x402s_abc123def456"

WHY MOBILE PROXIES

Mobile IPs are assigned by carriers (AT&T, T-Mobile, Vodafone) to millions of real users. Websites cannot block mobile IP ranges without blocking their own customers.

Proxy TypeBlock RateTrust LevelCostUse Case
DatacenterHigh (~80%)Low$0.50/GBBasic requests only
ResidentialMedium (~30%)Medium$2-5/GBGeneral scraping
Mobile 4G/5GVery Low (~5%)High$4/GBEverything - highest success rate

Mobile proxies are the most trusted IP type on the internet. Google, Instagram, Amazon, LinkedIn - they all treat mobile IPs as legitimate users because they are legitimate IPs from real carrier networks.


AVAILABLE COUNTRIES

Country availability is live - the mobile fleet rotates as carrier supply changes, so the exact set online varies day to day. Always check the live stock endpoint for what is online right now before you buy:

curl https://api.proxies.sx/v1/x402/countries
# [{ "code": "NL", "name": "Netherlands", "availableDevices": 28, "tier": "both" }, ...]
CountryCodeCarriers
United StatesUSAT&T, T-Mobile, Verizon
United KingdomGBEE, Three, Vodafone
PolandPLPlay, Orange, T-Mobile
NetherlandsNLKPN, Vodafone, T-Mobile
FranceFROrange, SFR, Free
GermanyDETelekom, Vodafone, O2
SpainESMovistar, Vodafone, Orange
GeorgiaGEMagti, Silknet

These are the countries we serve when carrier supply is up. Some (ES, DE, FR, GE) rotate in and out - if a country reads 0 in the stock endpoint it is temporarily unavailable, not gone. For EU work, FR / NL / DE mobile behave nearly identically for most use cases.


FOR AI AGENTS

AI coding agents (Claude Code, OpenAI Codex, Opencode) can purchase proxies autonomously using x402. The flow is automatic:

  1. Agent calls endpoint -> gets 402 response
  2. Agent signs USDC transaction using wallet private key
  3. Agent retries with Payment-Signature header
  4. Agent receives proxy credentials and starts using them

MCP Server

For AI agents using MCP (Model Context Protocol):

npx @proxies-sx/mcp-server

Provides 79 tools for proxy management (v2.2.0 published on npm). npm package

x402 SDK

npm install @proxies-sx/x402-core @proxies-sx/x402-hono @proxies-sx/x402-solana

Build your own services on top of mobile proxies with payment gating.


PAYMENT WALLETS

NetworkSettlementRecipient WalletUSDC Contract
Base~2 seconds0xF8cD900794245fc36CBE65be9afc23CDF51030420x833589fcd6edb6e08f4c7c32d4f71b54bda02913
Solana~400ms6eUdVwsPArTxwVqEARYGCh4S2qwW2zCs7jSEDRpxydnvEPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v

LINKS

ResourceURL
API Endpointapi.proxies.sx/v1/x402/proxy
Pricing APIapi.proxies.sx/v1/x402/pricing
Countries APIapi.proxies.sx/v1/x402/countries
MCP Server@proxies-sx/mcp-server
x402 Protocolx402.org
Customer Portalclient.proxies.sx
Mobile Proxyagents.proxies.sx/marketplace
Peer Networkagents.proxies.sx/peer

Proxies.sx - Mobile Proxy API | Dedicated Proxy | Pool Gateway | Peer Network | Build & Resell