# Account and balance

> StatesideIP API: account details, prepaid USD balance and balance history. Parameters, example responses, curl, Python and Node.js code.

- URL: https://statesideip.com/docs/api/account/
- Last updated: 2026-10-06
- Publisher: StatesideIP (https://statesideip.com)

Read your account settings, your prepaid USD balance and every movement of that balance (top-ups, purchases, refunds).

**Endpoints on this page**

- `GET /v1/account`: Get the current account
- `GET /v1/balance`: Current prepaid balance
- `GET /v1/balance/transactions`: Balance ledger

Base URL `https://statesideip.com/api/v1`. Authentication, errors and limits: see the [API overview](https://statesideip.com/docs/api/).

## Get the current account

`GET /v1/account`

Authentication: API key in the `Authorization: Bearer API_KEY` header.

**Response** `200 OK`

```json
{
  "accountNumber": "4821773009125564",
  "createdAt": "2026-10-05T09:12:44Z",
  "email": null,
  "emailVerified": false,
  "hasPassword": false,
  "twoFactorEnabled": false,
  "lang": "en",
  "currency": "USD",
  "balance": "0.00",
  "referralCode": "K7Q2MX",
  "status": "active",
  "notifications": {
    "paymentReceipts": true,
    "lowTraffic": true,
    "expiryReminders": true,
    "productNews": false
  },
  "recoveryCodesRemaining": 0
}
```

*curl*

```bash
curl -s "https://statesideip.com/api/v1/account" \
  -H "Authorization: Bearer $API_KEY"
```

*Python*

```python
import os
import requests

API = "https://statesideip.com/api/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['API_KEY']}"}

r = requests.get(f"{API}/account", headers=HEADERS, timeout=30)
r.raise_for_status()
print(r.json())
```

*Node.js*

```javascript
// Node.js 18+ (built-in fetch), ES module
const API = 'https://statesideip.com/api/v1';

const res = await fetch(`${API}/account`, {
  headers: { Authorization: `Bearer ${process.env.API_KEY}` },
});
if (!res.ok) throw new Error((await res.json()).error?.message ?? `HTTP ${res.status}`);
console.log(await res.json());
```

## Current prepaid balance

`GET /v1/balance`

Authentication: API key in the `Authorization: Bearer API_KEY` header.

**Response** `200 OK`

```json
{
  "balance": "29.00",
  "currency": "USD"
}
```

*curl*

```bash
curl -s "https://statesideip.com/api/v1/balance" \
  -H "Authorization: Bearer $API_KEY"
```

*Python*

```python
import os
import requests

API = "https://statesideip.com/api/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['API_KEY']}"}

r = requests.get(f"{API}/balance", headers=HEADERS, timeout=30)
r.raise_for_status()
print(r.json())
```

*Node.js*

```javascript
// Node.js 18+ (built-in fetch), ES module
const API = 'https://statesideip.com/api/v1';

const res = await fetch(`${API}/balance`, {
  headers: { Authorization: `Bearer ${process.env.API_KEY}` },
});
if (!res.ok) throw new Error((await res.json()).error?.message ?? `HTTP ${res.status}`);
console.log(await res.json());
```

## Balance ledger

`GET /v1/balance/transactions`

Authentication: API key in the `Authorization: Bearer API_KEY` header.

**Parameters**

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `page` | query | integer | No | ≥ 1, default `1` |
| `perPage` | query | integer | No | 1–100, default `20` |
| `type` | query | `top_up` · `purchase` · `refund` · `referral_payout` · `adjustment` | No | — |

**Response** `200 OK`

```json
{
  "data": [
    {
      "id": "txn_2k9d1m",
      "type": "top_up",
      "amount": "29.00",
      "balanceAfter": "29.00",
      "description": "Top-up · USDT · Tron (TRC-20)",
      "createdAt": "2026-10-05T14:03:11Z",
      "orderId": null,
      "topUpId": "top_7d2kq9x1"
    }
  ],
  "pagination": {
    "page": 1,
    "perPage": 20,
    "total": 1,
    "totalPages": 1
  }
}
```

*curl*

```bash
curl -s "https://statesideip.com/api/v1/balance/transactions" \
  -H "Authorization: Bearer $API_KEY"
```

*Python*

```python
import os
import requests

API = "https://statesideip.com/api/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['API_KEY']}"}

r = requests.get(f"{API}/balance/transactions", headers=HEADERS, timeout=30)
r.raise_for_status()
print(r.json())
```

*Node.js*

```javascript
// Node.js 18+ (built-in fetch), ES module
const API = 'https://statesideip.com/api/v1';

const res = await fetch(`${API}/balance/transactions`, {
  headers: { Authorization: `Bearer ${process.env.API_KEY}` },
});
if (!res.ok) throw new Error((await res.json()).error?.message ?? `HTTP ${res.status}`);
console.log(await res.json());
```

---

StatesideIP: StatesideIP is a US and Canada proxy provider: residential IPs with state, city, ZIP and ASN targeting, plus dedicated T-Mobile, AT&T and Verizon 4G/5G mobile ports. No KYC — no ID, no selfie, no documents. Pay in crypto.
