Verified Streams logo
Verified Streams Premium Gemini link API
REST JSON API - wallet auth - instant delivery

Inventory, wallet, orders and stats over HTTP.

Use one private API key to check your balance, view live products, place wallet orders, fetch order history, and read account totals from any reseller panel or website.

AuthX-API-Key
Versionv1
Order flowAtomic
Limit120/min

Live mode sends real API requests. Keep your key private because order requests can spend wallet balance.

Authentication

Create your API key from the API Key panel in the Telegram bot. A revoked key stops immediately; a new key still reads the same wallet and old order history.

Required header

Send this with every `/api/v1/*` request.
X-API-Key: WAR_example_not_a_real_key
API keys can spend wallet balance through `POST /api/v1/order`. Keep keys private, never put them in a URL query string, and use the bot's Revoke API Key button if a key leaks.

Endpoints

Six endpoints are available for account, products, orders, history, and stats. Examples use `P_1` service IDs and `WAR_...` API keys.

GET/api/v1/me

Your account

Wallet balance, account id, username, and join date.

GET/api/v1/products

Products and stock

Active products, live stock, flat price, and volume tiers.

POST/api/v1/order

Place order

Debits wallet and returns delivery details in one atomic transaction.

GET/api/v1/orders

Order history

Newest orders first. Uses `limit` and `offset` pagination.

GET/api/v1/order/{id}

One order

Returns only the authenticated user's order; other users get 404.

GET/api/v1/stats

Stats

Wallet balance, lifetime spend, API order count, and API item count.

Full API Reference

Every endpoint includes request, success response, common errors, and response fields.

GET/api/v1/me

Read the authenticated user's profile and wallet balance.

Request
curl "$BASE/api/v1/me" -H "X-API-Key: $KEY"
200 response
{
  "success": true,
  "user": {
    "id": 1000000000,
    "username": "buyer",
    "joined_date": "2026-08-29 12:00:00",
    "wallet_balance": 42.75
  }
}
FieldTypeNotes
user.idnumberYour account id.
user.wallet_balancenumberAvailable USDT wallet balance.
GET/api/v1/products

Read active products. Check `orderable` and `stock` before placing an order.

Request
curl "$BASE/api/v1/products" -H "X-API-Key: $KEY"
200 response
{
  "success": true,
  "products": [
    {
      "service_id": "P_1",
      "product_id": 1,
      "name": "Gemini Pro 18 Month",
      "duration": "18M",
      "price": 0.40,
      "stock": 651,
      "in_stock": true,
      "orderable": true,
      "pricing": "volume",
      "volume_pricing": [
        { "min_qty": 1, "max_qty": 10, "price": 0.40 },
        { "min_qty": 11, "max_qty": 49, "price": 0.38 },
        { "min_qty": 50, "max_qty": null, "price": 0.36 }
      ],
      "description": "Instant delivery product",
      "note": ""
    }
  ]
}
FieldTypeNotes
service_idstringUse this in `POST /api/v1/order`.
pricenumberUnit price at quantity 1. Bulk order may use a lower volume tier.
volume_pricingarrayEach tier has min quantity, optional max quantity, and unit price.
orderablebooleanFalse for manual requirement products or out-of-stock products.
POST/api/v1/order

Creates an instant order. This endpoint can spend wallet balance.

Body fieldTypeRequiredNotes
service_idstringYesFrom products list, for example `P_1`.
quantitynumberYesWhole number from 1 to 10000.
Request
curl -X POST "$BASE/api/v1/order" \
  -H "X-API-Key: $KEY" \
  -H "Content-Type: application/json" \
  -d '{"service_id":"P_1","quantity":2}'
200 response
{
  "success": true,
  "order": {
    "order_id": "ORD1234ABCD",
    "service_id": "P_1",
    "product_id": 1,
    "product_name": "Gemini Pro 18 Month",
    "quantity": 2,
    "total_amount": 0.70,
    "payment_method": "API",
    "status": "Confirmed",
    "order_date": "2026-08-29 12:00:00",
    "delivery_details": [
      { "email": "one@example.com", "password": "pass1" },
      { "email": "two@example.com", "password": "pass2" }
    ]
  },
  "unit_price": 0.35,
  "remaining_stock": 649
}
Order placement is atomic: if balance or stock is not enough, no wallet debit and no stock consume happens.
GET/api/v1/orders

List order history for the authenticated user. This list does not include delivery details.

QueryTypeDefaultNotes
limitnumber25Allowed range 1 to 100.
offsetnumber0Skip this many newest orders.
Request
curl "$BASE/api/v1/orders?limit=25&offset=0" \
  -H "X-API-Key: $KEY"
200 response
{
  "success": true,
  "orders": [
    {
      "order_id": "ORD1234ABCD",
      "service_id": "P_1",
      "product_id": 1,
      "product_name": "Gemini Pro 18 Month",
      "quantity": 2,
      "total_amount": 0.70,
      "payment_method": "API",
      "status": "Confirmed",
      "order_date": "2026-08-29 12:00:00"
    }
  ],
  "limit": 25,
  "offset": 0
}
GET/api/v1/order/{id}

Fetch one owned order with delivery details. Other users' orders return 404.

Request
curl "$BASE/api/v1/order/ORD1234ABCD" \
  -H "X-API-Key: $KEY"
200 response
{
  "success": true,
  "order": {
    "order_id": "ORD1234ABCD",
    "service_id": "P_1",
    "product_name": "Gemini Pro 18 Month",
    "quantity": 2,
    "total_amount": 0.70,
    "status": "Confirmed",
    "delivery_details": [
      { "email": "one@example.com", "password": "pass1" }
    ]
  }
}
GET/api/v1/stats

Account totals. All purchases count together for lifetime totals; API-specific totals are also included.

Request
curl "$BASE/api/v1/stats" -H "X-API-Key: $KEY"
200 response
{
  "success": true,
  "stats": {
    "wallet_balance": 42.75,
    "total_orders": 137,
    "total_spent": 391.05,
    "api_orders": 18,
    "api_items": 240
  }
}

Code Examples

Use `$BASE` as the live API domain and `$KEY` as the private user API key.

cURL

Errors and Limits

The API uses FastAPI-style errors. Normal auth/order errors return `detail`; validation errors return a `detail` array.

400Manual requirement product or unsupported order state.
401Missing, wrong-prefix, invalid, or revoked API key.
402Wallet balance is too low for the requested quantity.
404Product, user, or owned order was not found.
409Stock is lower than requested quantity.
422Invalid JSON body, bad service ID, or out-of-range query.
429Rate limit exceeded. Default is 120 requests per minute.
500Temporary internal issue. Check order history before retrying a purchase.
401 example
{
  "detail": "Missing X-API-Key header."
}
402 example
{
  "detail": {
    "error": "insufficient_balance",
    "wallet_balance": 2.0,
    "required_amount": 6.05
  }
}
Copied