Billing & credits
ozeye uses prepaid credits. Billable inference checks available balance and key limits before routing.
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, excluding VAT (
amountis the credit amount). total_euris what you pay, including VAT;vat_eurshows the VAT.- Credits never expire.
- 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/paymentsor the dashboard to review payment history. - Consumers can withdraw from a top-up within 14 days by emailing support@ozeye.ai; the unused part is refunded. See the terms.
Billing profile and invoices
The billing profile decides the VAT on a top-up. Set it in the dashboard or with PUT /v1/account/billing-profile; customer_type is consumer or business, billing_country is an ISO country code, and businesses add name, address and VAT number, which is checked against VIES (POST /v1/account/billing-profile/validate-vat checks a number without saving).
{
"customer_type": "business",
"billing_country": "DE",
"business_name": "Example GmbH",
"business_address": "Musterstrasse 1, 10115 Berlin",
"vat_number": "DE123456789"
}
Every settled top-up gets an invoice: GET /v1/account/invoices lists them, GET /v1/account/invoices/{id} returns one, and GET /v1/account/invoices/{id}/pdf downloads the PDF.
Credit lifecycle
- Create a payment or Monero invoice.
- Open the checkout URL or pay the XMR invoice.
- Payment provider confirms the payment.
- Credits are added to your ozeye balance.
- Billable inference checks balance and key limits before routing.
- Usage is deducted after successful non-streaming responses, or reserved/finalized/refunded for streaming.