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

# Plans & pricing

> Compare the ModuleX Free, Pro, Max, and Enterprise plans — monthly credits, rate limits, storage, team features, and what each tier costs per month and per year.

export const MediaEmbed = ({id, type = 'screenshot', caption = '', ext, ratio = '16 / 9'}) => {
  const isVideo = type === 'video' || type === 'app_video';
  const resolvedExt = ext || (isVideo ? 'mp4' : type === 'screenshot' ? 'webp' : 'svg');
  const src = 'https://media.modulex.dev/' + id + '.' + resolvedExt;
  const [status, setStatus] = useState('loading');
  const [isDev, setIsDev] = useState(false);
  const [inView, setInView] = useState(false);
  const boxRef = useRef(null);
  useEffect(() => {
    if (typeof window === 'undefined') return;
    const h = window.location.hostname;
    setIsDev(h === 'localhost' || h === '127.0.0.1' || h.endsWith('.mintlify.app'));
  }, []);
  useEffect(() => {
    if (inView) return;
    if (typeof IntersectionObserver === 'undefined') {
      setInView(true);
      return;
    }
    const el = boxRef.current;
    if (!el) return;
    const io = new IntersectionObserver(entries => {
      if (entries.some(e => e.isIntersecting)) {
        setInView(true);
        io.disconnect();
      }
    }, {
      rootMargin: '300px'
    });
    io.observe(el);
    return () => io.disconnect();
  }, [inView]);
  if (status === 'missing') {
    if (!isDev) return null;
    return <div style={{
      display: 'flex',
      flexDirection: 'column',
      justifyContent: 'center',
      gap: '0.4rem',
      padding: '1rem 1.25rem',
      margin: '1.25rem 0',
      width: '100%',
      aspectRatio: ratio,
      boxSizing: 'border-box',
      border: '1px dashed rgba(128,128,128,0.45)',
      borderRadius: '0.75rem',
      background: 'rgba(128,128,128,0.06)',
      color: 'currentColor',
      fontSize: '0.85rem',
      lineHeight: 1.45
    }}>
        <div style={{
      display: 'flex',
      alignItems: 'center',
      gap: '0.5rem',
      opacity: 0.75
    }}>
          <span aria-hidden="true">🎬</span>
          <code style={{
      fontSize: '0.75rem'
    }}>{id}</code>
          <span style={{
      fontSize: '0.65rem',
      textTransform: 'uppercase',
      letterSpacing: '0.04em',
      padding: '0.1rem 0.4rem',
      borderRadius: '0.4rem',
      background: 'rgba(128,128,128,0.18)'
    }}>
            {type}
          </span>
        </div>
        <div style={{
      opacity: 0.9
    }}>{caption || 'Media not uploaded yet.'}</div>
        <div style={{
      fontSize: '0.7rem',
      opacity: 0.5
    }}>
          Upload to R2 as <code>{id}.{resolvedExt}</code> — preview only, hidden in production.
        </div>
      </div>;
  }
  const mediaStyle = {
    display: status === 'loaded' ? 'block' : 'none',
    width: '100%',
    height: 'auto',
    borderRadius: '0.75rem'
  };
  const media = isVideo ? <video src={inView ? src : undefined} autoPlay loop muted playsInline preload="metadata" onLoadedData={() => setStatus('loaded')} onError={() => setStatus('missing')} style={mediaStyle} /> : <img src={inView ? src : undefined} alt={caption} onLoad={() => setStatus('loaded')} onError={() => setStatus('missing')} style={mediaStyle} />;
  return <figure style={{
    margin: '1.25rem 0'
  }}>
      <div ref={boxRef} style={status === 'loaded' ? {
    width: '100%'
  } : {
    width: '100%',
    aspectRatio: ratio,
    borderRadius: '0.75rem',
    background: 'rgba(128,128,128,0.06)'
  }}>
        {media}
      </div>
      {status === 'loaded' && caption ? <figcaption style={{
    marginTop: '0.5rem',
    textAlign: 'center',
    fontSize: '0.85rem',
    opacity: 0.7
  }}>
          {caption}
        </figcaption> : null}
    </figure>;
};

{/* CONSTRAINT §2.5: present BOTH conflicting annual prices ($240/$960 marketed vs $300/$1,200 Stripe SKU); pick NEITHER silently. Credits canonical from subscription_plans.json (Pro 5000 / Max 20000). */}

ModuleX has four plans: **Free**, **Pro**, **Max**, and **Enterprise**. Each plan gives your organization a monthly allowance of [credits](/billing/credits) plus a set of limits and features. You pay only for managed usage — usage that runs on your own provider keys (BYOK) is billed by that provider, not by ModuleX.

