Vwu Pricing Spec

Ecosistema completo para organización y gestión de contenido con interfaces espaciales

Vitto Work Unit (VWU) Pricing Specification

Status: Draft Author: S202 Engineering Review Date: 2026-03-11 Type: Product Specification (design doc, not implementation)


1. What is a VWU?

A Vitto Work Unit is the outcome-based billing unit for Vitto's AI capabilities. Users pay for successful outcomes, not raw API calls or token consumption. This aligns revenue with user-perceived value and makes costs predictable.

Principle: A VWU is only charged when Vitto delivers a verifiable outcome. Failed tasks, retries, and internal overhead are absorbed by the platform.


2. Actions That Count as VWUs

Action VWU Weight Verification Method
Simple chat Q&A 1 Response generated without error
Chat with tool use (1-2 tools) 2 All tool calls resolved successfully
Complex multi-tool task (3+ tools) 3 Task completed (all tools resolved)
Module generation (per module) 5 Module files committed to GitLab
Full platform generation (5+ modules) 20 All modules committed + app shell generated
Deployment to Cloudflare 3 Deployment URL returns 200
Studio file edit + commit 1 GitLab commit created
Proactive alert sent 0.5 Channel message delivered
Computer use session (per 5-min block) 2 At least one screenshot + action completed
Document/report generation 3 Document content exceeds 500 chars

Not charged:


3. Pricing Tiers

Tier Monthly VWUs Price Cost-per-VWU Ceiling
Free 50 $0 N/A (subsidized for adoption)
Pro 500 $29/mo $0.058
Business 2,000 $99/mo $0.050
Enterprise Custom Custom Negotiated

Overage: Pro/Business users can purchase additional VWU packs:

Free tier purpose: Acquisition funnel. 50 VWUs = ~30 chat messages + 1 module generation. Enough to experience value, not enough to run a business.


4. Cost-per-VWU Target (Internal)

For viable margins, the platform cost per VWU must be below 50% of the charge price.

Tier Charge/VWU Target Cost/VWU Target Margin
Pro $0.058 < $0.029 > 50%
Business $0.050 < $0.025 > 50%
Overage $0.07-0.08 < $0.035 > 50%

Current estimated costs (from Observatory data, S201):

Risk: Module generation and computer use are near break-even at Pro pricing. Mitigation: response caching (S201), scaffold fallback (reduces LLM calls), and model cost decreases over time.


5. Dispute Window

Window: 60 minutes from VWU charge.

If a user triggers an action and immediately undoes it (e.g., deletes a generated module within 60 minutes), the VWU is refunded. This prevents charging for accidental or experimental work.

Implementation notes:


6. Measurement Method

How Vitto detects "successful completion":

Action Success Signal
Chat response.content.length > 0 (non-error response)
Tool call Tool returns result without error
Module generation GitLab commit SHA returned
Deployment Cloudflare deployment ID returned
Computer use At least one action_taken in the session
File edit Commit SHA returned from GitLab
Proactive alert Channel API returns 200/201

Counting rules:

  1. One VWU per outcome, not per API call. If a chat needs 3 retries internally, it's still 1 VWU.
  2. Compound tasks (e.g., "generate 5 modules and deploy") charge for each sub-outcome independently.
  3. Background tasks charge when they complete, not when they start.
  4. Cancelled tasks are not charged (no outcome delivered).

7. Data Model (Schema Sketch)

VwuCharge {
  userId: string
  spaceId: string
  action: string           // 'chat', 'module_generation', 'deployment', etc.
  weight: number           // VWU weight for this action
  status: 'pending' | 'confirmed' | 'refunded'
  chargedAt: Date
  confirmedAt?: Date       // Set after dispute window closes
  refundedAt?: Date
  taskId?: string          // Link to the task that generated this charge
  metadata: {
    actualCostUsd: number  // Internal LLM cost for margin tracking
    model: string
    tokensUsed: number
  }
}

VwuBalance {
  userId: string
  tier: 'free' | 'pro' | 'business' | 'enterprise'
  monthlyAllowance: number
  used: number
  overage: number
  billingCycleStart: Date
  billingCycleEnd: Date
}

8. Open Questions for Product Review

  1. Should free-tier users see VWU counts? Showing "3/50 VWUs used" creates awareness and upgrade pressure, but might feel transactional.

  2. Should module generation charge per-module or per-generation? Per-module (current proposal) is fairer but creates billing complexity for partial failures (3/5 modules succeed).

  3. Should computer use be time-based or action-based? Time-based (current: per 5-min block) is simpler but penalizes slow connections. Action-based is fairer but harder to measure.

  4. Should proactive alerts count as VWUs at all? They're initiated by Vitto, not the user. Charging for them might create negative perception ("Vitto is spending my credits without asking").

  5. Enterprise custom pricing: Should enterprise include unlimited VWUs, or always be metered with volume discounts?


This is a product specification. Implementation requires schema creation, billing integration, and frontend VWU counter. Estimated effort: 2-3 sessions after product approval.