A static schedule lives in vercel.json and can target a private Vercel Function, an HTTP path or a Vercel Queue topic. Adding a schedule/v1beta trigger makes the function private, with no public URL, so only Vercel's schedule system can call it. Your handler wraps its logic in handleSchedule from @vercel/schedules and gets the schedule name and scheduledAt time.
You can also create schedules at runtime with Schedules.create. Those target a Queue topic and take a cron expression, a timezone and a payload, which suits per-user jobs like a daily digest.
Existing Cron Jobs keep working, and Vercel has a migration guide. Pricing on Pro and Enterprise starts at $5 per 1M runs and $10 per 1M creations. Hobby includes 500 schedule creations and 5,000 runs per month.

