Getting Started
Buy a real 4G/5G mobile proxy in under 2 minutes. Account creation, depositing, purchasing, and connecting.
1. Create an account
Go to proxysmart.market/auth/buyer and enter your email. We send a one-click magic link โ no password required. You can set one later in your profile.
New users are auto-registered. Your first magic link creates the account and signs you in โ no separate registration step.
2. Add balance
Navigate to Dashboard โ Balance โ Deposit. Two payment methods:
- Stripe โ credit/debit card (Visa, Mastercard, Amex). Instant credit. Min $5.
- CoinGate โ cryptocurrency (BTC, ETH, USDT, and 70+ others). Credited on 1 confirmation. Min $5.
3. Browse and buy a proxy
Go to Dashboard โ Buy Proxies. Proxies are grouped by country. Select a modem and choose a duration:
| Duration | Typical price | Best for |
|---|
| 1 hour | $0.33 | Quick tasks, testing |
| 24 hours | $2.50 | Day-long campaigns |
| 7 days | $8.40 | Week-long projects |
| 30 days | $30.00 | Long-running bots |
One proxy per modem. Each purchase allocates a dedicated physical modem. No shared IPs during your active order.
4. Receive credentials
After checkout, credentials are provisioned instantly (under 5 seconds). Go to Dashboard โ My Proxies:
Host: 168.x.x.x
HTTP port: 8015
SOCKS5 port: 5015
Username: your_username
Password: your_password
Both HTTP and SOCKS5 are provided on every order at no extra charge.
5. Connect
curl
curl -x http://user:pass@host:8015 https://ipinfo.io/json
Python
import requests
proxies = {
"http": "http://user:pass@host:8015",
"https": "http://user:pass@host:8015",
}
r = requests.get("https://ipinfo.io/json", proxies=proxies)
print(r.json())
SOCKS5
import socks, socket
socks.set_default_proxy(socks.SOCKS5, "host", 5015, username="user", password="pass")
socket.socket = socks.socksocket
6. Rotate your IP
Click Rotate IP in the dashboard or call POST /api/orders/:id/rotate. The modem disconnects and reconnects to the carrier, acquiring a new IP. Average: 5โ30 seconds depending on carrier.
IP rotation drops connections. Any active TCP connections will break. Rotate between tasks, not during requests.
7. Extend or cancel
- Extend โ adds time to the same proxy (same credentials, same port). No reconnection.
- Cancel โ releases the modem. Pending orders are fully refunded. Active orders are not refunded โ remaining time is forfeited.
Proxy Types & Mobile Networks
CGNAT, carrier IP pools, and why mobile proxies work differently from datacenter or residential proxies.
What makes a mobile proxy
A mobile proxy routes traffic through a real SIM card on a live carrier network. The outbound IP is the carrier's public-facing IP โ the same IP millions of legitimate mobile users share. This is why mobile proxies achieve near-zero block rates.
On ProxySmart, each proxy is a dedicated modem with a single SIM. One buyer, one modem โ no shared IPs during an active order.
CGNAT โ Carrier-Grade NAT
Under CGNAT, the carrier adds a NAT layer between subscriber and internet. A single public IPv4 is shared by hundreds to thousands of devices. When a website sees your IP, blocking it would block thousands of legitimate users โ which is why mobile IPs are almost never blocked.
When you rotate (modem reconnects), the CGNAT gateway assigns a different IP from the carrier pool. Assignment is pseudo-random and pooled per region.
HTTP vs SOCKS5 vs OpenVPN
| Feature | HTTP | SOCKS5 | OpenVPN |
|---|
| Protocols | HTTP, HTTPS | TCP, UDP, QUIC | All (full tunnel) |
| Port range | 8001โ8999 | 5001โ5999 | 1194 UDP |
| Browser | Native | Extension/system | System-wide |
| UDP/QUIC | No | Yes | Yes |
| Full device | No | No | Yes |
| Availability | All servers | All servers | Almost all |
Use SOCKS5 for QUIC/HTTP3 and UDP workloads. Use OpenVPN for full-device routing. Use HTTP for browsers, curl, and tools with native proxy support.
Carrier profiles
| Carrier | ASN | Rotation speed | Best for |
|---|
| T-Mobile USA | AS21928 | 8โ20s | US Google/YouTube, social media |
| AT&T Mobility | AS20057 | 10โ25s | US banking/finance, e-commerce |
| Vodafone UK | AS25135 | 12โ25s | UK retail, financial platforms |
| Three UK | AS13037 | 5โ12s | High-frequency rotation, sneaker bots |
| Free Mobile FR | AS51207 | 10โ20s | French-targeted tasks, EU geo |
Native carrier DNS
All ProxySmart proxies resolve DNS using the carrier's own resolvers โ not Google or Cloudflare. Some anti-bot systems check DNS resolver consistency with IP carrier. A T-Mobile IP using T-Mobile DNS is undetectable.
IP Rotation
Force the modem to reconnect to the carrier and get a fresh IP. Same proxy, same credentials โ only the outbound IP changes.
How it works
- Modem drops its data session (PDP context) โ current IP is released.
- Modem reconnects โ carrier assigns a fresh IP from the CGNAT pool.
- ProxySmart confirms the new IP before returning success.
What stays the same: host, port, username, password, country, carrier, and expiry. Only the outbound IP changes.
Methods
Dashboard: click Rotate IP. API:
POST /api/orders/:id/rotate
Authorization: Bearer <token>
โ { "ok": true, "message": "Rotation initiated. New IP in ~10โ20s." }
# Or unauthenticated (order UUID is the secret):
GET /api/orders/:id/rotate
Timing by carrier
| Carrier | Typical time |
|---|
| Three UK | 5โ12 seconds |
| T-Mobile USA | 8โ20 seconds |
| Free Mobile FR | 10โ20 seconds |
| AT&T Mobility | 10โ25 seconds |
| Vodafone UK | 12โ25 seconds |
Best practices
- Rotate between tasks โ finish your request, then rotate.
- Don't over-rotate โ every few minutes looks natural; every 30 seconds looks like a bot.
- Rotate after blocks โ if a site blocks you, rotate and continue.
REST API Reference
Base URL: https://proxysmart.market/api. Auth via Authorization: Bearer <token>.
Authentication
POST /auth/register { email, password, role? } โ { token }
POST /auth/login { email, password, role? } โ { token } or { requiresTwoFactor, tempToken }
POST /auth/magic-link { email, role? } โ { ok }
GET /auth/magic-link/verify?token=... โ { token }
POST /auth/forgot-password { email } โ { ok }
GET /auth/me ๐ โ { id, email, role, balance, shopName, status }
PATCH /auth/me ๐ { shopName? } โ { ok, user }
GET /auth/has-password ๐ โ { hasPassword }
POST /auth/set-password ๐ { password } โ { ok }
POST /auth/change-password ๐ { currentPassword, newPassword } โ { ok }
POST /auth/logout ๐ โ { ok }
Two-Factor Authentication (TOTP)
GET /auth/2fa/status ๐ โ { enabled }
POST /auth/2fa/setup ๐ โ { secret, otpauthUrl, qrDataUrl }
POST /auth/2fa/enable ๐ { code } โ { ok, backupCodes[] }
POST /auth/2fa/disable ๐ { code } โ { ok }
POST /auth/2fa/verify { tempToken, code } โ { token }
Public (no auth)
GET /public/listings?limit=100 โ { listings[], total }
GET /public/stats โ { online, available, active_orders, countries, prices: { min, max, avg } }
Orders
GET /orders ๐ ?status=active&page=1&limit=50 โ { orders[], total, page, pages }
POST /orders ๐ { modemId, duration, couponCode? } โ { order }
GET /orders/:id ๐ โ { order } (credentials included for active orders)
POST /orders/:id/extend ๐ { duration, couponCode? } โ { ok, expiresAt }
POST /orders/:id/rotate ๐ โ { ok, message }
GET /orders/:id/rotate โ { ok, message } (unauthenticated โ UUID is secret)
GET /orders/:id/proxy-status ๐ โ { online, extIp, operator, networkType, signalStrength }
GET /orders/:id/vpn ๐ โ .ovpn file download (application/octet-stream)
DELETE /orders/:id ๐ โ { ok, refunded } (no refund for buyer-cancelled active orders)
Durations: 1h, 24h, 7d, 30d. Rotate cooldown: 65 seconds between rotations.
Balance & Payments
GET /balance ๐ โ { balance, transactions[] }
GET /balance/transactions ๐ โ { transactions[] } (last 100)
GET /balance/transactions/export ๐ โ CSV download
POST /balance/deposit/stripe ๐ { amount: 5โ5000 } โ { url } (redirect to Stripe Checkout)
POST /balance/deposit/coingate ๐ { amount: 5โ5000, receiveCurrency? } โ { url, orderId }
Servers & Modems (Farmer)
GET /servers ๐พ โ { servers[] }
POST /servers ๐พ { name, apiUrl, integrationMode?, shopUsername?, ... } โ { server }
GET /servers/:id ๐พ โ { server }
PATCH /servers/:id ๐พ { name?, apiUrl?, ... } โ { ok }
DELETE /servers/:id ๐พ โ { ok }
POST /servers/:id/sync ๐พ โ { ok, message: "Sync queued" }
POST /servers/:id/test-connection ๐พ โ { ok, results[], psVersion, supportsMultishop }
PATCH /servers/:id/pause ๐พ โ { ok } (emergency: unlist all modems)
PATCH /servers/:id/resume ๐พ โ { ok }
GET /servers/:id/modems ๐พ โ { modems[] }
GET /servers/:id/modems/:modemId ๐พ โ { modem }
PATCH /servers/:id/modems/:modemId ๐พ { action: 'list'|'unlist'|'maintenance'|'notes' } โ { ok }
POST /servers/:id/modems/bulk ๐พ { modemIds[], action } โ { ok, affected, skipped }
POST /servers/:id/modems/bulk-price ๐พ { prices: { 1h, 24h, 7d, 30d }, modemIds? } โ { ok, affected }
PATCH /servers/:serverId/modems/:modemId/plans ๐พ { 1h, 24h, 7d, 30d } โ { ok }
GET /servers/:id/modems/:modemId/ping ๐พ โ { modemId, online, extIp, operator, networkType, ... }
GET /servers/:id/earnings ๐พ โ { earnings: { allTime, last30d, last7d, last24h }, modems[] }
GET /servers/:id/reports/modem-timeline ๐พ ?days=30 โ { modems[], since }
GET /servers/stats ๐พ โ { servers, total, listed, allocated, offline, earnings30d, earningsAllTime }
Payouts (Farmer)
GET /payouts ๐พ โ { payouts[], feePercent: 2, minPayout: 20 }
POST /payouts ๐พ { amount, method, details?, savedMethodId? } โ { payout }
GET /payouts/methods ๐พ โ { methods[] }
POST /payouts/methods ๐พ { label, type, details } โ { method }
DELETE /payouts/methods/:id ๐พ โ { ok }
Methods: bank, paypal, crypto, wise. Min payout: $20. Fee: 2%.
Support Tickets
GET /tickets ๐ โ { tickets[] }
POST /tickets ๐ { subject, body, priority?, orderId? } โ { ticket }
GET /tickets/:id ๐ โ { ticket with messages[] }
POST /tickets/:id/messages ๐ { body } โ { ok }
PATCH /tickets/:id ๐ { status? } โ { ok }
GET /tickets/pending-count ๐ โ { count }
Notifications
GET /notifications ๐ ?limit=50 โ { notifications[] }
GET /notifications/unread-count ๐ โ { count }
PATCH /notifications/:id/read ๐ โ { ok }
POST /notifications/read-all ๐ โ { ok }
Live Events (SSE)
GET /events ๐ โ text/event-stream
Events: order.update, order.activated, order.expired, notification, ping.result
Heartbeat: comment every 25s
Legend: ๐ = auth required (any role). ๐พ = farmer or admin role required. All endpoints prefixed with /api.