GET /memory/usage.
No minimum commitment, no seat pricing, no overage surprises. You pay only for the operations you run, and when you run out of credits the service returns
402 Insufficient Credits until you top up your wallet.Rates
What these add up to in practice
How the wallet works
Your 60db workspace has its own USD wallet. Every billable operation (Memory, TTS, STT, LLM) deducts from the workspace wallet atomically:- Top up via the Dashboard billing page using Dodo Payments.
- Use the API — every billable request is charged upfront from the workspace wallet.
- 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
*_REFUNDtransaction. - Monitor spend via
GET /billing/usage-logsfor all services, orGET /memory/usagefor 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 Insufficient Credits
When your wallet runs out, all billable memory endpoints return HTTP 402 with a structured error body:
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 the wallet is empty 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 intransaction_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
The pay-as-you-go model means you cap spending by capping your wallet balance. Top up only what you want to risk this period. We recommend:- Small teams: top up 50 at a time via the Dashboard billing page and let the wallet drain naturally.
- Production deployments: set a cron that pings
GET /memory/usagedaily and alerts your team when net spend crosses a threshold. - Enterprise: contact sales for committed-use pricing with higher rate limits and dedicated support.
Related
GET /memory/usage— check your current spend breakdown- Memory feature overview — what you can build with 60db Memory
- Dashboard billing page — top up your workspace wallet