Cascade works by exiling cards from the top of your library until you reveal a nonland card whose mana value is strictly less than the mana value of the spell with cascade (CR 702.84a). A spell with a mana value of 0 satisfies this condition as long as the cascading spell's mana value is at least 1 — which it virtually always is, since cascade appears on spells with real mana costs.
Once you reveal that 0-mana card, you may cast it without paying its mana cost (CR 702.84a). 'Without paying its mana cost' means you pay nothing for it, and since its printed cost is already {0}, you would have paid nothing anyway — but the permission to cast it for free still applies cleanly.
Note that 'mana value' (formerly converted mana cost) of a card in exile is determined from its mana cost printed in the top-right corner, including any {0} cost (CR 202.3). A card like Ornithopter has a mana value of 0 in exile, so it qualifies as a cascade hit against almost any cascade spell.
Example: You cast Bloodbraid Elf (mana value 4) and trigger cascade. You exile cards until you hit Ornithopter (mana value 0). Since 0 < 4, you may cast Ornithopter for free off the cascade trigger. You then put all other exiled cards on the bottom of your library in a random order.
There is one edge case: if the cascading spell itself somehow has mana value 0 (e.g., cast via cost reduction to {0}), cascade still uses its mana value — which could still be 0, meaning no nonland card with mana value less than 0 exists, so you'd exile your entire library without finding a hit. In normal gameplay this situation is extremely rare.
Unofficial fan resource — not affiliated with or endorsed by Wizards of the Coast. Answers are AI-generated estimates grounded in the Comprehensive Rules and are not a substitute for an official judge. Verify anything match-critical.