Skip to main content
60db Memory is billed per operation. Every operation deducts a precise amount from your workspace credits: plan credits first, then top-up credits. Every charge is logged in a transaction audit trail you can read via GET /memory/usage.
No seat pricing and no overage surprises. You pay only for the operations you run. When credits run out, the service returns 402 until your plan renews, or until you top up (Creator and Pro). See Plans, Credits & Top-ups.

Rates

What these add up to in practice

Compare against proprietary memory services that charge $249–$5,000/month flat subscriptions regardless of usage. For most workloads, 60db’s pay-as-you-go model is 5–50x cheaper.

How billing works

Every billable operation (Memory, TTS, STT, LLM) deducts from your workspace credits atomically. Plan credits are used first, then top-up credits:
  1. Plan credits renew monthly. Creator and Pro workspaces can also buy a top-up from the Dashboard billing page or with POST /billing/add-funds.
  2. Use the API — every billable request is charged upfront from your workspace credits.
  3. Automatic refund on failure — if a request fails after being charged (e.g. the upstream service is unreachable or a document is corrupt), the charge is automatically reversed and logged with a *_REFUND transaction.
  4. Monitor spend via GET /billing/usage-logs for all services, or GET /memory/usage for Memory-specific breakdown.

Response headers (every billable request)

Every successful memory operation returns three custom headers so you can track spend without polling:

Example

Handling 402 out of credits

When plan credits and top-up credits run out, all billable memory endpoints return HTTP 402 with a structured error body:
details.topup_available is true on Creator and Pro. On Free and Starter, upgrade to continue. Your client should catch this and either prompt the user to upgrade or, on Creator and Pro, buy a top-up (see details.topup_available), or surface the shortfall in your own UI. Administrative endpoints (GET /memory/collections, GET /memory/:id/status, DELETE /memory/:id, GET /memory/usage) are never billed and never return 402 — they stay available even when credits are used up so customers can still inspect, clean up, and check usage.

Automatic refund on failure

60db charges upfront but refunds automatically whenever the downstream work fails. You don’t need to open a ticket — the refund lands in transaction_log as a negative row linked to the original charge via reference_hash_id. Refunds are triggered on: You can verify a refund by calling GET /memory/usage — the refunds counter increments, and net_spend_usd reflects the reversal.

What is NOT billed

To give you visibility into your data without forcing charges:
  • Listing collections (GET /memory/collections)
  • Creating collections (POST /memory/collections)
  • Checking memory status (GET /memory/:id/status)
  • Deleting a memory (DELETE /memory/:id)
  • Service health (GET /memory/health)
  • Reconcile (POST /memory/reconcile)
  • Usage breakdown (GET /memory/usage)

Setting spend limits

Plan credits cap spending each month. Top-ups are optional and bought only when you choose. We recommend:
  • Small teams: buy a top-up only when you need one (Creator and Pro, $10 minimum) from the Dashboard billing page. Automatic top-up with a monthly limit is coming soon.
  • Production deployments: set a cron that pings GET /memory/usage daily and alerts your team when net spend crosses a threshold.
  • Enterprise: contact sales for committed-use pricing with higher rate limits and dedicated support.