[ EDGE PROXY ]
Your app already knows what to cache.
Global cache, DDoS filtering and managed DNS across 119 edge locations in 82 countries — driven by the rules your project already declares, whether that is routeRules or the Cache-Control your origin sends.
Whichever tab is yours, the declaration already exists in your project. Edge Proxy is what makes it true at every edge location rather than only at your origin.
119 edge locations in 82 countries we deliver fromCHF 0.02 / GB delivered in Europe and North AmericaCHF 25 / month the Starter plan, CDN and DNS included
A CDN in front of your app is a second place where the truth lives.
The rules deciding what gets cached and what to purge when you ship are already declared by the thing that produces the response. Keep a second copy in a vendor dashboard and the two drift apart. Edge Proxy reads the ones you wrote.
- The deploy does the purging
- The routes whose output changed are invalidated by the pipeline that built them. Nothing waits for someone to remember a dashboard at eleven at night.
- One network for pages, images and APIs
- Edge Proxy, Image Optimizer and the JAMlabs cache sit on the same edge locations. No second CDN contract for images, and no second set of rules to keep in step. Image Optimizer →
- Volumetric traffic stops before your containers
- DDoS filtering runs out on the edge network, in front of the origin. What gets blocked there never reaches an open port of yours, and never shows up in your logs.
- The rules go through a pull request
- Cache policy is reviewed like the rest of the code and rolls back with it. What is running at the edge is whatever the release says is running.
Four things it does.
Caching, filtering, resolving the name, and shipping all of it. Pick one to see what it means and what it costs.
modules: ['@jamflow/labs']On Nuxt, the module that configures the rest of the platform configures the edge too. Every other origin is configured by its own response headers.routeRules or Cache-Control · purge on deploy
Cache
The global cache holds what your origin says it should. On Nuxt the module reads your routeRules; anywhere else the Cache-Control on the response is the rule. Nothing is distributed in advance: an edge location fills its copy on the first request from there.
How JAMlabs declares it →What it costsCHF 0.02 / GBdelivery, in Europe and North America
What the declaration says
One line decides what the edge does.
Nothing here was invented for this product. routeRules is Nuxt's API and Cache-Control is HTTP's, and the edge does what either of them says — so the cache policy of a release is whatever the release says it is.
- prerender: true
- Built once at deploy and served from the global cache. The visitor gets a file read from a machine near them, not a render on a machine near us.
- ssr: true
- Rendered per request. The edge forwards it and stores nothing, which is what you want for anything that knows who is asking.
- cache: false
- Answered with no-store. The rule you reach for on /api/** and on anything user-specific.
- cache-control: public, s-maxage=…
- Any origin. Laravel, WordPress, a Go service and a static bucket all send this header already, and what it calls public and for how long is what the edge holds.
—
Reading how long this page's own files took to reach you.
6 regions run your code · 119 edge locations serve your files
What it costs
Every cache hit is compute you don't pay for.
A request the edge answers never reaches your containers: no render, no RU-hour, no origin traffic — and the visitor gets a file from a machine near them instead of waiting on yours. What stays on the bill is delivery, metered by the visitor's zone.
See the full price list, with three invoices worked line by line →- Delivery — Zone 1, Europe and North America
- CHF 0.02 / GB
- Zone 2 — Asia and Oceania
- CHF 0.05 / GB
- Zone 3 — Latin America
- CHF 0.06 / GB
- Zone 4 — Africa and the Middle East
- CHF 0.08 / GB
- Managed DNS — queries actually resolved
- CHF 1.00 / million
- The CDN, the filtering and the DNS themselves
- in Starter, CHF 25 / month
Where to read more.
Four pages carry the parts this one only names: where the edge locations are, what else rides on them, what the module declares, and what the origin runs on.
- The network, location by location →
- Where the edge locations are, and the six regions that run your code.
- Images on the same edge locations →
- The same delivery network, with the transformation done on the way out.
- The module that declares all of it →
- What else moves into nuxt.config.ts once the module is there.
- The stack the origin lives in →
- The container runtime that answers when the cache doesn't, and what surrounds it.
Questions the page hasn't answered yet.
Ask us something else →Is this just a CDN?
Not exactly. A CDN caches, but it doesn't know what should be cached — you tell it, in a dashboard, again. Edge Proxy takes that from what your project already says about its own routes, purges what a deploy changed, and resolves your domain.
What do I actually have to change?
On Nuxt, you add the module and keep the routeRules you already wrote. On anything else, nothing in the app: you point the domain at the edge, and it follows the Cache-Control your responses already send.
Does it work in front of something that isn't Nuxt?
Yes. The caching, the filtering and the DNS sit in front of any origin that speaks HTTP. What Nuxt adds is that the rules come from your repository rather than from your response headers — the same argument, one layer earlier.
Which plan includes it?
The CDN and managed DNS are in Starter, at CHF 25 a month, alongside hosting and Postgres. Traffic and DNS queries are metered on top of the credits the plan includes.
See what a plan includes →Does caching lower my bill?
Yes. The compute that would have rendered the response is not spent, and neither is the traffic between the CDN and your origin. Delivery to the visitor stays on the bill — that is the line caching lowers rather than removes.
See the price list →Where does the domain get resolved?
By the managed DNS in your plan, metered on the queries actually resolved. DNSSEC is enabled and the keys rotated for you, so you are not holding one anywhere.
How fast is it, really?
We don't publish a latency figure, because the honest one is not ours to publish. The number in the middle of this page was measured by your own browser, on your own connection, a moment ago.
Tell us what's in front of your app today.
Send us the CDN you're on, the traffic it moves and the invoice you pay for it, and we'll price the same delivery against the list on this site. If it comes out worse, we'll say so.
