Mallard

Pricing

Every tier includes the full scripting engine, with every trigger, function, integration and both editing modes available from the start. Three things scale with the tier, and that's the whole list: how long your scripts may run each hour, how much they can remember, and how many outside APIs they may call. Pick the tier that matches your server's size and activity.

Beta pricing: Mallard's tiers and limits are still new, and I'll be tuning them to fit real server usage as more servers install the bot, so prices and limits shown here are subject to change. Have feedback on the pricing or limits? Join the support server and start a thread. I'm actively looking for it.

Free

$0/mo

For a small friend-group server, and for trying everything out.

  • 30s runtime/hr
  • 0.5 MB storage
  • 10 fetch() calls/hr

Plus

$2.99/mo

For a normal active community. This is the one most servers want.

  • 300s runtime/hr
  • 1 MB storage
  • 50 fetch() calls/hr
Upgrade to Plus

Pro

$5.99/mo

For a large, busy server running a lot of scripts on high message volume.

  • 900s runtime/hr
  • 5 MB storage
  • 100 fetch() calls/hr
Upgrade to Pro

Ultra

$14.99/mo

Twice Pro's headroom, for the biggest servers and the heaviest script sets.

  • 1,800s runtime/hr
  • 10 MB storage
  • 200 fetch() calls/hr
Upgrade to Ultra

Compare every limit

Runtime and fetch are per-guild hourly budgets that reset on a rolling window; hitting one stops a script at that call, keeping whatever it already did rather than rolling it back. Storage is the exception: it doesn't reset, so freeing it means deleting keys.

LimitFreePlusProUltra
Runtime / hour
How long your scripts may spend running each hour, everything combined. Time spent waiting for Discord to answer counts, so this is also what limits how many messages, bans and role changes your scripts can make: there is no separate cap on those.
30s300s900s1,800s
Key-value storage
Persistent storage for your scripts (settings, moderation history, custom data). The one limit here that does not reset every hour, so it is worth pruning keys you no longer need.
0.5 MB1 MB5 MB10 MB
fetch() calls / hour
Outbound HTTP requests your scripts make to other sites and APIs.
1050100200

A few things worth knowing

  • Tiers are per-guild: a server subscribes independently, and its tier applies to everything running in that server.
  • Budgets are live, not a hard wall: ctx.fetchCallsRemaining is exposed to your scripts so a data-dependent loop can size itself instead of guessing.
  • There's no cap on how many times your scripts run, and none on how many Discord actions they take. A script waits while Discord answers, so those calls are already paid for out of the runtime budget above, and charging twice for one thing only ever made the limits harder to reason about.
  • Upgrading and downgrading both take effect immediately, since there's no manual tier override, so your server's tier always matches its active subscription.
  • Both editing modes are on every tier. A block script compiles to ordinary JavaScript and is metered like any other script, so which mode you built it in changes nothing on this page.

Every tier starts on Free, so you can try it before paying anything.

Read the docs
An unhandled error has occurred. Reload 🗙