Clay charges credits for each provider hit in your waterfall, even when they don't return results. So if Hunter finds nothing, you still get charged for that Hunter lookup before it moves to Prospeo.
This is different from how some people expect waterfalls to work. You're paying for the attempt, not just successful finds. Clay's credit system is provider-agnostic — each API call consumes credits regardless of the outcome.
A few things to check in your setup:
Your waterfall logic might be misconfigured. Make sure you're using "if empty" conditions between providers, not "if error." If you use "if error," Clay will charge for all providers even when earlier ones succeed.
Also verify your column mapping. If Clay can't properly read the results from Hunter (maybe due to field mapping issues), it might think Hunter returned empty and continue down the waterfall, burning credits at each step.
The credit consumption you're seeing could also include validation hits if you have email verification enabled. Prospeo charges separately for enrichment vs verification, and if Clay is auto-validating found emails, that's additional credit usage.
Check your Clay run logs to see exactly which providers returned what. You should see the specific API responses and credit deductions. Most people find they're getting charged appropriately once they dig into the actual provider responses — it's just not obvious from the surface level results.