Heat the olive oil in a large non-stick skillet over medium-high heat. Add the onion and saute until golden, about 2-3 minutes.
Stir in the curry powder, garam masala, garlic, and ginger. Stir fry for 1 minute.
Add the butter beans, diced tomatoes, and coconut milk. Bring to a simmer and cook for 8-10 minutes.
If desired, garnish the curry with a few tablespoons of plain vegan yogurt, pickled red onions, and sprinkle with cilantro, black sesame seeds, and sliced red chili pepper.
Serve over rice or with naan bread for dipping.