This page covers what each plan includes and what it costs. For how credits are spent and what counts as managed usage, see [Credits & metering](/billing/credits).

<MediaEmbed id="MX-MEDIA-1250" type="image" caption={"Plan comparison table rendered as a four-column pricing graphic (Free, Pro, Max, Enterprise)."} />

## Plans at a glance

<CardGroup cols={2}>
  <Card title="Free" icon="circle">
    **\$0 / month** · **300 credits** (one-time trial grant)

    Explore ModuleX with trial credits. Solo workspace, community support, no card required.
  </Card>

  <Card title="Pro" icon="user" href="/billing/credits">
    **\$25 / month** · **5,000 credits / month**

    For individuals building AI workflows. Invite teammates, higher rate limits, more storage.
  </Card>

  <Card title="Max" icon="users">
    **\$100 / month** · **20,000 credits / month**

    For teams scaling automation. Everything in Pro with the highest standard limits and storage.
  </Card>

  <Card title="Enterprise" icon="building" href="/security/enterprise">
    **Custom** · **Custom credits**

    For organizations at scale. SSO, self-hosting, custom limits, and dedicated support.
  </Card>
</CardGroup>

Credit allowances are the same figure everywhere ModuleX states them, and they map directly to dollars: \*\*100 credits = $1.00**, so 1 credit = $0.01. At that rate, Pro's 5,000 credits is worth $50 of managed usage and Max's 20,000 credits is worth $200. The Free plan's 300 credits is a **one-time** grant for trying ModuleX, not a recurring monthly allowance.

## Plan comparison

