DrexDocs

Pricing

What Drex bills, how credit is granted and spent, how pay as you go is charged, and where to read usage.

Credit is granted at signup, every month, and for referrals, and it is bought in top-ups. Every successful POST /v1/systemone debits input tokens against it, and credit is always spent first. Without a saved card, requests stop when credit runs out. With a saved card and auto-pay on, usage beyond your credit is billed to the card every 14 days. Base URL https://console.nace.ai, model drex-v1.5.

ItemAmount
Per input token, drex-v1.0$0.00000004 (40 nUSD)
Per 1M input tokens, drex-v1.0$0.04
Per input token, drex-v1.5$0.00000005 (50 nUSD)
Per 1M input tokens, drex-v1.5$0.05
Signup credit$25.00
Top-up minimum$5
Top-up maximum$1,000
Top-up presets$5, $10, $25, $50, $100

What is billed

The unit is one input token, as reported in usage.input_tokens of the response. Output tokens are reported in usage.output_tokens and are not billed. Drex keeps balances in nano-USD (nUSD). One USD is 1,000,000,000 nUSD.

The cost of a request is usage.input_tokens multiplied by the per-token price of the model that answered it, which the response reports as model. A request that names a retired model, such as drex-v1.1, is answered by drex-v1.5 and billed at its price. There is no per-request fee and no charge per question.

Only a 200 response is debited. A request that ends in 401, 402, 422, 429, 500, or 529 costs nothing. The debit runs after the response has been sent and is recorded once per request_id, so a retried debit never double-charges.

The dashboard Playground is billed the same way as the API, per input token of each successful evaluation.

Worked examples

Each usage block below is a real response captured on 2026-09-24. Token counts vary a little between calls.

Three questions on a one-sentence support ticket returned "usage": { "input_tokens": 106, "output_tokens": 212 }.

106 input tokens × 40 nUSD = 4,240 nUSD = $0.00000424
212 output tokens × 0     = 0

Two questions on a small JSON object returned "usage": { "input_tokens": 103, "output_tokens": 103 }.

103 × 40 nUSD = 4,120 nUSD = $0.00000412

One score question on a two-sentence review returned "usage": { "input_tokens": 51, "output_tokens": 129 }.

51 × 40 nUSD = 2,040 nUSD = $0.00000204

The same arithmetic at scale:

1,000,000 input tokens × 40 nUSD = 40,000,000 nUSD = $0.04

The $25.00 signup credit buys 500,000,000 input tokens of drex-v1.5.

The CSV export reports both cost_usd and cost_nusd, so the exact figure is always available.

Free credit

Every new account gets the signup credit in the table when the account is created, and a monthly credit after that. The rules:

  • The signup credit expires 3 months after sign-up. Unspent credit is gone after that.
  • The monthly credit is $5. The first one arrives one month after sign-up, then one every month on the same day. Each expires at the next renewal, when the new one replaces it, so unspent monthly credit does not carry over.
  • A referral earns $5 for each friend, once that friend's account has its first real use, meaning a charge above zero. Referral credits stack, and each expires one month after it is granted. The dashboard's Invite friends button gives you your invite link.
  • The monthly credit and the signup credit follow the same eligibility rules below.
  • It is granted once per mailbox. Drex normalizes the email before checking: lowercased, a +suffix in the local part removed, googlemail.com treated as gmail.com, and dots in a Gmail local part removed. A second account on the same mailbox gets no signup credit.
  • Accounts on disposable email domains get no signup credit. The account itself still works and can be topped up.
  • At most 3 accounts per email domain get signup credit in any 24 hours. Subdomains count toward their parent domain, so a.example.com and b.example.com share the limit. Large mail providers such as Gmail, Outlook, iCloud, Yahoo, and Proton are exempt. Later accounts on the same domain still work and can be topped up.
  • It does not change the account's rate-limit tier. See Limits.

Top-ups

Top up on the dashboard Billing page. Payment is by card through Stripe Checkout, in USD.

  • Amounts are whole dollars between the minimum and maximum in the table. The page offers the preset amounts and a custom field.
  • Each top-up is its own credit grant. It expires 12 months after purchase.
  • Top-up credit is non-refundable except where required by law.
  • Credit appears when Stripe reports the payment as paid. Drex fulfils each Checkout session once, whether the webhook or the return page arrives first.
  • The first completed top-up moves the account to the paid rate-limit tier permanently.

