Skip to main content

Pricing model

MotherDuck pricing model​

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

MotherDuck offers two self-serve plans: Lite and Business.

note

MotherDuck is available on AWS in six regions across the US, Europe, and Asia Pacific. Each MotherDuck Organization is scoped to a single cloud region that must be chosen at Org creation when signing up. Compute and storage rates vary by region and are grouped into three pricing tiers. See Cloud regions for the full list.

Plan comparison​

FeatureLiteBusinessEnterprise
Best forIndividual users, small projectsTeams and organizationsBespoke deployments: Contact us
Platform fee$0/month$250/monthCustom
Compute includedIncludes 10 Compute Unit (CU) hours / month + Pay-as-you-go for additional usagePay-as-you-go for additional usageCustom
Duckling sizesPulse onlyPulse, Standard, Jumbo, Mega, GigaPulse, Standard, Jumbo, Mega, Giga
Read Scaling-YesYes
Flight sizesF4 (with limits); F4, F16 (unlimited)F4, F16, F32F4, F16, F32
Flights30 min compute / day, on-demand runs (no credit card required); monthly compute allocation + usage-based pricing with a credit card, plus scheduling and unlimited concurrent runs (1-hour maximum per run)Usage-based pricing includes scheduling and unlimited concurrent runs (8-hour maximum per run)Custom
Storage includedIncludes 10 GB / month + Pay-as-you-go for additional usagePay-as-you-go for additional usageCustom
Users3 active users / 2 service accounts10 active users / unlimited service accountsCustom
SLA-99.9% Availability99.9% Availability
Backup1 day (paid feature)- Point-in-time Restore
- up to 90 day backups
Custom
Observability-Query historyQuery history

Users are defined as human users with a login through email + password, Google, GitHub, or SSO, while Service Accounts are defined as non-human accounts designed for programmatic access and automation workflows (for example, backend services, integrations, or customer-facing analytics).

Flights are available on all plans. Compute limits, scheduling, and per-run caps vary by plan. Lite plan users can access scheduling and unlimited concurrent runs by adding a credit card. See Flights for details.

Compute pricing​

A Duckling in MotherDuck is a compute instance. There are 5 Duckling sizes available on the Business plan: Pulse, Standard, Jumbo, Mega, and Giga.

MotherDuck meters compute per-second. While Standard, Jumbo, Mega, and Giga Ducklings are billed for wall clock time, Pulse Ducklings are metered on a per-query basis to support variable, ad-hoc queries. As a result, they are on-demand and auto-scaling.

Non-Pulse Ducklings have 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 for Standard, Jumbo, Mega, and Giga Ducklings, with a 1-minute minimum.

note

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. See 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 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​

DucklingBillingDefault CooldownConfigurable Cooldown PeriodDetails
PulsePer Compute Unit (CU) (resources consumed), not wall-clock timeN/AN/ASmall, variable queries, read-heavy workloads, and frontend scenarios. For compute-heavy queries, consider Standard instead.
Billing example: 2 queries x 10s = 20 CU seconds.
StandardPer second1 minute1 min to 24 hoursGeneral purpose data warehouse workloads.
Billing example: 5 queries × 30s + 100ms startup + 60s cooldown = 210 seconds.
JumboPer second1 minute1 min to 24 hoursLarge-scale data warehouse workloads.
Billing example: 2 queries × 8min + 100ms startup + 60s cooldown = 17 minutes.
MegaPer second5 minutes1 min to 24 hoursDemanding jobs and large-scale workloads.
Billing example: 2 queries × 8min + few min startup + 5min cooldown = ~21 minutes.
GigaPer second10 minutes1 min to 24 hoursBatch jobs and overnight or weekend processing.
Billing example: 2 queries × 5min + few min startup + 10min cooldown = ~20 minutes.
note

Changing your Duckling size to Pulse, Standard, or Jumbo through the UI or 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​

Compute pricing depends on the cloud region your Organization runs in. Regions are grouped into three pricing tiers:

TierAWS Regions
Tier 1US East (N. Virginia) us-east-1, US West (Oregon) us-west-2
Tier 2Europe (Frankfurt) eu-central-1, Europe (Dublin) eu-west-1
Tier 3Asia Pacific (Tokyo) ap-northeast-1, Asia Pacific (Sydney) ap-southeast-2

