Marvia-16
One financial engine. Many monetization models.
Every paid action in the ecosystem — an extension run, a connector sync, an AI call, a marketplace purchase — is priced, reserved, metered and settled by this one platform.
Credit-first
Credits are the universal currency; every paid action is priced in credits before it runs.
Workspace-scoped
Every wallet, ledger row, invoice and subscription belongs to exactly one workspace.
Usage-based
A workspace pays for consumed resources, metered at the point of execution.
Provider-agnostic
Payment providers live behind adapters; no provider name appears outside its adapter.
Marketplace-ready
Revenue sharing, platform fees and creator earnings are part of the engine, not an add-on.
Extension-friendly
Extensions and connectors declare costs; the platform performs every charge.
Transparent
Every credit movement is traceable to an actor, a reason and a source record.
Immutable
Financial records are append-only; a correction is a new entry, never an edit.
Wallet engine
One wallet per workspace, derived from the ledger
Balance is never written directly. Reservations hold credits for pending work without spending them.
Wallet structure
- balance
- Credits available to spend right now.
- reserved
- Credits locked against pending operations.
- pending
- Credits awaiting payment confirmation.
- bonus
- Promotional credits, spent before purchased credits.
- lifetimeUsage
- Historical consumption, never decremented.
- planId
- The active subscription plan.
- limits
- Daily and monthly caps with soft-limit and grace policy.
- status
- active, suspended, overlimit or closed.
Status
- — A workspace has exactly one wallet, created with the workspace itself.
- — Balance is derived from the ledger; it is never written directly.
- — A reservation reduces spendable credits without touching the balance.
- — An overlimit wallet blocks new paid actions but never deletes credits.
Credit ledger
Seven sources, seven operations, append-only
Expiring credits are spent first so nothing is wasted, and every movement is hash-chained to the previous entry.
Credit sources
- purchasednever expires
- Credit pack or invoice payment.
- bonusexpires
- Promotion, coupon or goodwill grant.
- subscriptionexpires
- Monthly or yearly plan allowance.
- marketplace-rewardnever expires
- Creator reward or referral payout in credits.
- developerexpires
- Grant for extension and connector development.
- trialexpires
- Trial allowance for a new workspace.
- enterprisenever expires
- Negotiated allocation under a custom contract.
Spend priority
Operations
Ledger entry
{
"id": "led_01J9M",
"workspace_id": "wsp_2f18",
"operation": "credit-out",
"source": "subscription",
"amount": -42,
"reason": "SEO audit extension run",
"actor_id": "usr_9c31",
"reference_type": "usage",
"reference_id": "use_7ab2",
"at": "2026-08-05T02:00:00.000Z",
"previous_hash": "b71f…02ad",
"hash": "e4c8…7719"
}- — Entries are append-only, hash-chained and workspace-scoped.
- — Every entry carries an actor, a reason and a source reference.
- — A reservation is released or committed; it never lingers past its deadline.
- — Expired credits leave an expiration entry, not a silent balance change.
Usage metering
Estimate, reserve, execute, settle
No paid operation runs without a reservation, and a failure always returns the credits.
01
Estimate
The caller declares an estimated cost before execution.
02
Reserve
The platform reserves the estimate against the wallet.
03
Execute
The operation runs; the platform measures actual consumption.
04
Meter
A usage record is written with context and timestamps.
05
Settle
Actual cost is committed; the difference is released back.
06
Report
Usage rolls up per feature, extension, connector and provider.
- — No paid operation executes without a reservation.
- — Actual cost always settles against the reservation, even on failure.
- — A failed execution refunds the reserved credits automatically.
- — Usage records are immutable and joined to a ledger entry.
Pricing and subscriptions
Plans are data; features read flags, never plan names
Credit and seat pricing combine on the same plan, and a state machine governs every lifecycle change.
Free
free200 credits · 1 seats · monthly
Starter
$192,000 credits · 3 seats · monthly
Pro
$7910,000 credits · 10 seats · monthly
Business
$24940,000 credits · 25 seats · monthly
Enterprise
custom200,000 credits · 100 seats · custom
Custom
custom0 credits · 0 seats · custom
Subscription states
- — A workspace holds at most one active subscription.
- — Every state change writes a ledger reference and an audit record.
- — A failed renewal moves to past-due and enters the grace period, never straight to cancelled.
- — Subscription credits are granted on renewal and expire at the end of the next cycle.
Lifecycle actions
- upgrade
- Applies immediately; credits are prorated and granted at once.
- downgrade
- Applies at renewal; existing credits stay until they expire.
- pause
- Suspends renewal and credit grants; the wallet keeps its balance.
- resume
- Restarts the billing cycle from the resume date.
- cancel
- Runs to the end of the paid period, then expires.
- renew
- Charges the provider and grants the plan's credit allowance.
Billing and payments
Provider-agnostic by contract
Invoices, tax and discounts live in the billing engine; every provider implements the same adapter.
paddle
availablecheckout · webhook
duitku
availablebank-transfer · webhook
telegram-manual
availablemanual · manual verification
stripe
plannedcheckout · webhook
paypal
plannedcheckout · webhook
xendit
plannedbank-transfer · webhook
midtrans
plannedbank-transfer · webhook
Payment states
- — Every provider implements the same adapter contract; the billing engine calls only that contract.
- — Webhook signatures are verified before any state change.
- — Manual providers require an operator verification step recorded in the audit log.
- — A provider outage queues the payment for retry; it never loses the invoice.
Billing rules
- — An invoice is issued before a charge and receipted after it.
- — Tax is computed from declared rules, never hard-coded per provider.
- — A paid invoice is immutable; a correction is a credit note.
- — Payment status is reconciled from the provider, not assumed from the redirect.
Revenue and marketplace
Every sale splits into platform fee and creator net
Commission tiers reward verified and partner creators; a refund reverses both sides together.
Revenue streams
Commission tiers
- standard · 30%
- Default rate for every marketplace listing.
- verified · 20%
- Creator passed verification and quality review.
- partner · 15%
- Partner agreement with sustained revenue.
Rules
- — Every sale writes gross, platform fee and creator net in the same entry.
- — Creator earnings accrue immediately and become eligible after the refund window.
- — A refund reverses the creator earning and the platform fee together.
- — Payout processing is a future provider adapter; the ledger is ready for it today.
Operational engines
Coupons, refunds and packages
Discounting, reversal and bundling are engines with declared policies, not per-feature code.
Coupons
- — A coupon is validated server-side at checkout, never trusted from the client.
- — Redemptions are counted atomically; an exhausted coupon fails closed.
- — Credit-bonus coupons grant bonus credits through the ledger, not the wallet.
- — Workspace targeting restricts a coupon to named workspaces only.
Refund policy
- failed-execution · automatic
- Immediate — reserved credits are released on failure.
- duplicate-charge · automatic
- Detected during reconciliation, within 24 hours.
- customer-request · manual
- 14 days from payment, approved by a billing admin.
- marketplace-dispute · manual
- 30 days; reverses creator earning and platform fee.
- goodwill · manual
- Any time, super admin only, always audited.
- provider-error · automatic
- On webhook reconciliation mismatch.
Packages
- 1,000 credits
- $10
- 5,000 credits
- $45
- 20,000 credits
- $160
- SEO extension pack
- $49
- Knowledge pack
- $29
- Academy bundle
- $99
- Agency bundle
- $399
- Enterprise bundle
- custom
Integration
Declare the cost, the platform performs the charge
Extensions, connectors and AI providers publish their pricing; an undeclared cost cannot run.
Extensions
- — Estimated and actual credit cost
- — Billing category
- — Premium features
- — Marketplace price
Connectors
- — Sync and refresh cost
- — Premium sync option
- — Quota limits
AI providers
- — Token to credit estimation
- — Workspace budget enforcement
- — Cost prediction (future)
- — An undeclared cost means the operation cannot run.
- — Declared estimates are enforced as reservations before execution.
- — A connector exceeding its quota is throttled, not silently billed.
- — AI calls are budget-checked per workspace before the provider is called.
Permissions and SDK
Seven billing permissions and a ten-function SDK
The SDK is the only monetization surface an extension may call; no function touches a balance directly.
Permissions
- wallet.read
- View balance, reservations, limits and transaction history.
- wallet.write
- Adjust balances and limits; restricted to platform billing roles.
- credits.consume
- Reserve and spend credits by running paid operations.
- billing.manage
- Manage invoices, tax settings, coupons and refunds.
- payments.manage
- Configure providers, verify manual payments, retry failures.
- subscriptions.manage
- Change plan, seats, pause, resume or cancel.
- marketplace.payout
- Review creator earnings and approve payouts.
SDK surface
- (workspaceId) => Wallet
- Read the workspace wallet, including reservations and limits.
- (operation, units) => CostEstimate
- Price an operation before offering it to the user.
- (workspaceId, estimate) => Reservation
- Lock credits before a paid operation runs.
- (reservationId, actualCredits) => UsageRecord
- Commit the actual cost and release the difference.
- (reservationId, reason) => void
- Refund a reservation when execution fails.
- (workspaceId, feature) => boolean
- Check a plan feature flag without knowing the plan.
- (workspaceId) => Invoice[]
- Read billing history for the workspace surface.
- (packageId, provider) => PaymentIntent
- Open a provider-agnostic checkout for a package or plan.
- (workspaceId, code) => Discount
- Validate and apply a coupon server-side.
- (listingId, grossCents) => RevenueEntry
- Split a marketplace sale into platform fee and creator net.
Surfaces
Workspace billing dashboard and platform billing console
Both are widget-driven; a widget the operator may not read is absent, not empty.
Workspace dashboard
- Wallet balance
- metric · wallet.read
- Current plan
- metric · wallet.read
- Credit trend
- chart · wallet.read
- Recent usage
- table · wallet.read
- Renewal date
- metric · subscriptions.manage
- Buy credits
- action · billing.manage
- Transaction history
- table · wallet.read
Platform console
- Plan management
- table · platform.billing.manage
- Credit packages
- table · platform.billing.manage
- Transactions
- table · platform.billing.read
- Payment tracking
- table · platform.payments.manage
- Revenue analytics
- chart · platform.revenue.read
- Creator earnings
- table · platform.payout.manage
- Coupon administration
- table · platform.billing.manage
- Manual adjustment
- action · platform.credits.adjust
Standards
Coding, performance and implementation notes
The contract that keeps a second billing path from ever appearing.
Coding standards
- — One wallet engine, one ledger, one billing engine, one pricing engine.
- — No duplicated payment logic in features, extensions or connectors.
- — No direct credit manipulation — only ledger operations.
- — Financial records are immutable and strongly typed.
Performance
- — Billing pages load lazily; the wallet summary is cached per workspace.
- — Reconciliation runs in the background, never in the request path.
- — Payments are queued and retried with exponential backoff.
- — Manual verification workflows exist for providers without callbacks.
Implementation notes
- — All financial actions flow through the monetization platform.
- — No feature implements its own billing logic.
- — Every paid action declares its credit cost up front.
- — Credits are deducted exclusively by the platform.
- — Full auditability for every financial transaction.
- — Provider abstraction prevents vendor lock-in.
- — Workspace-scoped data guarantees financial isolation.