Use new provider

We use a status parameter to detect an error. I think that a waterfall is a bad idea here because we must send a custom error.