Business Plan

TierAWS RegionsPulseStandardJumboMegaGiga
Tier 1US East (N. Virginia) us-east-1, US West (Oregon) us-west-2$0.60 per hour$2.40 per hour$4.80 per hour$12.00 per hour$24.00 per hour
Tier 2Europe (Frankfurt) eu-central-1, Europe (Dublin) eu-west-1$0.73 per hour$2.93 per hour$5.86 per hour$14.65 per hour$29.30 per hour
Tier 3Asia Pacific (Tokyo) ap-northeast-1, Asia Pacific (Sydney) ap-southeast-2$0.77 per hour$3.10 per hour$6.19 per hour$15.48 per hour$30.96 per hour

Lite Plan

TierAWS RegionsPulse
Tier 1US East (N. Virginia) us-east-1, US West (Oregon) us-west-2$0.60 per hour
Tier 2Europe (Frankfurt) eu-central-1, Europe (Dublin) eu-west-1$0.73 per hour
Tier 3Asia Pacific (Tokyo) ap-northeast-1, Asia Pacific (Sydney) ap-southeast-2$0.77 per hour
note

The Lite plan includes 10 CU hours on Pulse per month. Additional usage is billed at the rates above.

Flights pricing​

Flights are billed for the time each run takes, at the hourly rate for the Flight's size. There are 3 Flight sizes: F4, F16, and F32. See Flight sizes for the plans each size is available on and what each size is good for.

Flight pricing depends on the pricing tier of your Organization's cloud region.

TierAWS RegionsF4F16F32
Tier 1US East (N. Virginia) us-east-1, US West (Oregon) us-west-2$0.15 per hour$0.60 per hour$1.20 per hour
Tier 2Europe (Frankfurt) eu-central-1, Europe (Dublin) eu-west-1$0.18 per hour$0.73 per hour$1.46 per hour
Tier 3Asia Pacific (Tokyo) ap-northeast-1, Asia Pacific (Sydney) ap-southeast-2$0.19 per hour$0.77 per hour$1.55 per hour
note

On Lite (unlimited), Flight usage draws from the same monthly compute allocation as Ducklings. Usage beyond the allocation is billed at the rates above. Lite (with limits) includes 30 minutes of Flight compute per day at no charge.

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. 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 for more details.

What does not count towards my storage bill?​

  • Shares do not incur additional data storage as they are a zero-copy operation.
  • Using the CREATE DATABASE X FROM DATABASE Y 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​

Storage pricing depends on the cloud region your Organization runs in, using the same tiers as compute:

TierAWS RegionsCost per GB/month
Tier 1US East (N. Virginia) us-east-1, US West (Oregon) us-west-2$0.04 / GB
Tier 2Europe (Frankfurt) eu-central-1, Europe (Dublin) eu-west-1$0.043 / GB
Tier 3Asia Pacific (Tokyo) ap-northeast-1, Asia Pacific (Sydney) ap-southeast-2$0.044 / GB

Storage is billed based on your average usage over the billing period.

note

Lite plan includes 10 GB of free storage. Additional storage is billed at the rates above.

AI function pricing​

AI functions are billed in AI Units, where 1 AI Unit = $1.00. Usage can consume a fraction of an AI Unit. The billing unit stays the same across models, but the amount of work it buys depends on the function and model.

  • FixIt is free.
  • SQL Assistant functions are billed per call.
  • prompt is billed on input and output tokens at model-specific rates.
  • embedding and prompt_jev are billed on input tokens only.

AI charges are separate from the compute and storage charges for your queries and data.

Advanced AI functions​

Advanced AI functions generate text, create embeddings, or classify data. They are billed on model token usage, rather than a fixed charge per row. Longer inputs, longer responses, and additional calls increase consumption.

note

For Lite and Business plans, the default AI session cap is 10 AI Units per Duckling session. The cap applies to combined usage from Advanced AI functions and helps prevent runaway queries from incurring unexpected costs. In long-running Duckling sessions, AI Unit usage resets after 24 hours. Admins can raise the cap for larger batch workloads on the AI Features page in Settings.

https://app.motherduck.com/settings/ai-features

AI Features settings page showing the AI Units cap and enabled AI feature switches