How credit is spent

Spendable credit is the sum of what remains on grants that have not expired. Each debit draws from the grant that expires soonest, then the next, until the cost is covered. A single request can span two grants. Used-up and expired grants are skipped.

If a request costs more than what remains, the request still completes, because the answer has already been delivered when the debit runs. On an account without auto-pay, the shortfall is recorded as overdraft. The next grant of any kind settles the overdraft first, and only the remainder becomes spendable credit. The Billing page shows any overdraft next to the balance. On an account with auto-pay on, the shortfall is added to the current billing period instead. See Pay as you go.

At zero credit

When spendable credit is zero and auto-pay is off, POST /v1/systemone and the Playground return 402 insufficient_credit with this message:

This account has no spendable credit. Top up to keep going.

Any positive balance admits a request, so the last request before zero still runs and may leave an overdraft. GET /v1/models does not check credit and keeps working, so a client can still list models while the account is empty. With auto-pay on, a request is not refused for lack of credit.

Drex caches the credit check per API key for up to 5 seconds, or 2 seconds once the balance is at or below $1. Each debit updates the cached balance on the instance that served the request. A top-up therefore takes effect within a few seconds.

Pay as you go

Save a card on the Billing page and auto-pay turns on. From then on, requests are never refused for lack of credit. Credit is still spent first. The part of a request's cost that credit does not cover is added to the account's current billing period.

  • A billing period lasts 14 days. Periods start at midnight UTC on the day the account was created, and the Billing page shows the current one as "Your usage for Oct 7 - Oct 21, 2026".
  • When a period ends, Drex invoices the usage not yet billed and charges it to your default card. A period with no uncovered usage produces no invoice.
  • For a large balance, Drex may charge earlier, before the period ends. That invoice is marked interim on the Billing page, and the rest of the period is billed when it ends.
  • Credits do not reset with periods. A new top-up or monthly credit is spent before any new usage is added to the period.
  • Turn auto-pay off with the Auto-pay switch on the Billing page, or remove your last card, and the account goes back to prepaid for new requests. Usage already added to a period is still billed.

Invoices are listed on the Billing page with their period, amount, and status, with a link to each Stripe invoice and receipt.

When a charge fails

If the charge for an invoice fails, or an invoice is still unpaid at the end of the day it was issued, the account is paused. Requests that spend credit are refused with 402 payment_required and this message:

This account has an unpaid invoice. Pay it on the Billing page to keep going.

Reads keep working, including GET /v1/models and job reads. The account's owners and admins get one email about the failed invoice. The Billing page shows a red alert with a Pay button that opens Stripe's invoice page. The pause lifts as soon as the invoice is paid. A payment_required response is not retryable until then. See Errors.

Where to see usage

The dashboard Usage page shows requests, tokens, and cost as charts for the last 24 hours, 7 days, or 30 days, in hourly or daily buckets, for all traffic, the Playground only, or one API key.

The download icon on that page, labeled Download CSV, exports the same series with these columns:

ColumnMeaning
bucket_start_utcStart of the bucket as an ISO 8601 timestamp in UTC.
requestsSuccessful evaluations in the bucket.
input_tokensSum of usage.input_tokens.
output_tokensSum of usage.output_tokens.
cost_usdExact cost in dollars, without a $ sign, for example 0.00000424.
cost_nusdThe same cost as an integer in nUSD, for example 4240.

The file is named drex-usage-<range>-<bucket>.csv, for example drex-usage-7d-hour.csv. Buckets with no traffic are present with zeros.

The Billing page shows your usage for the current billing period and when it is charged, your credit balance, any overdraft, the soonest-expiring credit, your payment methods, the Auto-pay and balance-alert settings, your invoices, the list of purchases with a link to each Stripe invoice and receipt, and the list of credits with type, amount, remaining credit, expiry, and status. Credit types are free credit, monthly credit, referral reward, promo code, and top-up.

Document jobs

Jobs on the document routes are billed from the same credit. A job is admitted while the balance is positive or auto-pay is on, and not while the account is paused for an unpaid invoice. When it finishes, the document service reports its final credits, and Drex charges credits times the tool's price per credit, once. Each tool's credits and price are on Documents. Reads, lists, deletes and downloads are free. Each job keeps the price that was in force when it was admitted.

On this page