Billing & Earnings — overview
Billing and earnings overview for Imperal Cloud developers — how you earn revenue building Webbee extensions, set pricing, track payments, and cash out in USD.
This section is for extension developers publishing on the Imperal Marketplace. It covers how users pay, how your extension earns, and how you get paid out.
Not building extensions? This section is for marketplace publishers. If you're a regular Imperal Cloud user looking at your own bill, log into the Panel → Billing tab.
Credits are Imperal's usage currency. In the SDK/API the field is named
tokens— 1 credit = 1 token.
The three things users pay for
Imperal users pay along three independent surfaces:
┌──────────────────────────────────────────────────────────────┐
│ Tier 1: Platform subscription │
│ Flat monthly/annual fee for Panel access. │
│ Charged via Stripe recurring (auto-renew). │
├──────────────────────────────────────────────────────────────┤
│ Tier 2: Credit wallet (pay-as-you-go) │
│ Replenishable credit balance — top up via Stripe one-shot. │
│ Credits get consumed on every action call. │
├──────────────────────────────────────────────────────────────┤
│ Tier 3: Extension rental (planned — not yet enforced) │
│ Optional monthly credit subscription per paid extension. │
└──────────────────────────────────────────────────────────────┘As a developer, you earn from Tier 2 — every time a user invokes one of your extension's @chat.function handlers, credits flow from their wallet, and a percentage accrues to your developer balance. Your developer tier controls the split, app cap, payout access, analytics window, and rate limit:
| Tier | Split (dev / platform) | Max apps | Payout | Analytics window | Rate limit | Annual price |
|---|---|---|---|---|---|---|
explorer (default) | 70 / 30 | 1 | ❌ accrue only | 7 days | 100 req/min | Free |
indie | 80 / 20 | 3 | ✅ | 30 days | 500 req/min | 9,000 credits / year |
studio | 85 / 15 | 10 | ✅ | 90 days | 2,000 req/min | 29,000 credits / year |
partner (admin-promoted) | 95 / 5 | unlimited | ✅ | 365 days | 5,000 req/min | 79,000 credits / year |
Default for new developers is explorer. Tier subscriptions auto-renew once a year; lapse drops you back to explorer (existing earnings stay in your balance). See Developer Tiers for break-even math, upgrade flow, and tier-lock semantics on existing apps.
What your extension can charge for
Every @chat.function in your extension has an action_type (read / write / destructive). When a user invokes it:
- The platform resolves the credit cost from your pricing config.
- Cost =
base_price(from your pricing) +platform_fee(covers the platform's LLM cost; zero for BYOLLM users — see BYOLLM Pricing). - Credits are deducted atomically from the user's wallet.
- The charge is recorded to your developer earnings.
You see the result in Dev Portal → My App → Earnings.
What you DON'T charge for
These flows bypass your earnings — they're either platform-side or run by the platform itself:
- Skeleton refreshes (
@ext.skeletondecorator) — free; the platform runs them in the background, never billed. - Panel renders (
@ext.panelhandlers) — free, also background-driven. - Conversational turns — when a user chats without invoking a tool, the platform charges its own system meter (not your extension). For BYOLLM users this is zero.
- Cancelled / refunded actions — the user is automatically refunded; your earnings row is reversed.
Quick reference
| What | Where to read |
|---|---|
| Set prices for your extension | Pricing Models |
| Tier system + revenue splits (70 → 95%) | Developer Tiers |
| How earnings are tracked + viewed | Revenue & Earnings |
| BYOLLM impact on your revenue | BYOLLM Pricing ← important |
| Request a payout | Payouts |
| Pricing UI walkthrough | Dev Portal Publishing guide |
Lifecycle of pricing edits
App status: draft → pending_review → active
───── ─────────────── ──────
Pricing: editable locked (review) locked (must `Pause` to edit)To change prices on an active app: Pause in Dev Portal → edit → Resubmit for Review → admin re-approves. Prices take effect once approved.
Real-time observability
In Dev Portal → Earnings:
- Total Earned — your developer share summed across all earning events
- Pending Payout — earned minus what's already paid or approved
- Paid Out — your approved and paid payouts
Updates within seconds of each user call (consumer-driven).
Billing guarantees
The platform enforces these guarantees on the billing path, so you can rely on them:
| Guarantee | What it means for you |
|---|---|
| Uniform enforcement | Every billable call charges the user through the same path. You can't accidentally skip billing in a refactor, and pricing changes apply uniformly across single-action, chain, and conversational paths. |
| Durable wallet | Wallet balances are durable by construction — a balance never silently disappears, and your earnings are never lost to a stale-cache glitch. |
| BYOLLM → zero platform fee | When the user runs on their own LLM credentials, the platform_fee component drops to 0 at every charge site (single-action, chain, conversational). Your base_price is unchanged. See BYOLLM Pricing for the full impact on earnings. |
| No fabricated cost claims | The assistant never tells the user a cost figure that isn't backed by an actual charge. Your pricing config is the only source of truth for what's shown. |
See BYOLLM Pricing for the developer-facing impact of the BYOLLM guarantee.
Build a complete extension
Build a complete Webbee extension step by step — chat handlers, panels, skeletons, scheduled jobs, tests, and publishing. About 30 minutes end to end.
Becoming a Developer
Become an Imperal Cloud developer on the first ICNLI AI Cloud OS — a tier subscription unlocks Marketplace publishing for your extensions and USD payouts.