In a large pot, heat olive oil and butter over medium-high heat. Add onions; sauté until soft and translucent about 4-5 minutes. Add garlic, ginger, curry, salt, white pepper, and cayenne pepper if using; sauté about 1-2 minutes until fragrant.
Stir in pumpkin and chicken broth; bring to a boil. Reduce heat to low; cook, stirring occasionally for 15 minutes. Stir in coconut milk until melted and well combined.
Remove soup from heat. Using an immersion blender, puree soup in the pot until smooth OR transfer to a traditional blender and puree in batches until smooth and return to the pot.
Ladle warm soup into bowls and garnish with your choice of toppings.