WHAT: a first-party catalog of tasks our production infrastructure fulfills today - multi-country egress, carrier-modem egress, dedicated mobile proxy ports, carrier-IP resets - each one purchasable per invocation by any agent that holds USDC. Plus the reverse rail: sell bandwidth INTO the network, wallet-only, and get paid in USDC.
WHY: x402 makes agents payable per invocation. Data gathering is the first task class agent markets externalize - an agent that can pay $0.40 for exactly the egress it needs, exactly when it needs it, never opens an account. Every task here settles on-chain in ~2s (Base) or ~400ms (Solana) and returns a deterministic contract: what you get, what it costs, and what happens when something breaks.
FIRST ACTION - one copy-paste curl, no auth, no payment. The 402 response is the full machine-readable quote (price in micro-USDC, recipient wallets, USDC contracts):
curl -s "https://api.proxies.sx/v1/x402/pool?tier=peer&traffic=1"
Machine contract: /tasks/skill.md · Machine catalog: /tasks/manifest.json. 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.
Five tasks are live. All prices verified against the live API on 2026-07-21. Everything below is fulfilled by our own production infrastructure - this catalog lists no third-party services.
| Task | What you get | Price | Endpoint | |
|---|---|---|---|---|
| Multi-country egress (peer tier) | One metered credential routing residential + mobile IPs across ~82 countries with live stock. Retarget country per request in the proxy username. | $4/GB, volume-discounted to $2.40/GB at 250 GB+. Min 0.1 GB = $0.40 | GET/POST /v1/x402/pool (tier=peer) |
LIVE |
| Carrier-modem egress (mbl tier) | Same credential model, quality-locked to production 4G/5G carrier modems we operate end-to-end in 6 countries: US, GB, FR, NL, PL, GE (Georgia). 10-15 Mbps, sub-1s TTFB. | Same: $4/GB, min 0.1 GB = $0.40 | GET/POST /v1/x402/pool (tier=mbl) |
LIVE |
| Dedicated mobile proxy port | One pinned carrier modem with its own host:port. HTTP + SOCKS5 URLs, plus a public rotate URL for true carrier-IP resets. | $4/GB, min 0.1 GB = $0.40. Port itself free, duration free | GET/POST /v1/x402/proxy |
LIVE |
| Carrier-IP reset | True carrier-side IP reset for a purchased dedicated port. Public URL, no auth beyond the token, 5-minute cooldown. | FREE with any dedicated port | GET /v1/rotate/:token |
FREE |
| Sell bandwidth (the earn rail) | Register a device wallet-only, forward TCP bytes, get paid in USDC on Solana. Revenue-share earnings, set by Proxies.sx and customized per partner - no fixed public percentage; the live per-GB rate is returned at registration in earningsPerGB. Min payout $5. |
You EARN - no spend | POST /v1/peer/agents/register |
EARN |
Peer coverage (~82 countries) and mbl coverage (6 countries) are live data - read counts (never IPs) from /v1/gateway/pool/stock and /v1/x402/countries before targeting a country.
Every paid task on this page uses the same loop. Once your agent implements it, every task is one function call.
curl -s "https://api.proxies.sx/v1/x402/pool/pricing" # tier catalog + networks + username DSL
curl -s "https://api.proxies.sx/v1/x402/pricing" # dedicated-port pricing
Request the task without payment. Captured live from GET /v1/x402/pool?tier=peer&traffic=1 on 2026-07-21 (lightly truncated):
{
"x402Version": 1,
"error": "Payment required to access this resource",
"accepts": [
{
"scheme": "exact",
"network": "base",
"maxAmountRequired": "4000000",
"resource": "https://api.proxies.sx/v1/x402/pool",
"description": "Pool Gateway peer access: 1 GB at $4/GB = $4 USDC. One credential, every country in the tier, metered + capped.",
"payTo": "0xF8cD900794245fc36CBE65be9afc23CDF5103042",
"asset": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
"maxTimeoutSeconds": 30
},
{
"scheme": "exact",
"network": "solana",
"maxAmountRequired": "4000000",
"payTo": "6eUdVwsPArTxwVqEARYGCh4S2qwW2zCs7jSEDRpxydnv",
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"
}
],
"pool": {
"tier": "peer",
"pricePerGB": 4,
"trafficGB": 1,
"amountUSDC": 4,
"stockUrl": "https://api.proxies.sx/v1/gateway/pool/stock",
"management": {
"credit": "GET /v1/x402/manage/pool/credit",
"topup": "POST /v1/x402/manage/pool/topup",
"usage": "GET /v1/x402/manage/pool/usage",
"regenerate": "POST /v1/x402/manage/pool/regenerate",
"connection": "GET /v1/x402/manage/pool/connection"
}
}
}
maxAmountRequired is micro-USDC (6 decimals): "4000000" = $4.00 = 1 GB. Trust accepts[].maxAmountRequired / payTo / asset and the pool block. The full live body also carries an accepts[].outputSchema - on POOL purchases ignore it (it is inherited from the dedicated-port product and describes that product's inputs/outputs, not the pool's - see /pool/skill.md). The purchase parameter is traffic (GB), not "gb".
| Network | Chain | Settlement | Gas |
|---|---|---|---|
| Base (EVM) | eip155:8453 | ~2 seconds | ~$0.01 |
| Solana | solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp | ~400ms | ~$0.0001 |
Send the exact maxAmountRequired to payTo in the asset USDC contract. Direct settlement to our wallet - we never custody funds and there is no escrow layer. A 2% underpay tolerance absorbs gas dust.
curl -s "https://api.proxies.sx/v1/x402/pool?tier=peer&traffic=1" \
-H "Payment-Signature: YOUR_TX_HASH"
The response carries working proxy credentials and a sessionToken (format x402s_...). Persist THREE things: the credential password (pak_ key for pool, proxy password for a port), the sessionToken, and your tx hash.
# Pool tasks (X-Session-Token header)
GET /v1/x402/manage/pool/credit # remaining GB, live metered
POST /v1/x402/manage/pool/topup # more USDC -> more GB (new tx hash)
GET /v1/x402/manage/pool/usage # per-day usage series
POST /v1/x402/manage/pool/regenerate # rotate the secret, keep the username
GET /v1/x402/manage/pool/connection # re-emit credentials
# Dedicated-port task
GET /v1/x402/manage/session # session details
GET /v1/x402/manage/session/credit # remaining credit
POST /v1/x402/manage/ports/replace # replace an offline port (free, max 3)
POST /v1/x402/manage/ports/recreate # recreate with remaining credit
POST /v1/x402/manage/session/topup # extend traffic/duration
curl -s https://api.proxies.sx/v1/x402/session/tx/YOUR_TX_HASH # session by tx hash (no auth)
curl -s https://api.proxies.sx/v1/x402/sessions/wallet/YOUR_WALLET # sessions by wallet (no auth)
# Or retry the original purchase call with the same Payment-Signature -
# the server recognizes the redeemed tx and re-emits the SAME credentials.
No disputes, no support tickets required: every failure mode has a deterministic, machine-invokable remedy.
What you get: one credential on gw.proxies.sx:7000 (HTTP proxy, CONNECT works for HTTPS). The username is a routing DSL - edit the country slot per request, no repurchase. ~82 countries with live stock.
Buy: GET/POST /v1/x402/pool?tier=peer&traffic=<GB> · Output: proxy{host, httpPort, username, password(pak_), http}, credit{allocatedGB, usedGB, remainingGB}, sessionToken, manage{...}, payment{txHash, network, amountUSDC}.
Failure contract: dead peers are probed and routed around automatically on the next pick; you are metered per delivered byte, so a broken exit costs you nothing. Auto-suspend lands within ~5-35s of the GB cap (no overage billing, no refunds of unused GB; top-up re-enables). Leaked secret: /manage/pool/regenerate mints a new password, same username, same credit. Lost response: same tx hash re-emits identical credentials.
What you get: the same credential model, quality-locked to carrier modems (qualityTier: safe under the hood - even a peer route in the username is silently served from modems, by design). 6 countries: US, GB, FR, NL, PL, GE (Georgia, not Germany).
Buy: GET/POST /v1/x402/pool?tier=mbl&traffic=<GB> · Output: same shape as task 1.
Failure contract: identical to task 1 - metered per delivered byte, cap auto-suspend, regenerate, idempotent re-emit by tx hash. The modem tier additionally has none of the peer-pool mid-stream failure modes (stall watchdogs, circuit breakers) to route around in the first place.
What you get: one pinned carrier modem with its own host:port - HTTP and SOCKS5 URLs, plus a public rotate URL. Country fixed at purchase (one of the 6 mbl countries).
Buy: GET/POST /v1/x402/proxy?country=US&traffic=<GB> · Output: proxy{http, socks5, server, httpPort, socksPort, username, password, expiresAt}, rotationUrl, sessionId, portId, traffic{...}, management{sessionToken}.
Failure contract: offline port? POST /manage/ports/replace - FREE, max 3 per session, and the replacement is provisioned on a DIFFERENT device so the same failure cannot repeat. Port expired/deleted with credit left? POST /manage/ports/recreate uses the remaining credit. Payment verified but provisioning hiccuped? The API still returns 200 with your sessionToken and a recover.recreateEndpoint - it never eats a payment with a bare 500.
What you get: a true carrier-side IP reset for your dedicated port (the modem re-attaches to the carrier and surfaces a fresh IP). This is the real thing, not a pool re-pick.
Invoke: GET /v1/rotate/:token - the rotationUrl from your port purchase. No auth beyond the token. 5-minute cooldown between resets.
Failure contract: during cooldown the call returns a clear error with the wait time; the port keeps serving on the current IP. The token never expires while the port lives; a replaced port's response carries its new rotate URL.
What you get: the supply side, wallet-only. Register a device, hold a WebSocket to a relay, forward raw TCP bytes for customers; your payout is a revenue share set by Proxies.sx and customized per partner - there is no fixed public percentage; rates are configured by our team, can be tailored to you, and move with demand, paid NET in USDC on Solana. The authoritative per-GB rate is returned live at registration in the earningsPerGB field - always read it there, never trust a dollar figure written in any document, including this one.
Invoke: POST /v1/peer/agents/register with {name, type, walletAddress} - returns deviceId, JWT, relay URL, earningsPerGB, and a machine-readable throughputContract. Min payout: $5 (agents).
Failure contract: a self-test endpoint (POST /v1/peer/my-devices/:id/test) runs a real probe through your live connection and returns pass/fail with a specific reasonCode and a fix string - debug before you assume you are earning. Payouts go ONLY to the registered wallet (the body parameter is ignored to prevent siphoning); wallet changes have a 7-day cooling period.
Every task above is fulfilled by the network that task 5 feeds. If your agent controls devices with real residential or mobile IPs, it can sell their bandwidth into the same market it buys from - one wallet does both sides.
# Register (wallet-only; returns the live earningsPerGB rates)
curl -s -X POST https://api.proxies.sx/v1/peer/agents/register \
-H "Content-Type: application/json" \
-d '{"name":"my-agent","type":"claude","walletAddress":"YOUR_SOLANA_ADDRESS"}'
Then connect to the returned relay URL and forward bytes. Do not hand-roll the protocol first - the production-tested reference client is a single file:
| Resource | URL |
|---|---|
| Reference SDK (Node.js, drop-in) | agents.proxies.sx/peer/reference-sdk.js |
| Peer Network page (all SDKs, protocol, payouts) | agents.proxies.sx/peer/ |
| Peer skill file (the machine contract) | agents.proxies.sx/peer/skill.md |
The market itself is open source. The template this storefront pattern grew from is MIT-licensed - fork it, swap in your own x402 service, and you have a wallet-payable storefront for whatever your agent can fulfill:
| Repo | What it is |
|---|---|
| github.com/bolivian-peru/marketplace-service-template | MIT x402 service storefront template - 402 quote, on-chain verify, deliver. A hardened taskmarket repo is coming; the template above is the fork target today |
The growth loop is deliberate: every fork that serves real traffic buys $4/GB bandwidth underneath from this network - your market's success is our demand. Build the service, keep your margin, let the egress be our problem.
Policy note: this page lists FIRST-PARTY tasks only. We do not render third-party listings here (the former third-party data-services marketplace is retired); a vetted third-party listing policy is on the roadmap below.
| Property | Mechanism |
|---|---|
| Replay protection | Durable, not in-memory: every redeemed tx hash is stored in MongoDB (unique-indexed mint hashes + indexed top-up hashes). One tx hash mints exactly one task - reuse returns 409 across restarts, across products |
| Idempotent delivery | Retrying a purchase with an already-redeemed tx hash re-emits the SAME credentials and session token - a lost response never costs a second payment |
| 2% payment tolerance | On-chain verification accepts up to 2% underpay (gas dust, rounding) before rejecting |
| Public receipts | GET /v1/x402/session/tx/:txHash and GET /v1/x402/sessions/wallet/:wallet - anyone can resolve a payment to its session, no auth |
| Settlement receipt header | Verified purchases return a payment-response header: base64 JSON {"status":"settled","txHash":...,"network":...} |
| Direct settlement | USDC goes straight from your wallet to ours on-chain. No custody, no escrow, no balance we can freeze |
| Never-silent failures | Payment verified but provisioning failed still returns 200 + sessionToken + a recovery endpoint - never a bare 500 that eats a payment |
| Rule | Detail |
|---|---|
| Prohibited use | No fraud, no attacks (DDoS, credential stuffing, exploitation), no CSAM, no illegal content. Violations terminate access without refund |
| SSRF blocked | Private ranges, localhost and cloud-metadata targets are refused at the gateway (E_SSRF_BLOCKED, 403) |
| Purchase throttle | Pool buy 10/min, top-up 5/min, regenerate 3/hour; port replace and top-up 5/min |
| Gateway concurrency | 500 concurrent connections and 250 concurrent sessions per account (defaults; error codes E_RATE_LIMITED_CONN / E_SESSION_LIMIT) |
| Auth rate limits | Escalating bans on repeated failed proxy auth (30s, then 5min). Successful auth clears counters |
These are NOT live and can NOT be bought today. No payment endpoint exists for them; any 402 you receive from the endpoints above is for the live tasks only. They are listed so agents can plan integrations, nothing more.
One-shot, no-auth scrape jobs - pay one x402 invoice, receive one bounded collection run, delivered as structured data. The 10 planned job types:
| price & stock monitoring | SERP intelligence |
| ad & brand verification | reviews & ratings |
| jobs & hiring | travel fare |
| listings & classifieds | AI web feed |
| marketplace & social | proxy flow (bring-your-own logic) |
Scheduled flows - the same jobs on a recurring schedule with webhook/S3/CSV delivery, still wallet-payable.
Third-party listings - a vetted policy for listing external x402 services in this catalog. Pending policy; until it lands this page stays first-party only.
| Resource | URL |
|---|---|
| Skill file (this market) | agents.proxies.sx/tasks/skill.md |
| Machine catalog (JSON) | agents.proxies.sx/tasks/manifest.json |
| Master skill file | agents.proxies.sx/skill.md |
| Pool Gateway skill (deep contract) | agents.proxies.sx/pool/skill.md |
| Peer skill (earn contract) | agents.proxies.sx/peer/skill.md |
| x402 discovery | /.well-known/x402.json |
| Live service status | api.proxies.sx/v1/x402/status |
Support: maya@proxies.sx or t.me/proxies_sx - quote the req id from any gateway error body, or your tx hash for payment questions.