Heat butter in a Dutch oven over medium heat.
Stir in curry and garam masala; stir and cook until fragrant, about 2 minutes.
Add chicken; stir to coat in spices and butter.
Add onion, garlic, and ginger to skillet.
Cook, stirring occasionally, until chicken is slightly browned, about 5 minutes.
Stir in tomato paste until combined.
Stir in tomatoes and cream until combined.
Reduce heat to medium-low; simmer, stirring occasionally, 10 minutes.
Remove from heat; stir in lime juice.
To serve, spoon chicken mixture over rice; top with cashews and coconut flakes, if desired.
Serve with lime wedges.