I think a bonus at the end of the project and perhaps smaller bonuses at major milestones progressing to the finish are reasonable mitigating actions.
However, I think your best mitigation to your threats of project delay and quality is to remove your single point of failure. To have this single point of failure where you rely on the heroic efforts of an individual or a few people is never acceptable and represents an immature project capability.
You have not done your job as PM if you have not set up an environment where everyone, including you, is replaceable. While I will likely get negative points for this, the cold, hard fact of being a manager/leader is that you can replace a person from his job with another as easily as replacing a part on an engine. Your soft skills, of course, will not make the person feel like that, but your hard skills says you can.
Your estimates, processes, and tools should be such that you can enable your capability with average to slightly above average performance by a human, because that is what you will most likely get. If those things require the superior performance of a human as you suggest, than your processes are broken. I'd fix that first before worrying about how to keep this guy on my project, if I were you.