# Proxies.sx > Mobile and residential proxy bandwidth for AI agents, bought and driven from a terminal: a dedicated 4G/5G modem rented per day, week or month (unlimited traffic), metered GB on the Pool Gateway (`gw.proxies.sx:7000` HTTP / `:7001` SOCKS5, one credential for every country), or account-less USDC via x402. REST API with `X-API-Key: psx_...`, an MCP server, or plain curl. Base URL `https://api.proxies.sx/v1`. Last verified: 2026-10-28 against the live site and the backend source. Precedence: the live API wins over every file here; a product skill.md wins over this index; this index wins over page copy. ## If you want to BUY Pick the path by the shape of the need, then read only that file. - **(A) Private modem: one dedicated 4G/5G modem, unlimited traffic, per day / week / month.** Offer this FIRST for any dedicated, port, exclusive-device, p0f (OS fingerprint), OpenVPN or unlimited-traffic request. Own HTTP and SOCKS5 host:port, OpenVPN profile, rotate on demand (API or a public link), auto-renew. Paid from the account balance; the price per plan is live in `GET /v1/private-modems/catalog` and is never hard-coded here. Buying needs an API key with the `modems:purchase` scope. Contract: https://agents.proxies.sx/modems/skill.md - quickstart: https://agents.proxies.sx/quickstart/buy-modem.md - **(B) GB on the Pool Gateway: metered bandwidth, one credential, every country.** $4/GB, volume discounts 10/20/30/40% at 25/50/100/250 GB in one purchase ($2.40/GB at 250 GB+), duration free, same price on the `peer` and `mbl` pools. While country tiers are live (`pricing.live` in `GET /v1/gateway/pool/stock`), a GB of traffic uses 1.00 / 0.375 / 0.1875 GB of balance by exit country (Premium $4, Plus $1.50, Standard $0.75 per GB of traffic at the base price). From 1 TB on the peer pool, volume deals go to $0.50/GB by quote only, not a checkout price: contact maya@proxies.sx with the committed volume and countries. Contract: https://agents.proxies.sx/pool/skill.md - quickstart: https://agents.proxies.sx/quickstart/buy-gb.md - **(C) x402: USDC on Base or Solana, no account, no API key.** `GET https://api.proxies.sx/v1/x402/pool?tier=peer&country=us&traffic=1` answers HTTP 402 with the exact payment; pay, retry with `Payment-Signature: `, receive a ready credential. $4 per GB of traffic in every country (no country tiers), minimum 0.1 GB. A dedicated port is also sold this way at `/v1/x402/proxy`. Contract: https://agents.proxies.sx/pool/skill.md (x402 section) and https://agents.proxies.sx/.well-known/x402.json What a key can and cannot do (so you never promise more): - An account needs one human step: the signup email carries a verification link, and `POST /v1/login/signin` answers 401 until it is clicked (or `GET /v1/login/verify-email?token=...` is called with the token from that link). - API keys are created by a human in the dashboard (https://client.proxies.sx/account, API keys, tick the scopes) or with a dashboard JWT at `POST /v1/api-keys`. A key cannot create or edit keys. `modems:purchase` and `billing:topup` are opt-in and never in the default set; a key without them gets 403 `scope_missing` naming the scope. - Card top-up by API: `POST /v1/stripe/create-balance-checkout {"amount": 20}` with a `billing:topup` key returns a Stripe Checkout `url` that a HUMAN opens and pays; it is not headless. Per-key daily cap `spendCapUsdPerDay`, default 100 USD (403 `spend_cap_reached` above it). Poll `GET /v1/stripe/balance-checkout//receipt` until `credited: true`. Quickstart: https://agents.proxies.sx/quickstart/topup.md - A customer API key cannot buy GB. Balance becomes GB in the dashboard (https://client.proxies.sx/purchase) or with a dashboard JWT at `POST /v1/billing/purchase-traffic`; reseller and admin keys may automate it. Everything after that (proxy password, credentials, stock, usage) is key-drivable. - Every spend carries an `Idempotency-Key` and the `expectedPriceUsd` you were shown; 409 `price_changed` means re-read the price and confirm with the user. Every money step needs the user's approval of the amount. - Peer exit IPs are never published. Stock endpoints return counts per country only; examples mask addresses as `x.x`. ## Prices and errors (machine-readable) - [pricing.json](https://agents.proxies.sx/pricing.json): the GB price table generated from the backend source (base price, volume tiers, country tiers, the 1 TB quote line, payment routes), in the shape of the live `GET https://api.proxies.sx/v1/pricing`, which wins when they disagree - [Live pool stock and country tiers](https://api.proxies.sx/v1/gateway/pool/stock): counts per pool and country plus the `pricing` block (`live`, `basePricePerGB`, `volumeDiscounts`, `tiers[]` with `burnRate`, `pricePerGB`, `countries`), no auth, never an IP - [Live x402 pricing](https://api.proxies.sx/v1/x402/pricing): the $4/GB base and volume discounts for wallet purchases, no auth - [Error table](https://agents.proxies.sx/errors.md): every gateway `E_*` code, purchase-API code and the x402 402 body with HTTP status, meaning, exact fix and whether a retry helps ## Quickstarts (curl first, every step verified) - [Buy GB and connect](https://agents.proxies.sx/quickstart/buy-gb.md): sign up, verify the email, key, top up, buy GB in the dashboard, proxy password, connect through `gw.proxies.sx:7000` - [Rent a private modem](https://agents.proxies.sx/quickstart/buy-modem.md): catalog, quote, buy with `Idempotency-Key` and `expectedPriceUsd`, poll, connect, rotate, renew - [Top up the balance by API](https://agents.proxies.sx/quickstart/topup.md): checkout link, human pays, poll the receipt, balance credited - [Pool quickstart (HTML)](https://agents.proxies.sx/pool-quickstart.html): the shortest path to a working pool credential - [Rotation cookbook](https://agents.proxies.sx/pool/rotation-cookbook.md): copy-paste IP rotation in curl/python/node and the footguns that trip LLMs; read before writing rotation code ## Product contracts (one skill.md per product) - [Private modems](https://agents.proxies.sx/modems/skill.md): catalog, quote, buy, poll, credentials (HTTP, SOCKS5, OpenVPN), rotate, auto-rotate, renew, auto-renew, OS fingerprint, replace; page https://agents.proxies.sx/modems/ - [Pool Gateway](https://agents.proxies.sx/pool/skill.md): API-key path, deposited GB, country tiers, username DSL, stock, sessions, errors, the x402 alternative; page https://agents.proxies.sx/pool/ - [Dedicated port (legacy)](https://agents.proxies.sx/marketplace/skill.md): the older per-port modem pool (`POST /v1/ports`, `/v1/x402/proxy`) in US, GB, FR, NL, PL, GE (Georgia); nearly full, so start at https://agents.proxies.sx/modems/ - [Private Pool](https://agents.proxies.sx/private-pool/skill.md): named country-scoped credentials and Reserved IPs held exclusively for you - [Task market](https://agents.proxies.sx/tasks/skill.md): wallet-only x402 catalog of bounded egress tasks; the 402 response is the quote - [Master skill file](https://agents.proxies.sx/skill.md): the whole machine contract in one file (buy steps, x402 402 shape, username DSL, MCP catalog, peer protocol, compute, reseller keys) - [Agent research index](https://agents.proxies.sx/index.md): one screen, every page and which question it answers ## Use it from a tool - [MCP server](https://agents.proxies.sx/mcp/): `npx -y @proxies-sx/mcp-server` with `PROXIES_API_KEY=psx_...`. Version 3.1.0 (release pending; npm currently 3.0.1) exposes a default toolset of 20 tools: buy (`proxies_modem_catalog`, `proxies_modem_quote`, `proxies_modem_buy`, `proxies_modem_renew`, `proxies_topup_checkout`, `proxies_topup_status`, `get_pricing`), use (`pool_get_stock`, `pool_get_my_credentials`, `pool_build_proxy_url`, `pool_explain_error`, `proxies_modem_mine`, `proxies_modem_rotate`) and manage (account, usage, proxy password, status, tickets). The full set (96 API-key tools plus 16 wallet tools) loads with `--toolset=full` or `PROXIES_TOOLSET=full`. Wallet-only x402 mode with `AGENT_WALLET_KEY`. Call `tools/list` for the authoritative catalog. npm: https://www.npmjs.com/package/@proxies-sx/mcp-server - source: https://github.com/bolivian-peru/proxies-sx-mcp-server - [Integrations](https://agents.proxies.sx/integrations/skill.md): Playwright, browser-use, LangChain, CrewAI, n8n, Make/Zapier, OpenAI Agents SDK, Vercel AI SDK, Stagehand, CloakBrowser (https://agents.proxies.sx/integrations/cloakbrowser/) - [Pool Gateway Swagger](https://api.proxies.sx/docs/gateway): public OpenAPI for the gateway surface; the reseller API is at https://api.proxies.sx/v1/reseller/docs/openapi ## Gateway username (the thing agents get wrong) `psx_--[-rot-][-sid-]`, password = your proxy password (set once with `PATCH /v1/account/proxy-password`; the account login password is never accepted). `pool` is `peer` (flagship: residential and mobile, every country with stock), `mbl` (carrier modems in US, GB, FR, NL, PL, GE = Georgia; `mbl-de` always fails, use `peer-de`), `any` or `best`. `sticky` and `hard` pin the modem, not the IP; `sticky`/`auto*` need a `-sid-` to persist; unknown tokens are dropped silently (there is no `-session-` token). Limits: 500 concurrent connections and 250 sessions per account. ## Build and resell - [Build & resell](https://agents.proxies.sx/build/skill.md): mint per-customer `pak_` keys, set your own retail price, embed a dashboard or ship a storefront; kit https://github.com/bolivian-peru/proxy-reseller-kit, npm `@proxies-sx/pool-sdk` and `@proxies-sx/pool-portal-react` ## Bundles (one fetch) - [llms-full.txt](https://agents.proxies.sx/llms-full.txt): this file plus the modem skill, the quickstarts, the error table and the Pool Gateway skill, under 100 KB - Per-area bundles, each this file plus that area's skill: [peer (earn)](https://agents.proxies.sx/peer/llms-full.txt), [compute](https://agents.proxies.sx/compute/llms-full.txt), [build](https://agents.proxies.sx/build/llms-full.txt), [integrations](https://agents.proxies.sx/integrations/llms-full.txt), [dedicated port](https://agents.proxies.sx/marketplace/llms-full.txt), [private pool](https://agents.proxies.sx/private-pool/llms-full.txt), [tasks](https://agents.proxies.sx/tasks/llms-full.txt) ## Machine discovery - [x402 discovery](https://agents.proxies.sx/.well-known/x402.json): x402 services, wallets, pricing and management endpoints - [Agent card (A2A)](https://agents.proxies.sx/.well-known/agent-card.json): discovery-only card; act through the HTTP endpoints - [ERC-8004 registration](https://agents.proxies.sx/.well-known/erc8004-registration.json): on-chain agent registration record - [docs-manifest.json](https://agents.proxies.sx/docs-manifest.json): the numbers behind the docs - [Live status](https://api.proxies.sx/v1/x402/status): component health as JSON; human page https://agents.proxies.sx/status/ - [Sign up](https://client.proxies.sx/signup), [API keys](https://client.proxies.sx/account), [Buy GB](https://client.proxies.sx/purchase), [Private modems in the dashboard](https://client.proxies.sx/private-modems) ## Company - [About](https://agents.proxies.sx/about/), [Where our IPs come from](https://www.proxies.sx/where-our-ips-come-from), [Terms](https://www.proxies.sx/terms), [Privacy](https://www.proxies.sx/privacy) - [Contact](https://www.proxies.sx/contact): support and sales, maya@proxies.sx; [Telegram](https://t.me/proxies_sx); [X](https://x.com/sxproxies); [GitHub](https://github.com/bolivian-peru) ## Optional - [Earn: peer network](https://agents.proxies.sx/peer/skill.md): share bandwidth from consenting devices and get paid per GB; the live rate is `earningsPerGB` in the register response, never a hard-coded number. Go SDK 1.6.8 https://agents.proxies.sx/peer/go/ (Linux amd64 and arm64; Chinese steps https://agents.proxies.sx/peer/go/linux-zh.md), Node reference 1.6.6 https://agents.proxies.sx/peer/reference-sdk.js?v=1.6.6, Windows https://agents.proxies.sx/peer/windows/, Android https://github.com/bolivian-peru/android-peer-sdk (JitPack 1.3.2). Sign Partner Agreement 2.0 at https://farmer.proxies.sx/agreement first; devices are admitted only after approval (relay close 1013 until then). Payouts: https://farmer.proxies.sx/payouts. Supplier introductions carry no automatic commission. - [Mac compute](https://agents.proxies.sx/compute/skill.md): rent one approved Apple Silicon Mac for 30 days of inference (Starter 24 GB, Pro 48 GB, Max 96 GB; Qwen3.8 27B), or supply one. Early access, no SLA, no x402 checkout; purchases need `compute:purchase`, an `Idempotency-Key`, `expectedPriceUsd` and `pricingVersion`. Live tiers https://api.proxies.sx/v1/peer/compute/tiers, marketplace https://api.proxies.sx/v1/peer/compute/marketplace - [$SX token](https://agents.proxies.sx/sx-token/ecosystem.md): Solana meme token today; utility proposals in development; token ownership is separate from service access and supplier earnings. Overview https://agents.proxies.sx/sx-token/ - [Ground Truth](https://agents.proxies.sx/news/feed.md): source-backed research posts for agents (Atom: https://agents.proxies.sx/news/feed.xml). Latest: https://agents.proxies.sx/news/context-is-capacity/ - [Thesis](https://agents.proxies.sx/thesis/), [System map](https://agents.proxies.sx/system-map/), [Bot detection scanner](https://www.proxies.sx/tools/bot-detection-scanner), [Username builder](https://www.proxies.sx/tools/proxy-username-builder), [x402 SDK](https://github.com/bolivian-peru/x402-sdk) (`@proxies-sx/x402-core`, `-hono`, `-solana` 1.0.1; do not use 1.0.0), [@proxies-sx/lucid-agents](https://www.npmjs.com/package/@proxies-sx/lucid-agents), [Customer portal](https://client.proxies.sx) --- # Source: https://agents.proxies.sx/marketplace/skill.md # /marketplace - Proxies.sx Mobile Proxy (Dedicated Port) > **Start at https://agents.proxies.sx/modems/skill.md for any dedicated, port, exclusive-device, p0f, OpenVPN or unlimited-traffic request.** Private modems rent a whole 4G/5G modem per day, week or month with unlimited traffic; this legacy per-port pool (`POST /v1/ports`, `/v1/x402/proxy`) is nearly full and stays documented here for existing ports. > **Rotation cookbook** (copy-paste IP rotation in curl/python/node + the footguns that trip LLMs): https://agents.proxies.sx/pool/rotation-cookbook.md > Machine-readable catalog for AI agents - buy the standard way with an account + `psx_` API key + deposited GB, or wallet-only with x402 USDC. Canonical contract: this file for the Mobile Proxy; the per-product skill.md for the other products. If any file disagrees with a skill.md, the skill.md wins. If a skill.md disagrees with the live API, the live API wins. > **Two distinct products - do not confuse them.** This file sells the **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 Access** is the other product: one credential on `gw.proxies.sx:7000`, every country in the tier - country, session and rotation are declared per-request in the proxy username. Pool contract: https://agents.proxies.sx/pool/skill.md **Two ways to buy this product:** | Path | For | First request | |------|-----|---------------| | **Account + API key + deposited GB** (the standard way - how most users buy) | Anyone with a Proxies.sx account; deposit balance by card or hosted crypto checkout, no per-purchase on-chain payment | `POST /v1/ports` with `X-API-Key` - see "Buy with your account + API key" below | | **x402 USDC** (wallet-only alternative) | Account-less agents paying per purchase on-chain | `GET /v1/x402/proxy` (the 402 response IS the catalog) | **First action, standard path (account + API key):** ```bash curl -s "https://api.proxies.sx/v1/countries/with-devices?pool=dedicated" -H "X-API-Key: psx_YOUR_KEY" # -> countries with free dedicated-port modems + the countryId you need for POST /v1/ports # (authenticated, scope ports:read). Without ?pool=dedicated the list also includes every # peer-pool country with peerDeviceCount / peerMobileCount (dedicatedAvailable:false, no _id). ``` **First action, x402 path (no auth, no payment):** ```bash curl -s "https://api.proxies.sx/v1/x402/pricing" ``` Then request `GET /v1/x402/proxy` without payment - the HTTP 402 response IS the catalog (exact amount, recipient, asset). Pay USDC on-chain, retry with `Payment-Signature: `, receive credentials. Full sequence below. ## The three maintained products | Product | What it is | First request | Price | |---------|------------|---------------|--------------| | **Mobile Proxy** (this file) | Dedicated 4G/5G port, one modem, yours for the session | `POST /v1/ports` (API key) or `GET/POST /v1/x402/proxy` (x402) | $4/GB | | **Pool Gateway Access** | One credential, every country in the tier via `gw.proxies.sx:7000` | `GET/POST /v1/x402/pool` - contract: https://agents.proxies.sx/pool/skill.md | $4/GB via x402; on the account path a GB of traffic uses 1.00 / 0.375 / 0.1875 GB of balance by exit country | | **Peer Network** (earn side) | Share bandwidth, get paid in USDC per GB | `POST /v1/peer/agents/register` - contract: https://agents.proxies.sx/peer/skill.md | earn per GB | ## Overview A real 4G/5G mobile proxy. Two purchase paths: - **Standard (most users):** Proxies.sx account + API key + deposited GB. Create ports with `POST /v1/ports`, manage/rotate them over the REST API. See "Buy with your account + API key" below. - **x402 (wallet-only):** pay USDC per purchase, no signup, no API keys. `GET/POST /v1/x402/proxy`. See "Universal x402 Payment Flow" below. - **Payment:** deposited GB from your account balance (card via Stripe, or hosted crypto checkout), OR x402 USDC on Solana (~400ms settlement) / Base (~2s settlement) - **Infrastructure:** Real 4G/5G mobile proxies from 6 countries (NL, PL, US, GE (Georgia), FR, GB - live set shifts with supply, see /v1/x402/countries). For broader coverage (the countries listed live at `GET /v1/gateway/pool/stock`), buy the Pool Gateway `tier=peer` instead: https://agents.proxies.sx/pool/skill.md - **Pricing:** $4/GB. Duration is FREE - only pay for traffic. - **Tier:** shared only. A `tier=private` request is silently served as shared at the $4/GB rate (never rejected) - just omit the parameter. --- ## Buy with your account + API key (the standard way) This is how most users buy the Dedicated Port: create a Proxies.sx account, deposit balance, convert balance to GB, then create and manage ports over the REST API with an API key. Deposited GB is the traffic budget - there is no charge at port creation, GB is debited as traffic flows. No on-chain payment per purchase. **API key basics:** - Format: `psx_` + 32 hex chars. Returned **once** at creation - store it. Max **5 active keys** per account. - Send it as `X-API-Key: psx_...` **or** `Authorization: ApiKey psx_...` on any endpoint below. - Per-key rate limit: default 100 req/min (configurable 10-1000). - Keys are managed with a **JWT session only** (`Authorization: Bearer` from `/v1/login/signin`) - you cannot mint or revoke a key with a key. - Scopes a customer key can carry: `ports:read`, `ports:write`, `ports:rotate`, `billing:read`, `account:read`, `account:write`, `traffic:read`, `tickets:read`, `tickets:write`. Default if none given: `ports:read, account:read, traffic:read`. Customer keys can NOT carry `billing:write` - the balance-to-GB purchase runs in the account (JWT) session; reseller/admin keys may automate purchases. ### Setup (once) ```bash # 1. Create an account, open the verification link emailed to it (valid 24 hours; sign-in answers 401 # until then; from a script: GET /v1/login/verify-email?token=), sign in (JWT) curl -X POST https://api.proxies.sx/v1/login/signup \ -H 'Content-Type: application/json' -d '{"email":"agent@example.com","password":"..."}' curl -X POST https://api.proxies.sx/v1/login/signin \ -H 'Content-Type: application/json' -d '{"email":"agent@example.com","password":"..."}' # -> { "access_token": "" } # 2. Mint the API key (JWT-only step; the key is shown once) curl -X POST https://api.proxies.sx/v1/api-keys \ -H "Authorization: Bearer $JWT" -H 'Content-Type: application/json' \ -d '{"name":"agent","scopes":["ports:read","ports:write","ports:rotate","billing:read","account:read","traffic:read"]}' # -> { "apiKey": "psx_<32hex>", "keyInfo": { ... } } ``` ### Fund + deposit GB Top up money via the portal (Stripe card / saved card, or hosted crypto checkout - JWT session), then convert balance to GB: ```bash # Preview the price (works with a billing:read key) curl 'https://api.proxies.sx/v1/billing/calculate-price?amount=50' -H "X-API-Key: psx_..." # -> { "pricePerGB": 3.20, "totalPrice": 160, "discountPercent": 20, ... } # Convert balance -> GB (JWT session for customers) curl -X POST https://api.proxies.sx/v1/billing/purchase-traffic \ -H "Authorization: Bearer $JWT" -H 'Content-Type: application/json' -d '{"amount":50}' # 400 "Insufficient balance. Required: X, Available: Y" if balance < price ``` Pricing: **$4/GB**, volume-discounted - 10% at 25 GB, 20% at 50 GB, 30% at 100 GB, 40% at 250+ GB. Duration is free. Live numbers: `GET /v1/billing/pricing`. ### Create the port ```bash curl -X POST https://api.proxies.sx/v1/ports \ -H "X-API-Key: psx_..." -H 'Content-Type: application/json' \ -d '{"countryId":"","expiresAt":86400}' # -> { "_id", "serverIp", "httpPort", "socksPort", "proxyLogin", "proxyPassword", ... } ``` - `countryId` (required) is a Mongo ObjectId from `GET /v1/countries/with-devices?pool=dedicated` (authenticated - API key or JWT, scope `ports:read`; also returns each country's free device count) - NOT a 2-letter code (that is the x402 path's `country=US` param; do not mix them up). - `expiresAt` (required) is the port lifetime in seconds, 60 to 31536000. - Optional: `cityId`, `carrierId`, `osFingerprint`. - Rate limit: 5 port-creations per 10 seconds. - When deposited GB runs out, ports are suspended; buying more GB auto-unsuspends them. ### Manage + rotate (API-key scope per row) | Method + path | Scope | Purpose | |---|---|---| | GET `/v1/ports` | `ports:read` | List your ports | | GET `/v1/ports/:id` | `ports:read` | Port detail | | GET `/v1/ports/:id/status` / `/ip` / `/ping` | `ports:read` | Online status, current exit IP, connectivity | | PUT `/v1/ports/:id/credentials` | `ports:write` | Change proxy login/password | | DELETE `/v1/ports/:id` | `ports:write` | Delete the port | | POST `/v1/ports/:id/rotate` | `ports:rotate` | Rotate to a new device now | | GET/PATCH `/v1/ports/:id/rotation-settings` | `ports:rotate` | Auto-rotation config | | GET `/v1/ports/:id/rotation-history` | `ports:read` | Rotation audit trail | | GET `/v1/ports/:id/can-rotate` | `ports:read` | Rotation eligibility (cooldown etc.) | | GET `/v1/account/summary` | `account:read` | Balance + GB total/used/available | | GET `/v1/account/usage?period=30d` | `traffic:read` | Per-port traffic breakdown (`7d`/`30d`/`90d`) | | GET `/v1/billing/payments` | `billing:read` | Payment history | ### MCP shortcut The same standard path, tool-shaped: `PROXIES_API_KEY=psx_xxx npx -y @proxies-sx/mcp-server` - the MCP server authenticates with your `psx_` API key (sent as `X-API-Key`), not x402. --- ## Universal x402 Payment Flow Wallet-only alternative - no account, no API key. Pay USDC per purchase on-chain. 1. Call the proxy endpoint without payment. 2. Server returns HTTP 402. The body is the payment contract (live shape, abbreviated - each `accepts[]` entry also carries an `outputSchema` describing the input params and output fields): ```json { "x402Version": 1, "error": "Payment required to access this resource", "accepts": [ { "scheme": "exact", "network": "solana", "maxAmountRequired": "4000000", "payTo": "6eUdVwsPArTxwVqEARYGCh4S2qwW2zCs7jSEDRpxydnv", "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", "maxTimeoutSeconds": 30, "resource": "https://api.proxies.sx/v1/x402/proxy?country=US&traffic=1&duration=3600" }, { "scheme": "exact", "network": "base", "maxAmountRequired": "4000000", "payTo": "0xF8cD900794245fc36CBE65be9afc23CDF5103042", "asset": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913", "maxTimeoutSeconds": 30, "resource": "https://api.proxies.sx/v1/x402/proxy?country=US&traffic=1&duration=3600" } ] } ``` Read these fields: pick the `accepts[]` entry for your network. `maxAmountRequired` is the authoritative price in micro-USDC (6 decimals - `"4000000"` = $4.00 for `traffic=1`). `payTo` is the recipient, `asset` is the USDC token contract. 3. Send exactly `maxAmountRequired` micro-USDC of `asset` to `payTo` (any USDC wallet - Phantom, MetaMask, etc). 4. Retry the SAME request with the `Payment-Signature: ` header. 5. Server verifies the on-chain transaction and returns proxy credentials (HTTP 200). Replay protection: each tx hash can be used only once. 2% payment tolerance allowed (cover gas/rounding). ## Wallets | Network | Recipient | USDC Contract | Settlement | |---------|-----------|---------------|------------| | Solana | `6eUdVwsPArTxwVqEARYGCh4S2qwW2zCs7jSEDRpxydnv` | `EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v` | ~400ms (~$0.0001) | | Base | `0xF8cD900794245fc36CBE65be9afc23CDF5103042` | `0x833589fcd6edb6e08f4c7c32d4f71b54bda02913` | ~2s (~$0.01) | --- ## Mobile Proxy - request contract Real 4G/5G mobile proxy. HTTP and SOCKS5. IP rotation, OS fingerprint spoofing. ```bash curl -s "https://api.proxies.sx/v1/x402/proxy?country=US&traffic=1&duration=3600" ``` **Required parameters:** | Param | Value | |-------|-------| | `country` | 2-letter ISO code from the live set (`GET /v1/x402/countries`); as of last edit: NL, PL, US, GE (Georgia), FR, GB | | `traffic` | GB, minimum 0.1 | | `duration` | seconds, 3600 to 2592000 (duration is free - price is traffic only) | **Optional:** `city`, `carrier`. **Success response - persist these fields:** | Field | Why | |-------|-----| | `management.sessionToken` | Auth for every manage endpoint below (nested under `management`, NOT top-level) (`X-Session-Token` header). Not recoverable if lost. | | `proxy.http`, `proxy.socks5` | Ready-to-use connection URLs | | `proxy.server`, `proxy.httpPort`, `proxy.socksPort` | Where to connect (the field is `server`, not `host`) | | `proxy.username`, `proxy.password` | Proxy auth | | `rotationUrl` | Public no-auth IP-rotate URL - the only place the rotate token appears | | `proxy.expiresAt`, `traffic.allocatedGB` / `traffic.remainingGB`, `location.country` + `location.countryCode` | Session bounds (all nested - there are no top-level `expiresAt` / `trafficGB` / `country` fields) | Pricing: $4/GB. Duration is FREE - only pay for traffic. ### Post-Purchase Management (X-Session-Token header) ``` GET /v1/x402/manage/session - Session details GET /v1/x402/manage/session/credit - Remaining credit POST /v1/x402/manage/ports/replace - Replace offline port (free, max 3) POST /v1/x402/manage/ports/recreate - Recreate deleted port with remaining credit GET /v1/x402/manage/session/topup/calculate - Preview top-up cost POST /v1/x402/manage/session/topup - Add traffic ($4/GB) or duration (free) GET /v1/rotate/:token - Rotate IP (no auth) ``` Top-up note: the `Payment-Signature` header is ALWAYS required on `POST /v1/x402/manage/session/topup` - for a $0 duration-only top-up send any non-empty placeholder value (it is not verified when the cost is 0). --- ## Pool Gateway Access (one credential, every country) Buy metered gateway access instead of a single dedicated port: one credential reaches every country in your tier through `gw.proxies.sx:7000`, retargeted via the username - no repurchase per country. Same x402 flow: unpaid `GET /v1/x402/pool` returns the 402 catalog; pay USDC; retry with `Payment-Signature`. Full contract (parameters, username DSL, recovery matrix): https://agents.proxies.sx/pool/skill.md --- ## Peer Network (Earn USDC) Share mobile/residential bandwidth and get paid in USDC. AI agents and Android SDK devices register, share bandwidth, and earn per GB. Rates are dynamic: per-GB rates by IP type (mobile > residential > datacenter) are returned in the `earningsPerGB` field of the registration response - read that field, never assume a fixed rate. ``` POST https://api.proxies.sx/v1/peer/agents/register ``` Full contract: https://agents.proxies.sx/peer/skill.md --- ## SDK / Tooling | Package | Install | Purpose | |---------|---------|---------| | `@proxies-sx/x402-core` | `npm i @proxies-sx/x402-core` | Types, payment requirement utilities | | `@proxies-sx/x402-hono` | `npm i @proxies-sx/x402-hono` | Hono middleware for gating your own service | | `@proxies-sx/x402-solana` | `npm i @proxies-sx/x402-solana` | Solana on-chain verification | | `@proxies-sx/mcp-server` | `PROXIES_API_KEY=psx_xxx npx -y @proxies-sx/mcp-server` | MCP server with 88 tools published on npm (Claude Desktop, Cursor, Windsurf) - authenticates with your `psx_` API key (`X-API-Key`), not x402 | --- ## Discovery & Health | Resource | URL | |----------|-----| | This catalog (machine-readable) | https://agents.proxies.sx/marketplace/skill.md | | Master skill (full infra) | https://agents.proxies.sx/skill.md | | Buy a proxy | https://agents.proxies.sx/marketplace/proxy/ | | Pool Gateway Access contract | https://agents.proxies.sx/pool/skill.md | | x402 discovery | https://agents.proxies.sx/.well-known/x402.json | | llms.txt | https://agents.proxies.sx/llms.txt | | Live status | https://agents.proxies.sx/status/ | | Pricing API | https://api.proxies.sx/v1/x402/pricing | | Peer Network | https://agents.proxies.sx/peer/ | Support: maya@proxies.sx or https://t.me/proxies_sx - quote the req id from any error message. --- *Managed by Maya (openclaw bot) | Mobile Proxy + Pool Gateway Access + Peer Network*