> ## Documentation Index
> Fetch the complete documentation index at: https://docs.equa.cc/llms.txt
> Use this file to discover all available pages before exploring further.

# Pricing Model

> Three-tier subscription structure, per-holder billing mechanics, credits, promo codes, and feature gating

# Pricing Model

Equa uses a three-tier subscription model with per-holder usage-based pricing. Billing is managed through Chargify with annual billing cadence and daily reconciliation of member count changes.

## Subscription Tiers

|                 | START                                                                                                             | GROWTH                                                                                             | SCALE                                                                                                                              |
| --------------- | ----------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| **Price**       | \$0                                                                                                               | \$7.00 avg/holder/month                                                                            | Contact Us                                                                                                                         |
| **Billing**     | Free                                                                                                              | Billed annually                                                                                    | Custom                                                                                                                             |
| **Target**      | Startups, SPVs, small companies                                                                                   | Full equity management                                                                             | Growth-stage, pre-IPO                                                                                                              |
| **Description** | Free trial with no risk. Perfect for startups, special purpose vehicles, small companies and small organizations. | Full Equity Management capabilities with built in digital transfer-ability and governance add ons. | A complete Equity Management system for issuers and organizations in later stages or preparing for their next growth phase or IPO. |

<Info>
  **Source:** Tier definitions from `equa-web/src/modules/payments/payments-plan.tsx` (lines 5-27). Exact copy of codebase strings.
</Info>

### SCALE Plan Consultation

