Wallet & pay-as-you-go
Every organization has a wallet in Toman and pays per unit of what it actually uses. There are no plans, seats or tiers.
Price list
Rates per unit:
| Service | Unit | Rate (Toman) |
|---|---|---|
| Error / Log | per event or log record | 10 |
| Tracing | per span | 0.1 |
| Session Replay | per recorded session | 150 |
| Cron Monitoring | per check-in | 1 |
| Uptime Monitoring | per check | 1 |
| Profiling | per profile | 20 |
| Metrics | per metric bucket | 0.5 |
| AI Fix | per auto-fix run | 20,000 |
Live list: GET /api/v1/pricing. The pricing page's sliders let you estimate a monthly bill
from your expected volumes.
Signup credit and the credit line
- New organizations start with 100,000 Toman of credit.
- Services keep running below zero down to a credit line, so a traffic spike never silences your monitoring in the middle of an incident.
- Past that line, ingestion is paused: the endpoint refuses new data until the wallet is topped up. Nothing already stored is deleted.
How metering works
Usage is counted as data arrives and the wallet is debited a few seconds later, in the background. That is why the balance moves in small steps rather than with every single event — and why metering never slows down or rejects what your app is sending.
The usage page
Usage shows:
- Current balance and whether the organization is suspended
- Cost and units per service for the period
- Daily and monthly breakdowns
- The wallet ledger (every debit and credit) and payment history
GET /api/v1/pricing
GET /api/v1/organizations/{org_id}/usage
GET /api/v1/organizations/{org_id}/wallet
GET /api/v1/organizations/{org_id}/wallet/transactions
Reading billing requires the org:billing capability. The balance is also available to
AI agents over MCP via get_wallet_balance.
Balance alerts
Set a threshold and a channel, and wallet.balance_low fires when the balance crosses it —
email, SMS, Mattermost, Telegram, Bale or a webhook.
GET/POST/PATCH/DELETE /api/v1/organizations/{org_id}/balance-alerts
Set at least one. Running out of credit stops ingestion, and the first symptom is usually "why is the dashboard quiet?".
Controlling spend
- Sample traces and profiles — they are the highest-volume services.
- Lower
replaysSessionSampleRate— replays are the most expensive unit. - Watch tag cardinality on metrics — every tag combination is its own bucket.
- Use the project sample rate for a firehose you can't fix at the source.
- Prefer
issue.createdoverevent.receivedfor alerts — not a billing item, but it is the same instinct.
Troubleshooting
| Symptom | Cause / fix |
|---|---|
| Ingestion stopped | Balance is past the credit line — top up |
| Balance moves in bursts | Settlement runs on an interval, not per event |
| Usage looks higher than expected | Check which service dominates on the usage page — usually tracing spans or replays |
| Numbers differ from your own counters | Errora meters what arrives, after SDK sampling and before the project sample rate |