Embedding models

embedding is billed on input tokens only. Generating the embedding vector doesn't add an output-token charge.

Model makerModel Namemodel valueInput Tokens per AI Unit1
OpenAItext-embedding-3-small'text-embedding-3-small'40,000,000
OpenAItext-embedding-3-large'text-embedding-3-large'6,153,846

Generative prompt models

prompt bills input and output tokens separately at model-specific rates.

Model makerModel Namemodel valueInput Tokens per AI Unit1Cached Input Tokens per AI Unit1Cache-write Input Tokens per AI Unit1Output Tokens per AI Unit1
OpenAIGPT-6 Luna'gpt-6-luna'8,000,00080,000,0006,400,0001,600,000
OpenAIGPT-6 Luna (>272K input)'gpt-6-luna'4,000,00040,000,0003,200,0001,066,667
OpenAIGPT-5'gpt-5'640,0006,400,000640,00080,000
OpenAIGPT-5-mini'gpt-5-mini'3,200,00032,000,0003,200,000400,000
OpenAIGPT-5-nano'gpt-5-nano'16,000,000160,000,00016,000,0002,000,000
OpenAIGPT-4.1'gpt-4.1'400,0001,600,000400,000100,000
OpenAIGPT-4.1-mini'gpt-4.1-mini'2,000,0008,000,0002,000,000500,000
OpenAIGPT-4.1-nano'gpt-4.1-nano'8,000,00032,000,0008,000,0002,000,000
OpenAIGPT-4o'gpt-4o'320,000640,000320,00080,000
OpenAIGPT-4o-mini'gpt-4o-mini'5,333,33310,666,6675,333,3331,333,333

See Calculate token charges for cache usage and the long-context threshold.

'gpt-4o-mini' is the default model for prompt, and 'text-embedding-3-small' is the default for embedding.

Only input and output tokens are billed for AI usage. There is no per-row or per-call charge. The prompt, embedding, and prompt_jev references use these rates to estimate rows per AI Unit for example workloads.

Classification models

Model makerModel NameFunctionInput Tokens per AI Unit1Output Tokens per AI Unit
TypeSafeJevprompt_jev19,047,619Free

Jev powers prompt_jev. Only input tokens are metered, and output tokens are free. Input includes the text and question content sent to the model, so source-text length alone doesn't determine the charge. prompt_jev is available in all regions, and is off by default in eu-central-1 and eu-west-1. Requests from every cloud region are processed by TypeSafe's servers in the United States.

Footnotes​

  1. Token counts are rounded to the nearest whole token. Usage is metered on exact token counts, so a calculation from these rounded values can differ slightly from the billed amount. ↩ ↩2 ↩3 ↩4 ↩5 ↩6

Calculate token charges​

For generative prompts, add the token charges using the rates above:

AI Units =
uncached input tokens / input tokens per AI Unit
+ cached input tokens / cached input tokens per AI Unit
+ cache-write input tokens / cache-write input tokens per AI Unit
+ output tokens / output tokens per AI Unit

Cached input reuses stored prompt tokens, while cache-write input stores tokens for reuse. Apply these rates only when Azure OpenAI reports the corresponding counts. Uncached input is total input minus both counts.

When a GPT-6 Luna request has more than 272,000 total input tokens, including cache usage, all its input and output tokens use the long-context rates. For reasoning models, output-token counts include reasoning tokens.

For example, 250 uncached input tokens and 62.5 output tokens per row with gpt-4o-mini consume 250 / 5,333,333 + 62.5 / 1,333,333 ≈ 0.00009375 AI Units per row. That is about 10,700 rows per AI Unit, or 0.9375 AI Units for 10,000 rows. The fractional output-token count represents an average across rows.

For embeddings and Jev, use only the input term. Character counts don't convert to the same number of tokens for every model or language, so use token usage when estimating costs.

SQL assistant functions​

These features, including FixIt and Text-to-SQL, help you write, understand, and correct SQL queries.

SQL Assistant functions are available on Lite and Business plans. FixIt is free, while the other assistant functions have the per-call charge below.

SQL Assistant functionPriceUnit
FixItFreePer call
SQL Assistant (Text-to-SQL, Explain SQL, and other assistant functions)1 AI Unit160 calls

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.

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.