1. Heat the olive oil in a pan over low heat. Stir in the onion and celery, and sauté gently for 5 minutes, until softened and translucent. Stir in the garlic and chile and cook for a further 2 minutes.
2. Add the tomato and half of the cilantro, and increase the heat. Cook, stirring, for 3 minutes, then add the stock. Bring to a boil, then simmer for 5 minutes.
3. Stir the crab, coconut milk and the palm oil (butter) into the pan, and simmer over a very low heat for 5 minutes. The consistency should be thick, but not stew-like, so add some water if needed.
4. Stir in the lime juice and remaining cilantro, then season with salt to taste.
5. Serve with chili oil and lime wedges on the side.