<Note>
  The credits and limits below come from the ModuleX plan configuration (the live, runtime source). Where the marketing site and the configuration disagree, this page shows both — see [Annual pricing](#annual-pricing-two-figures-to-check-at-checkout) below.
</Note>

| What you get                    | Free                 | Pro                                                                                          | Max                                                                                            | Enterprise |
| ------------------------------- | -------------------- | -------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------- |
| **Monthly price**               | \$0                  | \$25                                                                                         | \$100                                                                                          | Custom     |
| **Annual price**                | —                    | $240/yr or $300/yr — [confirm at checkout](#annual-pricing-two-figures-to-check-at-checkout) | $960/yr or $1,200/yr — [confirm at checkout](#annual-pricing-two-figures-to-check-at-checkout) | Custom     |
| **Credits**                     | 300 (one-time trial) | 5,000 / month                                                                                | 20,000 / month                                                                                 | Custom     |
| **Workflow runs**               | 10 runs / min        | 150 runs / min                                                                               | 500 runs / min                                                                                 | Custom     |
| **API requests**                | 10 / min             | 100 / min                                                                                    | 500 / min                                                                                      | Custom     |
| **Storage**                     | 1 GiB                | 50 GiB                                                                                       | 500 GiB                                                                                        | Custom     |
| **Max file size**               | 10 MiB               | 50 MiB                                                                                       | 100 MiB                                                                                        | Custom     |
| **Knowledge bases**             | 10                   | 3                                                                                            | 50                                                                                             | Unlimited  |
| **Integrations & tools**        | 600+ tools           | 600+ tools                                                                                   | 600+ tools                                                                                     | 600+ tools |
| **AI Composer**                 | Included             | Included                                                                                     | Included                                                                                       | Included   |
| **Bring your own keys (BYOK)**  | Included             | Included                                                                                     | Included                                                                                       | Included   |
| **Team collaboration**          | —                    | Included                                                                                     | Included                                                                                       | Included   |
| **Single sign-on (SSO / SAML)** | —                    | —                                                                                            | —                                                                                              | Included   |
| **Self-hosted deployment**      | —                    | —                                                                                            | —                                                                                              | Included   |
| **Onboarding assistance**       | —                    | —                                                                                            | —                                                                                              | Included   |
| **Support**                     | Community            | Discord                                                                                      | Email + Discord                                                                                | Dedicated  |

<Info>
  A few rows above are worth a closer read:

  * **Knowledge bases on Pro (3) is lower than Free (10).** This reflects the current plan configuration; the limit is the count of separate [knowledge bases](/billing/credits), not the documents or storage inside them (Pro gets far more storage). If you expect to keep many separate knowledge bases, factor this in when choosing a plan.
  * **"Workflow runs" is the synchronous run rate** (runs started per minute). Pro and Max also list higher asynchronous run rates in marketing material, but the asynchronous rate is not currently enforced — plan around the synchronous figures above.
  * **Storage values are binary** (GiB / MiB), so "50 GB" on the marketing site means 50 GiB of storage.
</Info>

## Annual pricing: two figures to check at checkout

<Warning>
  **The monthly price is the same everywhere, but two different annual prices are in circulation. Confirm the exact yearly amount in Stripe checkout before you commit to an annual plan.**
</Warning>

The monthly prices are consistent across ModuleX: Pro is **$25/month** and Max is **$100/month**. Annual pricing is where the two sources of truth currently disagree, and the authoritative annual figure is not yet settled, so both are shown here without picking a winner.

<CardGroup cols={2}>
  <Card title="Marketed annual price" icon="tag">
    The pricing site advertises annual billing at a **20% discount**:

    * **Pro:** $240 / year ($20 / month)
    * **Max:** $960 / year ($80 / month)
  </Card>

  <Card title="Configured annual price" icon="receipt">
    The annual subscription products in billing are **12 × the monthly price** (no discount):

    * **Pro:** \$300 / year
    * **Max:** \$1,200 / year
  </Card>
</CardGroup>

<Note>
  **What this means for you:** the amount you are actually charged is the amount shown on the Stripe checkout page when you select annual billing. **Read that total before confirming.** If it does not match the discounted figure you expected, choose monthly billing or [contact the ModuleX team](/enterprise/contact-sales) before completing the purchase.
</Note>

## Free trial

Pro and Max include a **7-day free trial**. You can start a trial once per organization, and only if neither your organization nor you (as the owner) has subscribed or trialed before. No credit card is required to use the Free plan itself.

<Steps>
  <Step title="Start on Free">
    Create an organization and use your 300 trial credits to explore [workflows](/concepts/workflows-and-runs), the [AI Composer](/concepts/ai-composer), and the [Assistant](/assistant/overview).
  </Step>

  <Step title="Trial Pro or Max">
    When you are ready for more, start a 7-day trial of Pro or Max to unlock higher credit allowances, team collaboration, and bigger rate limits.
  </Step>

  <Step title="Subscribe">
    Keep the plan to continue past the trial. If you do not add a payment method before the trial ends, the trial subscription is cancelled automatically.
  </Step>
</Steps>

For trial eligibility, grace periods, and what happens when a payment fails, see [Trials & dunning](/billing/trials-dunning).

## Choosing a plan

<AccordionGroup>
  <Accordion title="Which plan should I start on?" icon="compass">
    Start on **Free** — it needs no card and includes 300 trial credits. Move to **Pro** when you want to invite teammates and need a recurring monthly credit allowance. Choose **Max** when a team needs the highest standard rate limits and storage. Choose **Enterprise** when you need SSO, self-hosting, or custom limits.
  </Accordion>

  <Accordion title="What happens when I run out of credits?" icon="battery-low">
    On a paid plan, you can turn on overage and spend down a prepaid [wallet](/billing/wallet) once your monthly allowance is used up. Without a wallet balance (or on the Free plan once trial credits are gone), managed usage is blocked until your allowance refreshes or you top up. See [Usage gating & limits](/billing/usage-gating) for how these limits are enforced.
  </Accordion>

  <Accordion title="Do my own API keys count against my credits?" icon="key">
    No. Usage that runs on your own provider keys (BYOK) is billed by that provider directly — ModuleX adds no markup and charges no credits for it. Credits apply only to ModuleX-managed models, tools, and retrieval. See [Credits & metering](/billing/credits).
  </Accordion>

  <Accordion title="Can I switch plans later?" icon="arrows-rotate">
    Yes. You can upgrade or downgrade your plan, and switch between monthly and annual billing. Plan changes are managed through your organization's billing settings; downgrades and cancellations can be scheduled and undone before they take effect. See [Subscriptions & Stripe](/billing/subscription-lifecycle).
  </Accordion>

  <Accordion title="What does Enterprise include?" icon="building">
    Enterprise adds single sign-on (SSO / SAML), self-hosted deployment, custom rate limits and credit allowances, advanced analytics, hands-on onboarding, and dedicated support. Pricing is custom. See [Enterprise](/security/enterprise) or [contact sales](/enterprise/contact-sales).
  </Accordion>
</AccordionGroup>

## Next steps

<CardGroup cols={3}>
  <Card title="Credits & metering" icon="coins" href="/billing/credits">
    Learn what a credit is and exactly what consumes credits.
  </Card>

  <Card title="Usage gating & limits" icon="gauge" href="/billing/usage-gating">
    See how plan limits are enforced and the responses you get when you hit one.
  </Card>

  <Card title="Enterprise" icon="building" href="/security/enterprise">
    SSO, self-hosting, seats, and dedicated support for larger teams.
  </Card>
</CardGroup>