Organizations interested in the SCALE plan are directed to schedule a consultation with an Equa expert at [drift.me/sten1/meeting](https://drift.me/sten1/meeting).

<Info>
  **Source:** `equa-web/src/modules/payments/pages/select-your-plan-page.tsx` (line 105).
</Info>

## Per-Holder Billing Mechanics

The GROWTH plan uses a **per-holder pricing model** where the subscription cost scales with the number of shareholders/members in the organization's cap table.

### How It Works

```mermaid theme={null}
graph LR
    subgraph billing ["Billing Cycle"]
        Sub["Base Subscription<br/>(Chargify Product)"]
        Component["Member Component<br/>(Usage-Based)"]
        Sub --> Total["Annual Total"]
        Component --> Total
    end

    subgraph autoUpdate ["Auto-Update Triggers"]
        AddHolder["Shareholder Added"]
        RemoveHolder["Shareholder Removed"]
        AddHolder --> Reconcile["Daily Reconciliation"]
        RemoveHolder --> Reconcile
        Reconcile --> Component
    end
```

1. **Base subscription:** A Chargify product defines the base plan
2. **Member component:** A usage-based Chargify component tracks holder count
3. **Quantity = holder count:** The component quantity is set to `getHolderCount(db, organization)` -- the number of shareholders in the organization's cap table
4. **Price tiers:** Pricing varies by holder count range (e.g., 1-10 holders at one rate, 11-50 at another). Tiers are fetched from Chargify and displayed as "Number of Holders" vs "Annual Pricing" in the price breakdown UI
5. **Auto-update:** When shareholders are added or removed, the subscription member count is automatically updated via `updateSubscriptionMemberCount()`

<Info>
  **Source:** Member count update logic in `equa-server/modules/billing/src/writing.ts` (lines 275-294). Price breakdown UI in `equa-web/src/modules/payments/components/price-breakdown.tsx` (lines 79-84). Holder count function: `getHolderCount(db, organization)` at line 187.
</Info>

### Billing Cadence

* **Annual billing:** Subscriptions are billed annually at the date of purchase
* **Auto-renewal:** Subscriptions automatically renew annually; the default payment method is charged automatically
* **Daily reconciliation:** Changes to the organization that affect billing are reconciled daily
* **Immediate charge:** The "Due Today" amount is charged immediately at checkout

<Info>
  **Source:** Billing terms from `equa-web/src/modules/payments/components/cart-summary.tsx` (lines 164-168).
</Info>

### Cancellation

Subscriptions can be cancelled at any time by contacting [support@equa.cc](mailto:support@equa.cc). Cancellation is processed via the Chargify subscription API.

<Info>
  **Source:** Cancel endpoint at `equa-server/modules/billing/src/writing.ts` (lines 226-230). Support link in cart-summary.tsx (line 170).
</Info>

## Feature Gating

Subscription status controls access to premium features. The gating logic is binary: any active subscription unlocks all gated features.

### Gated Features

| Feature                          | Enum Value                      | Requires                              |
| -------------------------------- | ------------------------------- | ------------------------------------- |
| Legends (securities legend text) | `OrganizationFeature.legends`   | Active subscription (GROWTH or SCALE) |
| Transfers (share transfers)      | `OrganizationFeature.transfers` | Active subscription (GROWTH or SCALE) |

### Gating Logic

```
IF ENABLE_ALL_FEATURES env var is set:
    → All features enabled (testing/development override)
ELSE IF organization has active Chargify subscriptions:
    → legends + transfers enabled
ELSE:
    → No premium features (empty array)
```

Organizations on the START plan (no subscription) see an upgrade prompt when attempting to use transfer functionality: *"Upgrade your organization to transfer shares. Transferring shares is a premium feature."*

<Info>
  **Source:** Feature enum: `equa-server/modules/billing/src/responses.ts` (lines 51-58). Gating logic: `equa-server/modules/billing/src/reading.ts` (lines 142-159). Upgrade prompt: `equa-web/src/modules/captable/pages/captable-page.tsx` (lines 126-155).
</Info>

## Equa Cash Credit System

Equa Cash is an internal credit currency that can be applied toward subscription purchases. Credits are earned through the referral program and stored per-organization.

### How Equa Cash Works

1. **Earning:** Credits accumulate in the organization's `Referrals` record (`equaCash` field)
2. **Applying:** During checkout, users enter an Equa Cash amount to deduct from the subscription total
3. **Validation:** The system verifies the requested amount does not exceed the available balance
4. **Settlement:** A Chargify service credit is created for the amount, and the balance is deducted from the organization's referral record
5. **Transaction record:** Each Equa Cash redemption creates a `Transaction` record with `currency: 'equacash'`, `currencyType: CurrencyType.usd`

<Info>
  **Source:** Equa Cash application logic: `equa-server/modules/billing/src/writing.ts` (lines 176-209). Cart UI: `equa-web/src/modules/payments/components/cart-summary.tsx` (lines 113, 142-146).
</Info>

## Promo Codes

Equa supports promotional discount codes validated against the Chargify coupon system.

* **Validation:** Codes are validated via the Chargify coupons API, optionally filtered by product family
* **Discount types:** Percentage-based or fixed-amount discounts
* **Application:** Applied at checkout and deducted from the "Due Today" total
* **Error handling:** Invalid codes return "This promo code is not valid!"

<Info>
  **Source:** Promo validation: `equa-server/modules/billing/src/reading.ts` (lines 161-183). API endpoint: `POST /promo/validate` in `equa-server/modules/api/src/endpoints/billing-endpoints.ts` (line 72).
</Info>

## Payment Methods

| Method       | Support                                           |
| ------------ | ------------------------------------------------- |
| Credit Card  | Full support -- create, edit, delete, set default |
| Bank Account | Supported via Chargify                            |

Payment profiles are managed per entity (organization or user) through the Chargify payment profile API. Multiple profiles can be stored, with one designated as default for auto-renewal charges.

<Info>
  **Source:** Payment type enum: `equa-server/modules/billing/src/types.ts` (line 11): `creditCard`, `bankAccount`. Profile endpoints: `equa-server/modules/api/src/endpoints/billing-endpoints.ts` (lines 85-142).
</Info>

## Add-On Services

The following services are not included in any base subscription tier and are available as separate add-on purchases:

| Service                       | Description                                            |
| ----------------------------- | ------------------------------------------------------ |
| 409A Valuations               | Independent 409A valuation for equity pricing          |
| 409A Materials Refresh        | Updated valuation materials for existing 409A reports  |
| Blockchain & Token Securities | Tokenized security issuance on blockchain              |
| Investor Issuance Portal Page | Dedicated investor-facing portal for security issuance |
| Legal Entity Formation        | Company formation and registration services            |

<Info>
  **Source:** `equa-web/src/modules/payments/components/features-and-additional-services.tsx` (lines 102-107). These entries have no `for` plan array, rendering as "Add On" in the UI.
</Info>

## Billing Infrastructure

| Component               | Provider             | Configuration                                                     |
| ----------------------- | -------------------- | ----------------------------------------------------------------- |
| Subscription management | Chargify             | `CHARGIFY_API_KEY`, `CHARGIFY_SUBDOMAIN` env vars                 |
| Product catalog         | Chargify             | `DEFAULT_PRODUCTS` env var (JSON array of product IDs)            |
| Member component        | Chargify             | `MEMBERS_COMPONENT_NAME` env var (defaults to `'members'`)        |
| Payment processing      | Chargify (gateway)   | Credit card and bank account via Chargify payment profiles        |
| Credit system           | Internal (Equa Cash) | Stored in `Referrals` table, settled via Chargify service credits |

<Info>
  **Source:** Configuration: `equa-server/modules/billing/src/utility.ts` (lines 3-8). Service initialization: `equa-server/modules/api/src/lib/services.ts` (lines 6, 34, 200).
</Info>
