Billing

Dromad is paid for from prepaid credit, in dollars. Credit belongs to a workspace: your own, or a team's, which everyone in it spends from and anyone in it can add to. $1 bought is $1 of credit. There is no subscription, and purchased credit does not expire.

Prices

Operation Price
Prompt run · ChatGPT $0.05 / prompt
Prompt run · Claude $0.20 / prompt
Prompt run · Gemini $0.07 / prompt
Question generation $0.002 / generated question
Fanout its prompt runs: prompts × engines × runs
Page audit $0.01 / URL
Citation analysis included

A prompt is priced per engine. Run on all three, the default, it costs the sum of the three: $0.32. Question generation is charged for the questions it generates, which can be fewer than you asked for. A fanout has no price of its own: each of its executions is a prompt run at its engine's price. An estimate is shown before it starts; it is there to inform you and is not a quote. dromad pricing --json, or GET https://dromad.dev/api/v1/pricing with no credential, returns the rate card in effect and its version. Prices will change as we learn what the work costs; every charge keeps the price it was made at.

You pay for work that completes

When you start work, its price is held: set aside from your credit so that two requests cannot spend the same dollar. When the work ends, the hold is settled.

  • A run that completes is charged.
  • A run that fails is not, whatever failed: an engine that was down, an answer that stopped before it finished, or a fault of ours. On a prompt where one engine fails, you pay for the engines that answered.
  • Question generation is held for the number of questions you asked for and charged for the number it generated. One whose answer cannot be read is not charged.
  • A fanout is priced when it is created, on the rate card then in effect, and the price of every one of its prompt runs is held at once, all or nothing: if the available credit does not cover the whole fanout, none of it starts. It is then charged run by run as each completes, and runs that fail are released.
  • An audit is charged when it completes, including when what it reports is that the page could not be fetched: the report is the result.

Each run carries its charge (held, captured or released, with the amount, the unit price and the rate-card version), so dromad runs show dr_… --json says exactly what it cost. A finished run never changes, and neither does its charge.

If your credit does not cover a request, it is refused whole with insufficient_credit (HTTP 402): nothing is created or charged, the message says what the request needs and what is available, and retryable is false until you add credit.

Credit

A new account gets a small promotional credit in its personal workspace (a team workspace starts at zero). It is spent before purchased credit and is shown separately. Add credit at Account › Billing: $10 or more, paid by card on Stripe's page. Stripe emails the receipt, and the credit appears as soon as Stripe confirms the payment, usually within seconds. For a refund of unused credit, write to us.

dromad balance
Balance              $18.42
  purchased          $15.00
  promotional         $3.42
Spent this month      $6.58

The same figures, with every transaction (and who caused it) and what was charged by day, are on the billing page and at GET /api/v1/billing, /billing/transactions and /billing/usage. Each takes ?workspace=ws_…; without it, an API key reads its own workspace and dromad login reads your personal one. The workspace that holds the project is the one that pays. Amounts in JSON are decimal strings.

For agents planning a batch

Multiply before you run. Thirty questions on three engines is 30 × $0.32 = $9.60; on Claude alone, $6.00; on ChatGPT alone, $1.50. Check dromad balance --json (available_usd) first, pick the questions and engines that bear on the goal, and tell the user what the batch will cost. Re-slicing runs you already have with dromad citations costs nothing.