Skip to main content

Pricing

Plans, what each meter counts, included allowances, and on-demand rates.

Easel has two self-serve plans. Hobby is free within its allowances. Pro is $20 per month and includes $20 of usage. The numbers on this page come from the same catalog as the pricing page.

Plans

  • Hobby: free. Allowances are hard limits: when any one runs out, your sites pause until the month resets or you upgrade. Workspace owners get an email as each allowance passes 50%, 75%, and 90%, and again if sites pause.
  • Pro: $20 per month, paid upfront, with $20 of included usage. Allowances are higher for Edge Data Transfer, Edge Requests, and Functions. Usage past an allowance doesn't pause your sites: it's charged at on-demand rates, the plan covers the first $20, and the rest is billed at the end of the month. An optional spend budget alerts you or pauses sites at an amount you choose. See Billing.
  • Enterprise: custom contracts, volume pricing, and platform SLAs. Contact us.

Unused allowances and included usage don't roll over.

Meters

MeterHobbyProOn-demand
Edge Data Transfer100 GB / month1 TB / month$0.10–$0.2300 / GB
Origin Transfer10 GB / month10 GB / month$0.06–$0.4300 / GB
Edge Requests1M / month10M / month$2.00–$3.20 / 1M
Function Duration100 GB-hrs / month1000 GB-hrs / month$0.18 / GB-h
Function Requests100K / month1M / month$0.60 / 1M
Cache Read Units1M / month1M / month$0.40–$0.6400 / 1M
Cache Write Units200K / month200K / month$4.00–$6.40 / 1M
Build Execution100 Standard build min / month100 Standard build min / month$0.0035 / vCPU-min
Rate Limiting1M / month1M / month$0.50–$0.8000 / 1M
WAF Inspected RequestsOn-demandOn-demand$0.80–$1.28 / 1M
WAF Inspected PayloadOn-demandOn-demand$0.20–$0.3200 / GB
Image Transformations5K / month5K / month$0.0500–$0.0812 / 1K
Queue API Operations1M / month1M / month$0.60 / 1M
Workflow Events50K / month50K / month$0.02 / 1K
Workflow Data Written1 GB / month1 GB / month$0.50 / GB
Workflow Data RetainedOn-demandOn-demand$0.50 / GB-month

The On-demand column is a range because rates vary by region. Usage is priced by the edge location that served it, except Origin Transfer from a function, which uses the function's region, and Runtime Cache, which uses the cache's home region. Easel converts regional usage into base-region units before counting it, so work in a higher-priced region uses more of your allowance and costs more past it. Function Requests, Function Duration, Queue API Operations, the Workflow meters and Build Execution cost the same everywhere. See Regional pricing for every region's rates.

MeterOne unitCounts when
Edge Data Transfer1 GB sent from the edge to the clientAny response leaves the edge: static, cached, or from a function
Origin Transfer1 GB fetched from an origin into the edgeThe edge fetches from your function or origin. Bytes sent on to the client are Edge Data Transfer
Edge RequestsOne responseThe edge completes a response
Function Duration1 GB-hour: configured memory × billed durationA function runs, including work after the response. Recorded once per execution
Function RequestsOne request into a functionA page, route handler, server action, or similar reaches a function
Queue API OperationsOne API call, per 4 KiB of each messageA function publishes, receives, acknowledges or extends a message, or a message is delivered to a consumer. A publish with an idempotency key and a delivery to a consumer with maxConcurrency count twice
Workflow EventsOne eventA workflow run or step changes state: created, started, completed, retried, a sleep or hook begins or ends. A step takes three or more
Workflow Data Written1 GB storedA run stores its inputs, outputs, errors, hook payloads and event log, or writes to a stream
Workflow Data Retained1 GB kept for a monthRecorded when a run finishes: what it stored × your plan's retention (Pro: 7 days). Hobby isn't charged
Cache Read Units8 KB read, rounded up per readISR returns data, or Runtime Cache returns a hit. Misses are free
Cache Write Units8 KB written, rounded up per writeISR or Runtime Cache stores data. Deletes, tag expiry, and evictions are free
Build ExecutionOne vCPU-minuteThe build machine is running. Queue time isn't counted
Rate LimitingOne allowed requestA request matches a rate-limit rule and is allowed. Limited (429) requests don't count
WAF Inspected RequestsOne inspected requestA request goes through WAF inspection
WAF Inspected Payload1 GB of request body inspectedWAF inspects a request body. Only the inspected prefix counts, never response bodies
Image TransformationsOne transformationThe optimized image is a cache MISS or STALE. A cache HIT isn't counted

Observability isn't metered today.

Functions

Function Requests count requests into your app, not underlying executions. A function with in-function concurrency can serve overlapping requests in one execution, so request count doesn't map one-to-one to executions or instances. Static and cached responses that never reach a function create no Function Requests, and time spent queued before a cold start isn't Function Duration. See Functions.

Builds

Both plans include 100 build minutes on the Standard (2 vCPU) machine, shown as vCPU-minutes. An Enhanced (4 vCPU) build uses the allowance twice as fast. Easel checks the remaining allowance before starting a Hobby build. On Pro, usage only blocks builds when a spend budget pauses the workspace. See Build configuration.

Image transformations

Rates are quoted per 1,000 transformations. Easel bills no separate image cache reads or writes, and serving an optimized image from cache uses no Cache Read or Write Units. See Image Optimization.

Security

Rate Limiting counts requests a rate limit rule allowed. Request-body WAF inspection isn't available yet, so its meters don't accrue usage today. Other custom firewall rules, IP rules, and attack challenge mode aren't billed through these meters. See Firewall.

How your app affects usage

  • Cache hit rate. A response served from the CDN cache counts Edge Requests and Edge Data Transfer, but no Function Requests, Function Duration, or Origin Transfer. Give immutable assets long-lived cache headers, cache eligible dynamic responses at the CDN, and use Runtime Cache for repeated data or computation.
  • Function duration. You pay for configured memory for as long as a function runs, including work after the response, until it finishes or hits its limit. Keep that work bounded and move long jobs to Queues.
  • Builds. Every build uses minutes, including Preview builds. To skip builds a change doesn't need, use Skip unaffected deployments or an Ignored build step. To stop some branches from building previews, list them under Ignored preview branches in Project settings → Git → Environments.
  • Preview deployments. Previews use the same meters as Production, so high-volume branch workflows add up.

The Usage page shows usage by project, product, and region. See Limits for technical ceilings.