Fast Origin Transfer is data moving between Vercel's CDN and your functions/origin, i.e. responses that aren't served straight from cache. With low traffic, the usual suspects:
- Uncached dynamic pages. If product pages read cookies/headers or use
no-store, every hit goes to a function. Check thex-vercel-cacheheader in DevTools:MISSon every request = problem. Make them static/ISR (export const revalidate = 3600). - Media through a function. Videos or images served via a route handler or proxied from somewhere else go through origin each time. Put videos on object storage (Supabase Storage, R2) or at minimum in
/publicso they're served from the CDN. - Bots. 300 human visitors can hide thousands of crawler hits. Check Observability for top paths and user agents; turn on bot protection in the Firewall.
In the Usage tab, click into Fast Origin Transfer and group by path. Whatever's on top is your fix. Also set Spend Management so it notifies/pauses instead of billing you into surprise.