---
sidebar_position: 1
title: Understanding the pricing model
description: Details of MotherDuck's pricing model.
---

import Versions from '@site/src/components/Versions';
import DuckDBDocLink from '@site/src/components/DuckDBDocLink';
import ComputePricingTables from './_compute-pricing-tables.mdx';
import StoragePricingTable from './_storage-pricing-table.mdx';
import SqlAssistantPricingTable from './_sql-assistant-pricing-table.mdx';
import AdvancedAiPricingTables from './_advanced-ai-pricing-tables.mdx';


## MotherDuck pricing model

MotherDuck is a serverless cloud data warehouse. We believe in providing our users with simple pricing.

MotherDuck offers two self-serve [plans](https://motherduck.com/pricing/): Lite and Business.

:::note
MotherDuck is available on AWS in two regions, **US East (N. Virginia)** - `us-east-1` and **Europe (Frankfurt)** - `eu-central-1`. Each MotherDuck Organization is scoped to a single cloud region that must be chosen at Org creation when signing up.
:::

### Plan comparison

| Feature | Lite | Business | Enterprise |
|---------|------|----------|------------|
| **Best for** | Individual users, small projects | Teams and organizations | Bespoke deployments: *[Contact us](https://motherduck.com/contact-us/product-expert/)* |
| **Platform fee** | $0/month | $250/month | *Custom* |
| **Compute included** | Includes 10 CU hours / month + [Pay-as-you-go for additional usage](#compute-pricing) | [Pay-as-you-go for additional usage](#compute-pricing) | *Custom* |
| **[Duckling sizes](https://motherduck.com/docs/about-motherduck/billing/duckling-sizes/)** | Pulse only | Pulse, Standard, Jumbo, Mega, Giga | Pulse, Standard, Jumbo, Mega, Giga |
| **[Read Scaling](https://motherduck.com/docs/key-tasks/authenticating-and-connecting-to-motherduck/read-scaling/)** | - | Yes | Yes |
| **[Storage included](https://motherduck.com/docs/concepts/Storage-lifecycle/)** | Includes 10 GB / month + [Pay-as-you-go for additional usage](#compute-pricing) | [Pay-as-you-go for additional usage](#storage-pricing) | *Custom* |
| **Users** | 3 active users / 2 service accounts | 10 active users / unlimited service accounts | *Custom* |
| **SLA** | - | 99.9% Availability | 99.9% Availability |
| **Backup** | 1 day (paid feature) | - [Point-in-time Restore](https://motherduck.com/docs/concepts/data-recovery/)<br />- up to 90 day backups | *Custom* |
| **Observability** | - | [Query history](/docs/sql-reference/motherduck-sql-reference/md_information_schema/query_history/) | [Query history](/docs/sql-reference/motherduck-sql-reference/md_information_schema/query_history/) |


**Users** are defined as human users with a login through email + password, Google, GitHub, or [SSO](/docs/key-tasks/authenticating-and-connecting-to-motherduck/authenticating-to-motherduck/sso-setup/), while **[Service Accounts](/docs/key-tasks/service-accounts-guide/)** are defined as non-human accounts designed for programmatic access and automation workflows (for example, backend services, integrations, or customer-facing analytics).

### Compute pricing

A **Duckling** in MotherDuck is a compute instance. Each Duckling has a **cooldown period**,
which is the amount of time the Duckling will remain active after completing the last query. This keeps the Duckling
warm for follow-up queries that may benefit from MotherDuck's intelligent storage and caching.
The cooldown period is [configurable](/about-motherduck/billing/duckling-sizes/#configuring-the-cooldown-period) for Standard, Jumbo, Mega, and Giga Ducklings.

MotherDuck meters compute per-second and bills for a 1-minute minimum. While Standard, Jumbo, Mega, and Giga Ducklings
are billed for *wall clock time*, Pulse Ducklings are metered on a per-query basis to support 'bursty' workloads.
As a result, they are on-demand and auto-scaling.

::::note
Because Pulse Ducklings are metered on a *per-query basis, with a minimum of 1 Compute Unit (CU) second* instead of wall-clock time,
they do not have a configurable cooldown.
A **Compute Unit (CU)** is defined as *the amount of CPU and memory usage over time*.
::::

If you want to group query history by integration, pipeline, or tenant, set `custom_user_agent` when connecting to MotherDuck and query [`MD_INFORMATION_SCHEMA.QUERY_HISTORY`](/sql-reference/motherduck-sql-reference/md_information_schema/query_history/). See [Tag workloads with custom user agents](/about-motherduck/billing/tag-workloads-with-custom-user-agents/) for an example pattern. Some teams use that breakdown in internal allocation, but MotherDuck billing still follows the pricing model on this page.

The [`SHUTDOWN` and `SHUTDOWN TERMINATE`](/sql-reference/motherduck-sql-reference/shutdown-terminate/) commands can be used to shut down a Duckling without waiting for the cooldown period. `SHUTDOWN` waits for running queries to complete, and `SHUTDOWN TERMINATE` force-terminates immediately.

#### Duckling sizes

| Duckling | Billing | Default Cooldown | Configurable Cooldown Period | Details |
|----------|---------|------------------|------------------------------|---------|
| [Pulse](/about-motherduck/billing/duckling-sizes/#pulse) | Per CU (resources consumed), not wall-clock time | 1 second | N/A | Small, bursty queries, read-heavy workloads, and frontend scenarios. For compute-heavy queries, consider Standard instead.<br/>**Billing example:** 2s low CPU + 1s cooldown = 3 CU seconds, and 100 small writes × 2 CUs + 1s cooldown = 201 CU seconds. |
| [Standard](/about-motherduck/billing/duckling-sizes/#standard) | Per second | 1 minute | 1 min to 24 hours | General purpose data warehouse workloads.<br/>**Billing example:** 5 queries × 30s + 100ms startup + 60s cooldown = 210 seconds. |
| [Jumbo](/about-motherduck/billing/duckling-sizes/#jumbo) | Per second | 1 minute | 1 min to 24 hours | Large-scale data warehouse workloads.<br/>**Billing example:** 2 queries × 8min + 100ms startup + 60s cooldown = 17 minutes. |
| [Mega](/about-motherduck/billing/duckling-sizes/#mega) | Per second | 5 minutes | 1 min to 24 hours | Demanding jobs and large-scale workloads.<br/>**Billing example:** 2 queries × 8min + few min startup + 5min cooldown = ~21 minutes. |
| [Giga](/about-motherduck/billing/duckling-sizes/#giga) | Per second | 10 minutes | 1 min to 24 hours | Batch jobs and overnight or weekend processing.<br/>**Billing example:** 2 queries × 5min + few min startup + 10min cooldown = ~20 minutes. |

:::warning
For long-running, compute-heavy queries, consider using a Standard or even larger Duckling instead of a Pulse. Pulse Ducklings may consume high volumes of CUs when scaling up for intensive, bursty workloads
:::

:::note
Changing your Duckling size to Pulse, Standard, or Jumbo through the [UI or REST API](../../../sql-reference/rest-api/motherduck-rest-api) may take up to 2 minutes. Switching to a Mega takes up to 5 minutes, while switching to a Giga takes up to 10 minutes.
:::

#### **Compute**

<ComputePricingTables />

### Storage pricing

Under the hood, MotherDuck uses DuckDB's compression algorithms to reduce the storage footprint and optimize performance.
MotherDuck charges for data stored in its managed storage system based on your **average storage usage over the billing period**. Your monthly bill is calculated as the average of your daily storage (in GB) multiplied by the per-GB rate.

For example, if your MotherDuck Organization is in `us-east-1` and your average storage over December is 650 GB, the final bill will be computed as follows:
- 650 GB × $0.04/GB = **$26.00**

#### What counts towards my storage bill?
- **Standard databases:** MotherDuck provides point-in-time restore by retaining historical data as `historical_bytes` for organizations on paid plans.
- **Transient databases:** Databases can be set as `TRANSIENT` [at database creation](/concepts/storage-lifecycle#storage-management). Transient databases are billed for active data stored and a 1-day failsafe minimum. Data is not retained as failsafe bytes beyond this minimum, which is ideal for temporary or reproducible datasets like intermediate job outputs.
- **NOTE:** By default, for both Standard and Transient databases, new databases retain 1 day of historical data on **Lite** (paid) and 7 days of historical data on **Business** - Business plan users are able to configure their `historical_bytes` retention window from 0 to 90 days. Users are billed for active data plus historical, retained, and failsafe bytes. Refer to the [Storage Lifecycle](/concepts/storage-lifecycle) for more details.

#### What does not count towards my storage bill?
- [Shares](/key-tasks/sharing-data) do not incur additional data storage as they are a zero-copy operation.
- Using the [CREATE DATABASE X FROM DATABASE Y](/sql-reference/motherduck-sql-reference/create-database/) command is also a zero-copy operation. Only incremental changes made to the new database are added to storage as `active_bytes`, while active Shares that point to a deleted databases will retain `retained_for_clone_bytes`.
- Any data managed by you in your own object storage bucket, for example S3, Blob, or GCS, that you can use to process data.
- Data on your laptop accessed through the `duckdb -ui`, even when signed into MotherDuck.

#### What changes can I make to optimize my storage bill?

The right approach to optimize storage usage in MotherDuck varies by use case and implementation. Please reach out to us at support@motherduck.com for additional guidance on how to optimize your storage effectively for your needs.

#### **Storage rates**

<StoragePricingTable />

### AI function pricing

MotherDuck enhances your analytical capabilities with integrated AI functions. These functions leverage powerful large language models (LLMs), fine-tuned to assist with SQL tasks and unlock new OLAP use cases.

AI functions are categorized and priced as follows:
-   **SQL Assistant Functions**: metered per call, with some free features.
-   **Advanced AI Functions**: metered per token consumed for both input and output, priced in AI Units (1 AI Unit = $1.00).

### SQL assistant functions
These features, including [FixIt](/docs/getting-started/interfaces/motherduck-quick-tour/#help-me-fix-this-broken-query--fixit) and [Text-to-SQL](/docs/sql-reference/motherduck-sql-reference/ai-functions/sql-assistant/prompt-sql/), help you write, understand, and correct SQL queries.

SQL Assistant features are included with both Lite and Business plans.

<SqlAssistantPricingTable />

### Advanced AI functions
These functions provide access to powerful generative AI models for tasks like embedding generation and complex prompting. They are metered based on token usage, with costs calculated in AI Units (1 AI Unit = $1.00).

:::note
For Lite and Business plans, there is a default soft limit on Advanced AI Function consumption of 10 AI Units per day to help control costs. This limit can be increased or removed by contacting support@motherduck.com.
:::

<AdvancedAiPricingTables />

## Incentive programs:

### Free trial

New users who sign up for MotherDuck and create an organization automatically get access to a 7-day Free Trial without entering a credit card. [Learn how to manage your plan after the trial has ended.](/about-motherduck/billing/managing-billing/#choosing-your-billing-plan)

At any point during your Free Trial, you may choose to set up billing and select a plan. At the end of your trial, you can continue with the Lite plan (no credit card required) or upgrade to Business for additional features. [Learn more about managing your bill](/about-motherduck/billing/managing-billing/#choosing-your-billing-plan).
