Skip to content

Лимиты и тарифы

Минимумы и максимумы

  • Минимальное пополнение: 100 ₽.
  • Максимальное пополнение за раз: 50 000 ₽.
  • Welcome-бонус: +150 ₽ при первом пополнении ≥ 1000 ₽.
  • Email-триал: +30 ₽ при подтверждении почты (нельзя использовать на дорогих моделях).

Курс

Курс обновляется раз в час из API ЦБ РФ. К курсу добавляется спред (по умолчанию 3% из env, можно переопределить в админке → Система → «Курс USD/RUB»).

Администратор может задать ручной USD/RUB — он применяется по всей системе (прайсинг, списания, лимиты ключей в LiteLLM). Если ручной курс пуст — используется ЦБ + спред.

Лимиты ключей и LiteLLM

Лимиты ключа в рублях (дневной / месячный) при создании и обновлении пересчитываются в USD и передаются в LiteLLM как max_budget + budget_duration (1d / 30d). Формула: usd = rub / (курс × (1 + markup%)), где markup — DEFAULT_MARKUP_PCT. Приоритет: дневной лимит, затем месячный.

Наценка

Базовая политика: розница = ×2 к цене OpenRouter.

  • в pricing_rules поле base_*_usd синхронизируется с каталогом OpenRouter (Celery, при старте API, CLI sync-openrouter-pricing);
  • markup_pct по умолчанию 100% (DEFAULT_MARKUP_PCT=100), то есть итог в USD = base × 2;
  • в рублях: base × 2 × курс ЦБ со спредом — см. каталог GET /api/v1/pricing.

Списание

LiteLLM-прокси считает usage в USD по фактическим ценам OpenRouter. После каждого успешного запроса LiteLLM шлёт webhook в FastAPI (/webhooks/litellm/usage), баланс списывается сразу и UI получает обновление по SSE.

Дополнительно каждые 30 секунд Celery reconcile подтягивает /spend/logs как fallback. Формула списания:

rub = usd × (1 + markup_pct / 100) × (cbr_usd_rub × (1 + spread_pct / 100))

Списание — append-only в журнал баланса. Идемпотентность гарантируется по LiteLLM request_id.

Что происходит при нулевом балансе

При очередном reconcile, если balance ≤ 0, все активные ключи юзера получают статус insufficient_funds (LiteLLM block_key). После любого успешного пополнения они автоматически разблокируются.

RPM / TPM

По умолчанию ключ без указанных RPM/TPM-лимитов уважает лимиты OpenRouter. Установите явные лимиты в настройках ключа, чтобы защититься от утечек или ошибочного цикла в коде.

© llmgw