Skip to main content
Rezolve Ai
Guides

Credits and usage

How credits and the test-key quota work, what consumes them, and how to avoid running out mid-batch.

This guide explains how credits work in Rezolve Ai, what consumes them, how to check your balance, and how to avoid running out partway through a batch.

Credits and test quota

There are two billing rails, and which one applies depends on the key you use.

  • ace_live_ keys draw on your account's credit balance. A metered request needs a balance above zero to start. Otherwise it returns 402 INSUFFICIENT_CREDITS and does not run.
  • ace_test_ keys are free and draw on a monthly quota instead: 1,000 requests and 500 units of work per calendar month, shared by every test key on the account. When either runs out, metered requests return 402 TEST_QUOTA_EXCEEDED until the month rolls over.

Use a test key while you are building, and switch to a live key for production.

How live work is charged

Credits are metered on the AI work a request actually does. There is no flat price per call or per product.

  • Every AI call behind a request is charged on its own, at a minimum of one credit, and costs more the more text it reads and writes.
  • Enriching a product is a bundle of calls, one or more per content type. The cost of a product therefore follows how many content types you ask for, not the product count alone.
  • Charges are taken as the work completes, so a job draws the balance down while it runs. AI work that ran is charged even if that unit then failed.

These are measured averages for one product, to plan with:

DepthWhat is writtenCredits per product
Metadata onlyA meta title and description, nothing else rewrittenAbout 3
Core enrichmentProduct description, meta tags, real-life scenarios, and internal linksAbout 26
Full enrichmentEverything in core, plus title, attributes, highlights, FAQs, JSON-LD schema, and image attributesAbout 56

Your own figures will vary with how much source data each product carries. Run a small batch, read the change in GET /api/v1/usage, and scale from that.

What each endpoint costs

On a test key, work is counted in units instead. One unit is one product for one content type.

OperationLive keyTest key
POST /api/v1/enrichment/rulesFree. Rules generation is not charged.Free
POST /api/v1/enrichment/contentMetered for each product and content type writtenProducts multiplied by content types
POST /api/v1/enrichment/pipelineMetered for each product and content type written. The rules step is free.Products multiplied by content types
POST /api/v1/enrichment/lookupFree, unless a web search runs. A web search typically costs about 16 credits, and nothing when the answer is already cached.5 units for each item that may search the web, or 1 unit for an item that only reads a page you point at
POST /api/v1/enrichment/lookup with enrichThe lookup as above, plus the content written. Nothing for a product that was not matched.The lookup as above, plus one unit per item per content type
POST /api/v1/enrichment/content or /pipeline with lookupThe content as above. The lookups add nothing with the free sources. With web_search named, each search is charged as a lookup search is.Products multiplied by content types, plus 5 units for each product that may be searched for
GET /api/v1/enrichment/lookup, /enrichment/lookup/sourcesFreeFree
/api/v1/feeds and every endpoint under itFreeFree
/api/v1/ratings/ingest, /api/v1/ratings/{productId}FreeFree
/api/v1/utils/language, /utils/agentic-readiness, /utils/review-qualityFreeFree
/api/v1/health, /usage, /jobs, /projects, /webhooksFreeFree

A content type the engine does not generate is skipped and costs nothing on either rail. It is listed in skippedContentTypes.

So on a test key, ten products with ["product-description", "meta-tags", "jsonld-schema"] uses thirty units and one request.

Pushing products to POST /api/v1/feeds/{id}/events is free. If Autopilot is on for that feed and set to re-enrich when source data changes, the push starts an enrichment run for the changed products, and the content that run writes is charged like any other. See the Feeds API guide.

The same accounting applies to the MCP tools: a tool marked as using credits needs a positive balance on a live key and uses the monthly quota on a test key.

Check your balance

In the dashboard: sign in at https://ace.authoritas.com and open Settings, Developer console, Usage.

Via API:

curl https://ace.authoritas.com/api/v1/usage \
  -H "Authorization: Bearer $ACE_API_KEY"
{
  "data": {
    "env": "live",
    "credits": { "balance": 4820, "limit": 5000, "periodStart": "...", "periodEnd": "..." },
    "rateLimit": { "limitPerMinute": 120 },
    "jobs": { "total": 37 }
    // test keys also get: "testQuota": { requestsUsed, requestCap, unitsUsed, unitCap }
  }
}

Via CLI: rezolve usage. See Rezolve Ai CLI.

From an assistant: the get_usage MCP tool returns the same snapshot.

Add credits

Credits are added to an account by the Rezolve Ai team. There is no purchase step in the dashboard or the API, so to get more, ask your Rezolve Ai contact.

Shopify-installed merchants

If you installed Rezolve Ai from the Shopify App Store, your AI usage is billed through Shopify, on your Shopify invoice, not through the Rezolve Ai credit balance.

  • 1,000 credits are included in every 30-day billing cycle. Usage beyond that is billed per credit through Shopify, at the rate shown on the plan approval screen.
  • You can set a monthly budget in the app's Settings. It caps spending beyond the included credits: once the estimated spend for the cycle reaches it, AI work stops until you raise or remove the budget. The included credits still work with a budget of zero.
  • Usage is on the Usage page. Open Usage in the Rezolve Ai app in your Shopify admin to see the current billing cycle, your plan, and recent usage.

You approve the plan from the app in your Shopify admin. Until it is approved, the app shows Choose a plan, and a request for that project returns 402 SUBSCRIPTION_REQUIRED rather than drawing on a Rezolve Ai balance. The same code is returned when the store's setup is incomplete or its monthly budget has been reached. The message says which.

Plan changes happen in the Shopify admin. The two rails are independent: a Shopify-billed project never touches the Rezolve Ai credit balance.

Avoiding 402

  1. Check first. Call GET /api/v1/usage before a large run.
  2. Estimate. Multiply your product count by the per-product figure for the depth you want, or by the cost you measured on a small batch. On a test key, multiply products by content types to get units.
  3. Use jobs. Large requests return 202 with a job id, so a long run does not sit on an open connection.
  4. Split, or ask for more. If you hit 402, send smaller batches or ask your Rezolve Ai contact to add credits.
  5. Send an idempotency key. Retrying a request with the same Idempotency-Key returns the original job rather than paying for a second one.

Summary

  • Live keys spend credits; test keys spend a free monthly quota.
  • Live work is metered on the AI calls it makes. Plan on about 3, 26, or 56 credits per product depending on depth.
  • Rules, feeds, ratings, utilities, health, and job reads are free.
  • Check with GET /api/v1/usage, rezolve usage, or the dashboard.
  • Shopify-installed merchants bill through Shopify, not the Rezolve Ai balance.

See the API Reference and Contextual Enrichment Engine for endpoint detail.

On this page