Billing & credits

Ozeye uses prepaid credits. Billable inference checks available balance and key limits before routing.

Dashboard checkout is the recommended flow for most users. The payment endpoints are supported account-management APIs used by the dashboard and by customers who want to automate checkout creation.

Top up from dashboard

Open Dashboard → Billing, choose an amount, then complete the provider checkout. This is the easiest and safest flow because it shows payment state, VAT, provider details, and payment history.

Create Mollie checkout by API

Call POST /v1/account/topup with a normal API key or an authenticated dashboard session. The endpoint does not charge a card directly; it creates a Mollie payment and returns a checkout_url for the user to open and complete.

curl https://ozeye.ai/v1/account/topup \
  -H "Authorization: Bearer $OZEYE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"amount":"10.00"}'

Response

{
  "payment_id": "payment_uuid",
  "provider": "mollie",
  "provider_payment_id": "tr_abc123",
  "amount_eur": "10.00",
  "vat_eur": "2.10",
  "total_eur": "12.10",
  "checkout_url": "https://www.mollie.com/checkout/...",
  "status": "open"
}

Monero invoices

If Monero billing is enabled, POST /v1/account/topup/monero accepts the same {"amount":"10.00"} body and returns one-time XMR invoice details, including amount, address, expiry, and payment URL.

Limits and payment state

  • Minimum top-up is €5 and maximum top-up is €1000.
  • VAT may be included in the returned total_eur.
  • An account can have up to 5 pending payments at once.
  • Credits are added only after the payment provider confirms settlement through webhook.
  • Use GET /v1/account/payments or the dashboard to review payment history.

Credit lifecycle

  1. Create a payment or Monero invoice.
  2. Open the checkout URL or pay the XMR invoice.
  3. Payment provider confirms the payment.
  4. Credits are added to your ozeye balance.
  5. Billable inference checks balance and key limits before routing.
  6. Usage is deducted after successful non-streaming responses, or reserved/finalized/refunded for streaming.